Flair
Framework Libre Air
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties
flair::core::ConnectedSocket Class Referenceabstract

Interface class encapsulating a connected socket. Preserves packets order and guaranty delivery. More...

#include <ConnectedSocket.h>

+ Inheritance diagram for flair::core::ConnectedSocket:

Public Member Functions

 ConnectedSocket (const Object *parent, const std::string name)
 Constructor. More...
 
 ~ConnectedSocket ()
 Destructor. More...
 
virtual void Listen (const unsigned int port, const std::string localAddress="ANY")=0
 Returns a socket which listens on a specific port/address. More...
 
virtual ConnectedSocketAccept (Time timeout)=0
 Returns a socket on a new incoming connexion. More...
 
virtual bool Connect (const unsigned int port, const std::string distantAddress, Time timeout)=0
 Returns a socket connected to a distant host. More...
 
virtual ssize_t SendMessage (const char *message, size_t message_len, Time timeout)=0
 Send a message. More...
 
virtual ssize_t RecvMessage (char *buf, size_t buf_len, Time timeout)=0
 Receive a message. More...
 
std::string ReadString (const size_t &stringLength, Time timeout)
 
uint16_t ReadUInt16 (Time const &timeout)
 
void WriteUInt16 (uint16_t const &data, Time const &timeout)
 
uint32_t ReadUInt32 (Time const &timeout)
 
void WriteUInt32 (uint32_t const &data, Time const &timeout)
 
virtual uint16_t NetworkToHost16 (uint16_t data)=0
 ! See Socket.h for a more generic implementation of network/host endianness More...
 
virtual uint16_t HostToNetwork16 (uint16_t data)=0
 
virtual uint32_t NetworkToHost32 (uint32_t data)=0
 
virtual uint32_t HostToNetwork32 (uint32_t data)=0
 
- Public Member Functions inherited from flair::core::Object
 Object (const Object *parent=NULL, std::string name="", std::string type="")
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
std::string ObjectName (void) const
 Name. More...
 
std::string ObjectType (void) const
 Type. More...
 
const ObjectParent (void) const
 Parent. More...
 
std::vector< const Object * > * TypeChilds (void) const
 Childs of the same type. More...
 
std::vector< const Object * > * Childs (void) const
 Childs. More...
 
void Information (const char *function, int line, const char *format,...) const
 Formatted information. More...
 
void Warning (const char *function, const char *format,...) const
 Formatted warning. More...
 
void Error (const char *function, const char *format,...) const
 Formatted error. More...
 
bool ErrorOccured (bool recursive=true) const
 Has an errror occured? More...
 

Additional Inherited Members

- Public Types inherited from flair::core::Object
enum  color_t { Auto = 0, Red = 31, Green = 32, Orange = 33 }
 

Detailed Description

Interface class encapsulating a connected socket. Preserves packets order and guaranty delivery.

Constructor & Destructor Documentation

flair::core::ConnectedSocket::ConnectedSocket ( const Object parent,
const std::string  name 
)

Constructor.

flair::core::ConnectedSocket::~ConnectedSocket ( )

Destructor.

Member Function Documentation

virtual void flair::core::ConnectedSocket::Listen ( const unsigned int  port,
const std::string  localAddress = "ANY" 
)
pure virtual

Returns a socket which listens on a specific port/address.

Parameters
constObject* parentObject
conststring name
unsignedint port
constlocalAddress (defaults to any)

Implemented in flair::core::UdtSocket, and flair::core::TcpSocket.

virtual ConnectedSocket* flair::core::ConnectedSocket::Accept ( Time  timeout)
pure virtual

Returns a socket on a new incoming connexion.

Parameters
ConnectedSocket&listeningSocket

Implemented in flair::core::UdtSocket, and flair::core::TcpSocket.

virtual bool flair::core::ConnectedSocket::Connect ( const unsigned int  port,
const std::string  distantAddress,
Time  timeout 
)
pure virtual

Returns a socket connected to a distant host.

Parameters
constObject* parentObject
conststring name
unsignedint port
constdistantAddress
timeouttimeout (in milliseconds)

Implemented in flair::core::UdtSocket, and flair::core::TcpSocket.

virtual ssize_t flair::core::ConnectedSocket::SendMessage ( const char *  message,
size_t  message_len,
Time  timeout 
)
pure virtual

Send a message.

Parameters
messagemessage
message_lenmessage length
timeouttimeout (in milliseconds)

Implemented in flair::core::UdtSocket, and flair::core::TcpSocket.

virtual ssize_t flair::core::ConnectedSocket::RecvMessage ( char *  buf,
size_t  buf_len,
Time  timeout 
)
pure virtual

Receive a message.

Receive a message and wait up to timeout.

Parameters
bufbuffer to put the message
buf_lenbuffer length
timeouttimeout (in milliseconds)
Returns
size of the received message

Implemented in flair::core::UdtSocket, and flair::core::TcpSocket.

virtual uint16_t flair::core::ConnectedSocket::NetworkToHost16 ( uint16_t  data)
pure virtual

! See Socket.h for a more generic implementation of network/host endianness

Implemented in flair::core::TcpSocket, and flair::core::UdtSocket.