Eaagles::Basic::LcNetHandler Class Reference

Inherits Eaagles::Basic::LcObject.

Inherited by Eaagles::Basic::LcBroadcastHandler, Eaagles::Basic::LcMulticastHandler, Eaagles::Basic::LcTcpHandler, and Eaagles::Basic::LcUdpHandler.

Inheritance diagram for Eaagles::Basic::LcNetHandler:

Inheritance graph
[legend]
Collaboration diagram for Eaagles::Basic::LcNetHandler:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LcNetHandler ()
 LcNetHandler (const short port, const short source)
bool getSharedFlag () const
void setSharedFlag (const bool b)
virtual bool init ()
virtual bool bindSendSocket ()
virtual bool bindRecvSocket ()
virtual bool setBlocked ()
virtual bool setNoWait ()
virtual bool joinTheGroup ()
virtual bool sendData (const char *const packet, const int size)
virtual int recvData (char *const packet, const int maxSize, const bool ignoreOwnSourcePort=true)
virtual bool setSlotPort (const LcNumber *const msg)
virtual bool setSlotSourcePort (const LcNumber *const msg)
virtual bool setSlotShared (const LcNumber *const msg)
virtual bool setSlotSendBuffSize (const LcNumber *const msg)
virtual bool setSlotRecvBuffSize (const LcNumber *const msg)
virtual unsigned short getPort ()
virtual unsigned short getSourcePort ()

Static Public Member Functions

static void toNet (const void *const hostData, void *const netData, const int nl, const int ns)
static void toHost (const void *const netData, void *const hostData, const int nl, const int ns)
static bool isNetworkByteOrder ()
static bool isNotNetworkByteOrder ()
static bool checkByteOrder ()
static void toNetOrder (short *const vout, const short vin)
static void toNetOrder (unsigned short *const vout, const unsigned short vin)
static void toNetOrder (long *const vout, const long vin)
static void toNetOrder (unsigned long *const vout, const unsigned long vin)
static void toNetOrder (float *const vout, const float vin)
static void toNetOrder (double *const vout, const double vin)
static void fromNetOrder (short *const vout, const short vin)
static void fromNetOrder (unsigned short *const vout, const unsigned short vin)
static void fromNetOrder (long *const vout, const long vin)
static void fromNetOrder (unsigned long *const vout, const unsigned long vin)
static void fromNetOrder (float *const vout, const float vin)
static void fromNetOrder (double *const vout, const double vin)

Protected Attributes

int socketNum
unsigned long netAddr
unsigned short port
unsigned short sourcePort
sockaddr_in * addr
bool sharedFlg

Private Attributes

unsigned long sendBuffSizeKb
unsigned long recvBuffSizeKb

Static Private Attributes

static bool netByteOrder

Detailed Description

General (connectionless) network handler: Can be used for UDP/IP,
        Multicast and Broadcast.  Each handler manages a socket.  Therefore, 
        handlers are needed for input and output.

    Slots:
       port:             ! Port number
                         !   send:    port we send packets to
                         !   receive: port we receive packets from

       sourcePort:       ! Source port number
                         !   send:    port we send packets from
                         !   receive: Used to identify applications on send port

       shared:           ! Set socket's shared (reuse) flag [default: 0 (not shared)]

       sendBuffSizeKb    ! Send buffer size in KB's    (default:  32 Kb; max 1024)

       recvBuffSizeKb    ! Receive buffer size in KB's (default: 128 Kb; max 1024)
    


Constructor & Destructor Documentation

Eaagles::Basic::LcNetHandler::LcNetHandler (  ) 

Eaagles::Basic::LcNetHandler::LcNetHandler ( const short  port,
const short  source 
)


Member Function Documentation

bool Eaagles::Basic::LcNetHandler::getSharedFlag (  )  const [inline]

Is the port shared?

void Eaagles::Basic::LcNetHandler::setSharedFlag ( const bool  b  )  [inline]

bool Eaagles::Basic::LcNetHandler::init (  )  [virtual]

Initialize handler.

Reimplemented in Eaagles::Basic::LcBroadcastHandler, Eaagles::Basic::LcMulticastHandler, Eaagles::Basic::LcTcpHandler, and Eaagles::Basic::LcUdpHandler.

bool Eaagles::Basic::LcNetHandler::bindSendSocket (  )  [virtual]

Bind to the socket for send.

bool Eaagles::Basic::LcNetHandler::bindRecvSocket (  )  [virtual]

Bind to the socket to receive.

bool Eaagles::Basic::LcNetHandler::setBlocked (  )  [virtual]

