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

ArNetPacketSenderTcp Class Reference

#include <ArNetPacketSenderTcp.h>

List of all members.

Public Member Functions

 ArNetPacketSenderTcp ()
 Constructor.
ArSocketgetSocket (void)
 Gets the socket this sender uses.
bool sendData (void)
 Tries to send the data there is to be sent.
void sendPacket (ArNetPacket *packet)
 Sends a packet.
void setSocket (ArSocket *socket)
 Sets the socket this sender uses.
 ~ArNetPacketSenderTcp ()
 Destructor.

Protected Attributes

int myAlreadySent
const char * myBuf
ArMutex myDataMutex
int myLength
ArNetPacketmyPacket
std::list< ArNetPacket * > myPacketList
ArSocketmySocket


Constructor & Destructor Documentation

ArNetPacketSenderTcp::ArNetPacketSenderTcp  ) 
 

Constructor.

Definition at line 30 of file ArNetPacketSenderTcp.cpp.

ArNetPacketSenderTcp::~ArNetPacketSenderTcp  ) 
 

Destructor.

Definition at line 40 of file ArNetPacketSenderTcp.cpp.

References myPacketList.


Member Function Documentation

ArSocket * ArNetPacketSenderTcp::getSocket void   ) 
 

Gets the socket this sender uses.

Definition at line 68 of file ArNetPacketSenderTcp.cpp.

References mySocket.

bool ArNetPacketSenderTcp::sendData void   ) 
 

Tries to send the data there is to be sent.

Definition at line 83 of file ArNetPacketSenderTcp.cpp.

References ArBasePacket::getBuf(), ArNetPacket::getCommand(), ArBasePacket::getLength(), ArMutex::lock(), ArLog::log(), myAlreadySent, myBuf, myDataMutex, myLength, myPacket, myPacketList, mySocket, ArTime::setToNow(), ArMutex::unlock(), and ArSocket::write().

Referenced by ArClientBase::loopOnce(), ArServerClient::shutdown(), ArClientBase::startNonBlockingDisconnect(), and ArServerClient::tcpCallback().

void ArNetPacketSenderTcp::sendPacket ArNetPacket packet  ) 
 

Sends a packet.

Definition at line 73 of file ArNetPacketSenderTcp.cpp.

References ArNetPacket::duplicatePacket(), ArMutex::lock(), myDataMutex, myPacketList, sendPacket(), and ArMutex::unlock().

Referenced by sendPacket(), ArServerClient::sendPacketTcp(), and ArClientBase::sendPacketTcp().

void ArNetPacketSenderTcp::setSocket ArSocket socket  ) 
 

Sets the socket this sender uses.

Parameters:
socket the socket to use for receiving data

Definition at line 57 of file ArNetPacketSenderTcp.cpp.

References ArMutex::lock(), myDataMutex, mySocket, and ArMutex::unlock().

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


Member Data Documentation

int ArNetPacketSenderTcp::myAlreadySent [protected]
 

Definition at line 55 of file ArNetPacketSenderTcp.h.

Referenced by sendData().

const char* ArNetPacketSenderTcp::myBuf [protected]
 

Definition at line 56 of file ArNetPacketSenderTcp.h.

Referenced by sendData().

ArMutex ArNetPacketSenderTcp::myDataMutex [protected]
 

Definition at line 51 of file ArNetPacketSenderTcp.h.

Referenced by sendData(), sendPacket(), and setSocket().

int ArNetPacketSenderTcp::myLength [protected]
 

Definition at line 57 of file ArNetPacketSenderTcp.h.

Referenced by sendData().

ArNetPacket* ArNetPacketSenderTcp::myPacket [protected]
 

Definition at line 54 of file ArNetPacketSenderTcp.h.

Referenced by sendData().

std::list<ArNetPacket *> ArNetPacketSenderTcp::myPacketList [protected]
 

Definition at line 53 of file ArNetPacketSenderTcp.h.

Referenced by sendData(), sendPacket(), and ~ArNetPacketSenderTcp().

ArSocket* ArNetPacketSenderTcp::mySocket [protected]
 

Definition at line 52 of file ArNetPacketSenderTcp.h.

Referenced by getSocket(), sendData(), 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