xc
Public Member Functions | List of all members
XC::TCP_SocketNoDelay Class Reference

TCP_SocketNoDelay is a sub-class of channel. More...

#include <TCP_SocketNoDelay.h>

Inheritance diagram for XC::TCP_SocketNoDelay:
XC::Channel

Public Member Functions

 TCP_SocketNoDelay (unsigned int)
 
 TCP_SocketNoDelay (unsigned int other_Port, char *other_InetAddr)
 
virtual int setUpShadow (void)
 
virtual int setUpActor (void)
 
int setNextAddress (const ChannelAddress &otherChannelAddress)
 A method invoked to set specify the next address that the next messages to be sent if {sendMessage()} or received if {recvMessage()} is invoked with a null pointer. More...
 
virtual ChannelAddressgetLastSendersAddress (void)
 
int sendObj (MovableObject &theObject, FEM_ObjectBroker &, ChannelAddress *theAddress=0)
 
int recvObj (MovableObject &theObject, FEM_ObjectBroker &, ChannelAddress *theAddress=0)
 
int recvMsg (Message &, ChannelAddress *theAddress=0)
 
int sendMsg (const Message &, ChannelAddress *theAddress=0)
 
int sendMatrix (const Matrix &theMatrix, ChannelAddress *theAddress=0)
 
int recvMatrix (Matrix &theMatrix, ChannelAddress *theAddress=0)
 
int sendVector (const Vector &theVector, ChannelAddress *theAddress=0)
 
int recvVector (Vector &theVector, ChannelAddress *theAddress=0)
 
int sendID (const ID &theID, ChannelAddress *theAddress=0)
 
int recvID (ID &theID, ChannelAddress *theAddress=0)
 
unsigned int getPortNumber (void) const
 
char * addToProgram (void)
 When creating remote actors the channels created in the actor space need to know how to contact the shadows channels. More...
 
- Public Member Functions inherited from XC::Channel
 Channel (CommandEntity *owr=nullptr)
 Constructor.
 
virtual int setUpConnection (void)=0
 
virtual bool isDatastore (void) const
 Return true if channel is a data store.
 
virtual int getDbTag (void) const
 Return next available database tag. More...
 
bool checkDbTag (const int &dbTag)
 Check if a dbTag is already used.
 
const IDgetUsedTags (void) const
 Return the list of dbTags already used.
 
void clearDbTags (void)
 Reset used database tags set.
 
int getTag (void) const
 Return the object tag.
 
virtual int sendObj (int commitTag, MovableObject &theObj, ChannelAddress *theAddress=nullptr)=0
 To send the object theObj and the commit tag commitTag to a remote Channel whose address is given by theAddress. More...
 
virtual int recvObj (int commitTag, MovableObject &theObj, FEM_ObjectBroker &theBroker, ChannelAddress *theAddress=nullptr)=0
 To receive the object theObj with the commit tag commitTag from a remote Channel whose address is given by theAddress. More...
 
template<class inputIterator >
int sendObjs (int commitTag, const inputIterator &first, const inputIterator &last, ChannelAddress *theAddress=nullptr)
 Send the objects on interval [first,last).
 
template<class inputIterator >
int recvObjs (int commitTag, const inputIterator &first, const inputIterator &last, FEM_ObjectBroker &, ChannelAddress *theAddress=nullptr)
 Receive an object sequence.
 
virtual int sendMsg (int dbTag, int commitTag, const Message &theMsg, ChannelAddress *theAddress=nullptr)=0
 A method invoked to send the data in the Message object theMsg to another Channel object. More...
 
virtual int recvMsg (int dbTag, int commitTag, Message &theMsg, ChannelAddress *theAddress=nullptr)=0
 Invoked to send the data in the Message object theMsg to another Channel object. More...
 
virtual int sendMatrix (int dbTag, int commitTag, const Matrix &theMatrix, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the Matrix object theMatrix to another Channel object. More...
 
virtual int recvMatrix (int dbTag, int commitTag, Matrix &theMatrix, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the Matrix object theMatrix to another Channel object. More...
 
virtual int sendVector (int dbTag, int commitTag, const Vector &theVector, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the Vector object theVector to another Channel object. More...
 
virtual int recvVector (int dbTag, int commitTag, Vector &theVector, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the Vector object theVector to another Channel object. More...
 
virtual int sendID (int dbTag, int commitTag, const ID &theID, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the ID object theID to another Channel object. More...
 
virtual int recvID (int dbTag, int commitTag, ID &theID, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the ID object theID to another Channel object. More...
 

Additional Inherited Members

- Protected Member Functions inherited from XC::Channel
int sendMovable (int commitTag, MovableObject &)
 Send theObject.
 
int receiveMovable (int commitTag, MovableObject &, FEM_ObjectBroker &)
 Receive theObject.
 

Detailed Description

TCP_SocketNoDelay is a sub-class of channel.

It is implemented with Berkeley stream sockets using the TCP protocol. Messages delivery is garaunteed. Communication is full-duplex between a pair of connected sockets.

Member Function Documentation

§ addToProgram()

char * XC::TCP_SocketNoDelay::addToProgram ( void  )
virtual

When creating remote actors the channels created in the actor space need to know how to contact the shadows channels.

This information is provided in the string returned from this method. It is used by the machine broker when starting the remote process. It places this information as the last arguments to the program.

Implements XC::Channel.

§ setNextAddress()

int XC::TCP_SocketNoDelay::setNextAddress ( const ChannelAddress theAddress)
virtual

A method invoked to set specify the next address that the next messages to be sent if {sendMessage()} or received if {recvMessage()} is invoked with a null pointer.

Implements XC::Channel.


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