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

ArNetPacket Class Reference

our packet for the network stuff More...

#include <ArNetPacket.h>

Inheritance diagram for ArNetPacket:

ArBasePacket List of all members.

Public Types

enum  {
  SIZE_OF_LENGTH = 2, MAX_LENGTH = 32000, HEADER_LENGTH = 6, FOOTER_LENGTH = 2,
  MAX_DATA_LENGTH = MAX_LENGTH - HEADER_LENGTH - FOOTER_LENGTH - SIZE_OF_LENGTH
}
enum  PacketSource { TCP, UDP }
 an enum for where the packet came from More...

Public Member Functions

 ArNetPacket (ArTypes::UByte2 bufferSize=ArNetPacket::MAX_LENGTH+5)
 Constructor.
virtual double bufToDouble (void)
 Gets a double from the packet buffer.
ArTypes::Byte2 calcCheckSum (void)
 returns the checksum, probably used only internally
virtual void doubleToBuf (double val)
 Puts a double into the packet buffer.
virtual void duplicatePacket (ArNetPacket *packet)
virtual void empty (void)
virtual void finalizePacket (void)
bool getAddedFooter (void)
 Iternal function that sets if we already added the footer(for forwarding).
ArTypes::UByte2 getCommand (void)
 Gets the command this packet is.
PacketSource getPacketSource (void)
virtual void resetRead (void)
void setAddedFooter (bool addedFooter)
 Iternal function that sets if we already added the footer(for forwarding).
void setCommand (ArTypes::UByte2 command)
 Sets the command this packet is.
void setPacketSource (PacketSource source)
bool verifyCheckSum (void)
 returns true if the checksum matches what it should be
virtual ~ArNetPacket ()
 Destructor.

Protected Attributes

bool myAddedFooter
ArTypes::UByte2 myCommand
PacketSource myPacketSource

Detailed Description

our packet for the network stuff
Examples:

drawingsExampleWithRobot.cpp, and getVideoExample.cpp.

Definition at line 32 of file ArNetPacket.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
SIZE_OF_LENGTH  Number of bytes needed to store packet length value.
MAX_LENGTH  Suggested maximum total size of a packet (bytes).
HEADER_LENGTH  Bytes of packet data used for header.
FOOTER_LENGTH  Byset of packet data used for footer.
MAX_DATA_LENGTH  Suggested maximum size for data payload (this is the total suggested packet size minus headers and footers).

Definition at line 44 of file ArNetPacket.h.

enum ArNetPacket::PacketSource
 

an enum for where the packet came from

Enumeration values:
TCP  Came in over tcp.
UDP  Came in over udp.

Definition at line 76 of file ArNetPacket.h.


Constructor & Destructor Documentation

ArNetPacket::ArNetPacket ArTypes::UByte2  bufferSize = ArNetPacket::MAX_LENGTH+5  ) 
 

Constructor.

Definition at line 30 of file ArNetPacket.cpp.

References myAddedFooter, and myCommand.

ArNetPacket::~ArNetPacket  )  [virtual]
 

Destructor.

Definition at line 37 of file ArNetPacket.cpp.


Member Function Documentation

double ArNetPacket::bufToDouble void   )  [virtual]
 

Gets a double from the packet buffer.

Definition at line 54 of file ArNetPacket.cpp.

References ArBasePacket::bufToStr().

ArTypes::Byte2 ArNetPacket::calcCheckSum void   ) 
 

returns the checksum, probably used only internally

Definition at line 147 of file ArNetPacket.cpp.

Referenced by finalizePacket(), and verifyCheckSum().

void ArNetPacket::doubleToBuf double  val  )  [virtual]
 

Puts a double into the packet buffer.

Definition at line 42 of file ArNetPacket.cpp.

References ArBasePacket::strToBuf().

Referenced by ArServerInfoRobot::batteryInfo(), and InputHandler::sendInput().

void ArNetPacket::duplicatePacket ArNetPacket packet  )  [virtual]
 

Definition at line 134 of file ArNetPacket.cpp.

References myAddedFooter, myCommand, and ArBasePacket::setMaxLength().

Referenced by ArServerClientData::ArServerClientData(), ArHybridForwarderVideo::receiveVideo(), ArHybridForwarderVideo::receiveVideoSize(), ArNetPacketSenderTcp::sendPacket(), ArHybridForwarderVideo::sendVideo(), and ArServerClientData::setPacket().

void ArNetPacket::empty void   )  [virtual]
 

Reimplemented from ArBasePacket.

Definition at line 81 of file ArNetPacket.cpp.

References myAddedFooter, myCommand, and ArBasePacket::resetValid().

