EUDAQ
 All Classes Namespaces Files Functions Variables Pages
Public Member Functions | Static Public Attributes | List of all members
eudaq::TCPServer Class Reference
Inheritance diagram for eudaq::TCPServer:
eudaq::TransportServer eudaq::TransportBase

Public Member Functions

 TCPServer (const std::string &param)
 
virtual void Close (const ConnectionInfo &id)
 
virtual void SendPacket (const unsigned char *data, size_t len, const ConnectionInfo &id=ConnectionInfo::ALL, bool duringconnect=false)
 
virtual void ProcessEvents (int timeout)
 
virtual std::string ConnectionString () const
 
- Public Member Functions inherited from eudaq::TransportServer
size_t NumConnections () const
 
const ConnectionInfoGetConnection (size_t i) const
 
- Public Member Functions inherited from eudaq::TransportBase
void SendPacket (const std::string &data, const ConnectionInfo &inf=ConnectionInfo::ALL, bool duringconnect=false)
 
void SendPacket (const char *str, const ConnectionInfo &inf=ConnectionInfo::ALL, bool duringconnect=false)
 
void SendPacket (const BufferSerializer &t, const ConnectionInfo &inf=ConnectionInfo::ALL, bool duringconnect=false)
 
void Process (int timeout=-1)
 
bool ReceivePacket (std::string *packet, int timeout=-1, const ConnectionInfo &=ConnectionInfo::ALL)
 
bool SendReceivePacket (const std::string &sendpacket, std::string *recpacket, const ConnectionInfo &connection, int timeout=-1)
 
template<typename T >
SendReceivePacket (const std::string &packet, const ConnectionInfo &connection, int timeout=-1)
 
void SetCallback (const TransportCallback &)
 
virtual bool IsNull () const
 

Static Public Attributes

static const std::string name = "tcp"
 

Additional Inherited Members

- Protected Attributes inherited from eudaq::TransportServer
std::vector< std::shared_ptr
< ConnectionInfo > > 
m_conn
 
- Protected Attributes inherited from eudaq::TransportBase
std::queue< TransportEventm_events
 A buffer to queue up events until they are handled.
 
TransportCallback m_callback
 The callback function to invoke on a transport event.
 
Mutex m_mutex
 

Member Function Documentation

void eudaq::TCPServer::Close ( const ConnectionInfo )
virtual

Pure virtual function to close a connection. This function should be implemented by the concrete Transport class to close the connection to the specified remote Transport instance.

Reimplemented from eudaq::TransportBase.

void eudaq::TCPServer::ProcessEvents ( int  timeout)
virtual

Pure virtual function to receive data. This function must be implemented by the concrete Transport class to receive all pending data from the remote Transport instance, and fill the queue of events so that they may be handled.

Implements eudaq::TransportBase.

void eudaq::TCPServer::SendPacket ( const unsigned char *  data,
size_t  len,
const ConnectionInfo = ConnectionInfo::ALL,
bool  duringconnect = false 
)
virtual

Pure virtual function to send a packet of data. This function must be implemented by the concrete Transport class to send a packet of data to the remote Transport instance.

Implements eudaq::TransportBase.


The documentation for this class was generated from the following files: