Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages | Examples

ArNetPacketReceiverUdp Class Reference

This is the receiver for UDP packets. More...

#include <ArNetPacketReceiverUdp.h>

List of all members.

Public Member Functions

 ArNetPacketReceiverUdp ()
ArFunctor2< ArNetPacket *,
struct sockaddr_in * > * 
getProcessPacketCB (void)
 Gets the callback used when a packet is received.
ArSocketgetSocket (void)
 Gets the socket this receiver uses.
bool readData (void)
 Reads in all the data available calling the processPacketCB.
void setProcessPacketCB (ArFunctor2< ArNetPacket *, struct sockaddr_in * > *functor)
 Sets the callback for use when a packet is received.
void setSocket (ArSocket *socket)
 Sets the socket this receiver uses.
 ~ArNetPacketReceiverUdp ()

Protected Attributes

char myBuff [ArNetPacket::MAX_LENGTH+20]
ArTime myLastPacket
ArNetPacket myPacket
ArFunctor2< ArNetPacket *,
struct sockaddr_in * > * 
myProcessPacketCB
ArSocketmySocket


Detailed Description

This is the receiver for UDP packets.

Definition at line 35 of file ArNetPacketReceiverUdp.h.


Constructor & Destructor Documentation

ArNetPacketReceiverUdp::ArNetPacketReceiverUdp  ) 
 

Definition at line 33 of file ArNetPacketReceiverUdp.cpp.

References myBuff, myPacket, myProcessPacketCB, mySocket, and ArBasePacket::setBuf().

ArNetPacketReceiverUdp::~ArNetPacketReceiverUdp  ) 
 

Definition at line 43 of file ArNetPacketReceiverUdp.cpp.


Member Function Documentation

ArFunctor2< ArNetPacket *, struct sockaddr_in * > * ArNetPacketReceiverUdp::getProcessPacketCB void   ) 
 

Gets the callback used when a packet is received.

Returns:
the callback used when a packet needs to be processed

Definition at line 81 of file ArNetPacketReceiverUdp.cpp.

References myProcessPacketCB.

ArSocket * ArNetPacketReceiverUdp::getSocket void   ) 
 

Gets the socket this receiver uses.

Definition at line 63 of file ArNetPacketReceiverUdp.cpp.

References mySocket.

bool ArNetPacketReceiverUdp::readData void   ) 
 

Reads in all the data available calling the processPacketCB.

Definition at line 86 of file ArNetPacketReceiverUdp.cpp.

References ArNetPacket::getCommand(), ArFunctor2< P1, P2 >::invoke(), ArLog::log(), myBuff, myPacket, myProcessPacketCB, mySocket, ArSocket::recvFrom(), ArNetPacket::resetRead(), ArBasePacket::setBuf(), ArBasePacket::setLength(), ArNetPacket::setPacketSource(), and ArNetPacket::verifyCheckSum().

Referenced by ArServerBase::loopOnce(), and ArClientBase::loopOnce().

void ArNetPacketReceiverUdp::setProcessPacketCB ArFunctor2< ArNetPacket *, struct sockaddr_in * > *  functor  ) 
 

Sets the callback for use when a packet is received.

Parameters:
functor the callback to use when a packet needs to be processed

Definition at line 72 of file ArNetPacketReceiverUdp.cpp.

References myProcessPacketCB.

Referenced by ArClientBase::ArClientBase(), and ArServerBase::ArServerBase().

void ArNetPacketReceiverUdp::setSocket ArSocket socket  ) 
 

Sets the socket this receiver uses.

Parameters:
socket the socket to use for receiving data

Definition at line 54 of file ArNetPacketReceiverUdp.cpp.

References mySocket.

Referenced by ArClientBase::ArClientBase(), and ArServerBase::open().


Member Data Documentation

char ArNetPacketReceiverUdp::myBuff[ArNetPacket::MAX_LENGTH+20] [protected]
 

Definition at line 62 of file ArNetPacketReceiverUdp.h.

Referenced by ArNetPacketReceiverUdp(), and readData().

ArTime ArNetPacketReceiverUdp::myLastPacket [protected]
 

Definition at line 60 of file ArNetPacketReceiverUdp.h.

ArNetPacket ArNetPacketReceiverUdp::myPacket [protected]
 

Definition at line 61 of file ArNetPacketReceiverUdp.h.

Referenced by ArNetPacketReceiverUdp(), and readData().

ArFunctor2<ArNetPacket *, struct sockaddr_in *>* ArNetPacketReceiverUdp::myProcessPacketCB [protected]
 

Definition at line 58 of file ArNetPacketReceiverUdp.h.

Referenced by ArNetPacketReceiverUdp(), getProcessPacketCB(), readData(), and setProcessPacketCB().

ArSocket* ArNetPacketReceiverUdp::mySocket [protected]
 

Definition at line 59 of file ArNetPacketReceiverUdp.h.

Referenced by ArNetPacketReceiverUdp(), getSocket(), readData(), and setSocket().


The documentation for this class was generated from the following files:
Generated on Tue Feb 20 10:51:51 2007 for ArNetworking by  doxygen 1.4.0