IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SvrCollPeersCB Class Reference

class SvrCollPeersCB More...

Inheritance diagram for SvrCollPeersCB:
ipsdk::tcpip::CollPeersCB

Public Member Functions

virtual ~SvrCollPeersCB ()
 destructor
 
void join ()
 waits for the opened acceptors and servers to be closed
 
- Public Member Functions inherited from ipsdk::tcpip::CollPeersCB
 CollPeersCB ()
 
virtual ~CollPeersCB ()
 

Static Public Member Functions

static boost::shared_ptr< SvrCollPeersCBcreate (unsigned short nPortNumber)
 creates a new instance of boost::shared_ptr<SvrCollPeersCB> More...
 

Protected Member Functions

 SvrCollPeersCB (unsigned short nPortNumber)
 constructor More...
 
void setCollPeers (boost::shared_ptr< CollPeers > pCollPeers)
 attaches a CollPeers object, and creates an acceptor on listen port passed as argument of the constructor. CB method of the class will be called when events associated to this CollPeers object will occur
 
void deliver (const Guid &rcvSocketGuid, const SerializationObjectPtr &pObj, const DlvCbFun &f=0)
 delivers the object 'pObj' to the server, through the writeSocket if current socketsMode equals "OneSocketForReadOneSocketForWrite", or through the socket passed as argument otherwise
 
virtual void onListenFailed (ipsdk::ipUInt16 acceptorId, const boost::system::error_code &ec)
 overload of the callback method onListenFailed
 
virtual void onConnectionFailed (const Guid &peerId, const EndPoint &remoteEndPoint, const boost::system::error_code &ec)
 overload of the callback method onConnectionFailed
 
virtual void onDeliveryFailed (const Guid &peerId, ipUInt64 nDeliveryId)
 overload of the callback method onDeliveryFailed
 
virtual void onRead (const tcpip::SocketDesc &socketDesc, const SerializationObjectPtr pObj)
 overload of the callback method onRead More...
 
void initBuffers ()
 initializes the available buffers, from the current serverCfg More...
 
BufferPtr popQueueBuffers ()
 pops a buffer from the queue of available buffers, and returns this popped buffer
 
- Protected Member Functions inherited from ipsdk::tcpip::CollPeersCB
virtual void onConnected (const SocketDesc &socketDesc)
 method called each time a new incoming connection is accepted, or a an outcoming connection is established More...
 
virtual void onDelivered (const SocketDesc &socketDesc, ipUInt64 nDeliveryId)
 method called each time a delivery request succeeds More...
 
virtual void onConnectionLost (const SocketDesc &socketDesc, const boost::system::error_code &ec)
 method called each time an active connection is broken More...
 
virtual void onConnectionClosed (const Guid &peerId, bool bOnUserRequest)
 method called when a connection is closed (follows a server connection break, or a user close request) More...
 

Protected Attributes

boost::shared_ptr< CollPeers > _pCollPeers
 CollPeers object used to communicate with clients.
 
ServerCfg _serverCfg
 Server configuration.
 
unsigned short _nPortNumber
 listening TCP/IP port
 
Guid _readSocketGuid
 
Guid _writeSocketGuid
 
std::map< Guid, eSocketUsage > _sockets
 
std::queue< BufferPtr > _qBuffers
 

Detailed Description

class SvrCollPeersCB

Constructor & Destructor Documentation

◆ SvrCollPeersCB()

SvrCollPeersCB::SvrCollPeersCB ( unsigned short  nPortNumber)
inlineprotected

constructor

Note
the constructor of this class has been made protected, to prevent the user from creating a SvrCollPeersCB from the stack, because it inherits from enable_shared_from_this<>. Please use create static method to create a new SvrCollPeersCB object
Parameters
nPortNumberlistening TCP/IP port

Member Function Documentation

◆ create()

static boost::shared_ptr<SvrCollPeersCB> SvrCollPeersCB::create ( unsigned short  nPortNumber)
inlinestatic

creates a new instance of boost::shared_ptr<SvrCollPeersCB>

Note
the constructor of this class has been made protected, to prevent the user from creating a SvrCollPeersCB from the stack, because it inherits from enable_shared_from_this<>. Please use create static method to create a new SvrCollPeersCB object
Parameters
nPortNumberlistening TCP/IP port

◆ onRead()

virtual void SvrCollPeersCB::onRead ( const tcpip::SocketDesc socketDesc,
const SerializationObjectPtr  pObj 
)
inlineprotectedvirtual

overload of the callback method onRead

we deliver to this client the requested buffer (empty if there is no more available buffer

Reimplemented from ipsdk::tcpip::CollPeersCB.

◆ initBuffers()

void SvrCollPeersCB::initBuffers ( )
inlineprotected

initializes the available buffers, from the current serverCfg

Note
to reduce used memory, the allocated bytes are shared between all the available buffers

Member Data Documentation

◆ _readSocketGuid

Guid SvrCollPeersCB::_readSocketGuid
protected

GUID of read socket (used in "oneSocketForReadOneSocketForWrite" SocketsMode only

◆ _writeSocketGuid

Guid SvrCollPeersCB::_writeSocketGuid
protected

GUID of write socket (used in "oneSocketForReadOneSocketForWrite" SocketsMode only

◆ _sockets

std::map<Guid, eSocketUsage> SvrCollPeersCB::_sockets
protected

map of identifiers of used sockets, and their associated usage (read, write or readWrite)

◆ _qBuffers

std::queue<BufferPtr> SvrCollPeersCB::_qBuffers
protected

queue of available buffers, that will be provided to the clients each time they will request one


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