NS/main/source/mod/AvHNexusTunnelToClient.cpp~
2014-12-16 14:36:27 +01:00

62 lines
No EOL
1.9 KiB
C++

#if 0
#include <mod/NexusServerInterface.h>// Does not exist
#include "AvHNexusServer.h"
#include "AvHNexusTunnelToClient.h"
#include "dlls/extdll.h"
#include "dlls/util.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AvHNexus::TunnelToClient::TunnelToClient(void) {}
AvHNexus::TunnelToClient::~TunnelToClient(void) {}
Nexus::TunnelToClient* AvHNexus::TunnelToClient::clone(void) const { return new TunnelToClient(); }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AvHNexus::TunnelToClient* AvHNexus::TunnelToClient::getInstance(void)
{
static std::auto_ptr<AvHNexus::TunnelToClient> ptr(new AvHNexus::TunnelToClient());
return ptr.get();
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
bool AvHNexus::TunnelToClient::insertMessage(const Nexus::ClientID local_id, const byte_string& message)
{
std::pair<const Nexus::ClientID,const byte_string> item(local_id,message);
messages.push_back(item);
return true;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
const Nexus::ClientID AvHNexus::TunnelToClient::poll(void) const
{
Nexus::ClientID result = 0;
if( !messages.empty() )
{ result = messages.front().first; }
return result;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool AvHNexus::TunnelToClient::recv(const Nexus::ClientID local_id, byte_string& data)
{
std::pair<const Nexus::ClientID,const byte_string> item = messages.front();
if( item.first != local_id )
{ return false; }
data.assign(item.second);
messages.pop_front();
return true;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool AvHNexus::TunnelToClient::send(const Nexus::ClientID local_id, const byte_string& data)
{
return AvHNexus::send( VARS(local_id), data.c_str(), data.length() );
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
#endif