Set socket for blocked or no-wait (non-blocked) IO Default (is neither is called) is system dependent.

bool Eaagles::Basic::LcNetHandler::setNoWait (  )  [virtual]

virtual bool Eaagles::Basic::LcNetHandler::joinTheGroup (  )  [inline, virtual]

Join the multicast group.

Reimplemented in Eaagles::Basic::LcMulticastHandler.

bool Eaagles::Basic::LcNetHandler::sendData ( const char *const  packet,
const int  size 
) [virtual]

Sends 'size' bytes from 'packet'. Returns 'true' if successful.

Reimplemented in Eaagles::Basic::LcTcpHandler.

int Eaagles::Basic::LcNetHandler::recvData ( char *const   packet,
const int  maxSize,
const bool  ignoreOwnSourcePort = true 
) [virtual]

Receives a maximum of 'maxSize' bytes into 'packet. Returns the actual number of bytes received.

bool Eaagles::Basic::LcNetHandler::setSlotPort ( const LcNumber *const   msg  )  [virtual]

bool Eaagles::Basic::LcNetHandler::setSlotSourcePort ( const LcNumber *const   msg  )  [virtual]

bool Eaagles::Basic::LcNetHandler::setSlotShared ( const LcNumber *const   msg  )  [virtual]

bool Eaagles::Basic::LcNetHandler::setSlotSendBuffSize ( const LcNumber *const   msg  )  [virtual]

bool Eaagles::Basic::LcNetHandler::setSlotRecvBuffSize ( const LcNumber *const   msg  )  [virtual]

virtual unsigned short Eaagles::Basic::LcNetHandler::getPort (  )  [inline, virtual]

virtual unsigned short Eaagles::Basic::LcNetHandler::getSourcePort (  )  [inline, virtual]

void Eaagles::Basic::LcNetHandler::toNet ( const void *const  hostData,
void *const   netData,
const int  nl,
const int  ns 
) [static]

To/From NET byte swap routines.

void Eaagles::Basic::LcNetHandler::toHost ( const void *const  netData,
void *const   hostData,
const int  nl,
const int  ns 
) [static]

static bool Eaagles::Basic::LcNetHandler::isNetworkByteOrder (  )  [inline, static]

Byte order.

static bool Eaagles::Basic::LcNetHandler::isNotNetworkByteOrder (  )  [inline, static]

bool Eaagles::Basic::LcNetHandler::checkByteOrder (  )  [static]

Returns true if in network byte order.

void Eaagles::Basic::LcNetHandler::toNetOrder ( short *const   vout,
const short  vin 
) [inline, static]

Convert to network byte order.

void Eaagles::Basic::LcNetHandler::toNetOrder ( unsigned short *const   vout,
const unsigned short  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::toNetOrder ( long *const   vout,
const long  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::toNetOrder ( unsigned long *const  vout,
const unsigned long  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::toNetOrder ( float *const   vout,
const float  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::toNetOrder ( double *const   vout,
const double  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::fromNetOrder ( short *const   vout,
const short  vin 
) [inline, static]

convert from network byte order

void Eaagles::Basic::LcNetHandler::fromNetOrder ( unsigned short *const   vout,
const unsigned short  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::fromNetOrder ( long *const   vout,
const long  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::fromNetOrder ( unsigned long *const  vout,
const unsigned long  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::fromNetOrder ( float *const   vout,
const float  vin 
) [inline, static]

void Eaagles::Basic::LcNetHandler::fromNetOrder ( double *const   vout,
const double  vin 
) [inline, static]


Member Data Documentation

int Eaagles::Basic::LcNetHandler::socketNum [protected]

Our Socket.

unsigned long Eaagles::Basic::LcNetHandler::netAddr [protected]

Network (ip) address.

unsigned short Eaagles::Basic::LcNetHandler::port [protected]

Port.

unsigned short Eaagles::Basic::LcNetHandler::sourcePort [protected]

Source port.

struct sockaddr_in* Eaagles::Basic::LcNetHandler::addr [protected]

Working address structure.

bool Eaagles::Basic::LcNetHandler::sharedFlg [protected]

Shared port flag.

bool Eaagles::Basic::LcNetHandler::netByteOrder [static, private]

True if this machine is in 'network byte order'.

unsigned long Eaagles::Basic::LcNetHandler::sendBuffSizeKb [private]

Send buffer size in KBs.

unsigned long Eaagles::Basic::LcNetHandler::recvBuffSizeKb [private]

Receive buffer size in KBs.


Generated on Tue Dec 19 16:26:16 2006 for Eaagles by  doxygen 1.5.0