Referenced by ArServerClient::ArServerClient(), ArServerBase::broadcastPacketTcpByCommandWithExclusion(), ArServerBase::broadcastPacketUdpByCommandWithExclusion(), ArServerHandlerCamera::buildModePacket(), ArServerInfoStrings::buildStringsInfoPacket(), ArServerInfoStrings::buildStringsPacket(), ArClientDeleteFileOnServer::deleteFileFromDirectory(), ArServerFileToClient::getFile(), ArServerHandlerConfig::handleGetConfig(), ArClientBase::internalBlockingConnect(), ArServerInfoDrawings::netGetDrawingList(), ArServerClient::processAuthPacket(), ArServerClient::processPacket(), ArClientBase::processPacket(), ArClientBase::processPacketUdp(), ArClientFileFromClient::putFileToDirectory(), ArNetPacketReceiverTcp::readPacket(), ArServerClient::sendListPacket(), ArServerHandlerPopup::serverCycleCallback(), ArServerHandlerMap::writeLinesToClient(), and ArServerHandlerMap::writePointsToClient().

void ArNetPacket::finalizePacket void   )  [virtual]
 

Reimplemented from ArBasePacket.

Definition at line 89 of file ArNetPacket.cpp.

References ArBasePacket::byteToBuf(), calcCheckSum(), myAddedFooter, myCommand, ArBasePacket::uByte2ToBuf(), and ArBasePacket::uByteToBuf().

Referenced by ArServerHandlerMapping::packetHandler().

bool ArNetPacket::getAddedFooter void   )  [inline]
 

Iternal function that sets if we already added the footer(for forwarding).

Definition at line 71 of file ArNetPacket.h.

References myAddedFooter.

ArTypes::UByte2 ArNetPacket::getCommand void   ) 
 

Gets the command this packet is.

Definition at line 129 of file ArNetPacket.cpp.

References myCommand.

Referenced by ArNetPacketReceiverUdp::readData(), ArNetPacketReceiverTcp::readPacket(), and ArNetPacketSenderTcp::sendData().

PacketSource ArNetPacket::getPacketSource void   )  [inline]
 

Definition at line 81 of file ArNetPacket.h.

References myPacketSource.

void ArNetPacket::resetRead void   )  [virtual]
 

Reimplemented from ArBasePacket.

Definition at line 115 of file ArNetPacket.cpp.

References ArBasePacket::bufToUByte2(), myCommand, and ArBasePacket::resetValid().

Referenced by ArNetPacketReceiverUdp::readData(), ArNetPacketReceiverTcp::readPacket(), ArHybridForwarderVideo::receiveVideo(), ArHybridForwarderVideo::receiveVideoSize(), ArClientBase::requestByCommand(), and ArHybridForwarderVideo::sendVideo().

void ArNetPacket::setAddedFooter bool  addedFooter  )  [inline]
 

Iternal function that sets if we already added the footer(for forwarding).

Definition at line 73 of file ArNetPacket.h.

References myAddedFooter.

void ArNetPacket::setCommand ArTypes::UByte2  command  ) 
 

Sets the command this packet is.

Definition at line 124 of file ArNetPacket.cpp.

References myCommand.

Referenced by ArServerClient::ArServerClient(), ArServerBase::broadcastPacketTcpByCommandWithExclusion(), ArServerBase::broadcastPacketUdpByCommandWithExclusion(), ArClientBase::internalBlockingConnect(), ArServerClient::processAuthPacket(), ArServerClient::processPacket(), ArClientBase::processPacket(), ArClientBase::processPacketUdp(), ArClientBase::requestByCommand(), ArClientBase::requestOnceByCommand(), ArClientBase::requestOnceByCommandUdp(), ArClientBase::requestOnceWithString(), ArClientBase::requestStopByCommand(), ArServerClient::sendListPacket(), ArHybridForwarderVideo::sendVideo(), ArHybridForwarderVideo::sendVideoSize(), ArClientBase::setTcpOnlyFromServer(), ArServerClient::shutdown(), and ArClientBase::startNonBlockingDisconnect().

void ArNetPacket::setPacketSource PacketSource  source  )  [inline]
 

Definition at line 82 of file ArNetPacket.h.

References myPacketSource.

Referenced by ArNetPacketReceiverUdp::readData(), and ArNetPacketReceiverTcp::readData().

bool ArNetPacket::verifyCheckSum void   ) 
 

returns true if the checksum matches what it should be

Definition at line 171 of file ArNetPacket.cpp.

References calcCheckSum().

Referenced by ArNetPacketReceiverUdp::readData(), and ArNetPacketReceiverTcp::readPacket().


Member Data Documentation

bool ArNetPacket::myAddedFooter [protected]
 

Definition at line 85 of file ArNetPacket.h.

Referenced by ArNetPacket(), duplicatePacket(), empty(), finalizePacket(), getAddedFooter(), and setAddedFooter().

ArTypes::UByte2 ArNetPacket::myCommand [protected]
 

Definition at line 86 of file ArNetPacket.h.

Referenced by ArNetPacket(), duplicatePacket(), empty(), finalizePacket(), getCommand(), resetRead(), and setCommand().

PacketSource ArNetPacket::myPacketSource [protected]
 

Definition at line 84 of file ArNetPacket.h.

Referenced by getPacketSource(), and setPacketSource().


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