#include <ArNetPacketReceiverTcp.h>
Public Member Functions | |
ArNetPacketReceiverTcp () | |
Constructor. | |
ArFunctor1< ArNetPacket * > * | getProcessPacketCB (void) |
Gets the callback used when a packet is received. | |
bool | getQuiet (void) |
Gets whether we're quiet about errors or not. | |
ArSocket * | getSocket (void) |
Gets the socket this receiver uses. | |
bool | readData (void) |
Reads in all the data available calling the processPacketCB. | |
void | setProcessPacketCB (ArFunctor1< ArNetPacket * > *functor) |
Sets the callback for use when a packet is received. | |
void | setQuiet (bool quiet) |
Sets whether we're quiet about errors or not. | |
void | setSocket (ArSocket *socket) |
Sets the socket this receiver uses. | |
~ArNetPacketReceiverTcp () | |
Destructor. | |
Protected Types | |
enum | Ret { RET_CONN_CLOSED, RET_GOT_PACKET, RET_BAD_PACKET, RET_FAILED_READ, RET_TIMED_OUT } |
enum | State { STATE_SYNC1, STATE_SYNC2, STATE_LENGTH1, STATE_LENGTH2, STATE_ACQUIRE_DATA } |
Protected Member Functions | |
Ret | readPacket (int msWait) |
Reads in a single packet, returns NULL if not one. | |
Protected Attributes | |
ArTime | myLastPacket |
ArNetPacket | myPacket |
ArFunctor1< ArNetPacket * > * | myProcessPacketCB |
bool | myQuiet |
char | myReadBuff [ArNetPacket::MAX_LENGTH+ArNetPacket::HEADER_LENGTH+ArNetPacket::FOOTER_LENGTH] |
int | myReadCommand |
int | myReadCount |
int | myReadLength |
ArSocket * | mySocket |
State | myState |
unsigned char | mySync1 |
unsigned char | mySync2 |
Definition at line 39 of file ArNetPacketReceiverTcp.h.
|
Definition at line 66 of file ArNetPacketReceiverTcp.h. |
|
Definition at line 76 of file ArNetPacketReceiverTcp.h. |
|
Constructor.
Definition at line 33 of file ArNetPacketReceiverTcp.cpp. References myProcessPacketCB, myQuiet, mySocket, myState, mySync1, mySync2, and STATE_SYNC1. |
|
Destructor.
Definition at line 43 of file ArNetPacketReceiverTcp.cpp. |
|
Gets the callback used when a packet is received.
Definition at line 315 of file ArNetPacketReceiverTcp.cpp. References myProcessPacketCB. |
|
Gets whether we're quiet about errors or not.
Definition at line 64 of file ArNetPacketReceiverTcp.h. References myQuiet. |
|
Gets the socket this receiver uses.
Definition at line 63 of file ArNetPacketReceiverTcp.cpp. References mySocket. |
|
Reads in all the data available calling the processPacketCB. If an error occurs that is unrecoverable false will be returned which means that the socket owner who is calling this should close the socket and clean up.
Definition at line 77 of file ArNetPacketReceiverTcp.cpp. References ArSocket::inAddr(), ArFunctor1< P1 >::invoke(), ArLog::log(), myPacket, myProcessPacketCB, myQuiet, mySocket, readPacket(), RET_BAD_PACKET, RET_CONN_CLOSED, RET_FAILED_READ, RET_GOT_PACKET, RET_TIMED_OUT, and ArNetPacket::setPacketSource(). Referenced by ArClientBase::loopOnce(), and ArServerClient::tcpCallback(). |
|
Reads in a single packet, returns NULL if not one.
Definition at line 139 of file ArNetPacketReceiverTcp.cpp. References ArTime::addMSec(), ArBasePacket::dataToBuf(), ArNetPacket::empty(), ArNetPacket::getCommand(), ArBasePacket::getFooterLength(), ArBasePacket::getHeaderLength(), ArLog::log(), ArTime::mSecTo(), myPacket, myQuiet, myReadBuff, myReadCount, myReadLength, mySocket, myState, mySync1, mySync2, ArSocket::read(), ArNetPacket::resetRead(), RET_BAD_PACKET, RET_CONN_CLOSED, RET_FAILED_READ, RET_GOT_PACKET, RET_TIMED_OUT, ArBasePacket::setLength(), ArTime::setToNow(), STATE_ACQUIRE_DATA, STATE_LENGTH1, STATE_LENGTH2, STATE_SYNC1, STATE_SYNC2, ArBasePacket::uByteToBuf(), and ArNetPacket::verifyCheckSum(). Referenced by readData(). |
|
Sets the callback for use when a packet is received.
Definition at line 306 of file ArNetPacketReceiverTcp.cpp. References myProcessPacketCB. Referenced by ArClientBase::ArClientBase(), ArServerClient::ArServerClient(), and ArServerClient::~ArServerClient(). |
|
Sets whether we're quiet about errors or not.
Definition at line 62 of file ArNetPacketReceiverTcp.h. References myQuiet. Referenced by ArClientBase::internalBlockingConnect(). |
|
Sets the socket this receiver uses.
Definition at line 54 of file ArNetPacketReceiverTcp.cpp. References mySocket. Referenced by ArClientBase::ArClientBase(), ArServerClient::ArServerClient(), and ArServerClient::~ArServerClient(). |
|
Definition at line 82 of file ArNetPacketReceiverTcp.h. |
|
Definition at line 83 of file ArNetPacketReceiverTcp.h. Referenced by readData(), and readPacket(). |
|
Definition at line 79 of file ArNetPacketReceiverTcp.h. Referenced by ArNetPacketReceiverTcp(), getProcessPacketCB(), readData(), and setProcessPacketCB(). |
|
Definition at line 80 of file ArNetPacketReceiverTcp.h. Referenced by ArNetPacketReceiverTcp(), getQuiet(), readData(), readPacket(), and setQuiet(). |
|
Definition at line 84 of file ArNetPacketReceiverTcp.h. Referenced by readPacket(). |
|
Definition at line 87 of file ArNetPacketReceiverTcp.h. |
|
Definition at line 85 of file ArNetPacketReceiverTcp.h. Referenced by readPacket(). |
|
Definition at line 86 of file ArNetPacketReceiverTcp.h. Referenced by readPacket(). |
|
Definition at line 81 of file ArNetPacketReceiverTcp.h. Referenced by ArNetPacketReceiverTcp(), getSocket(), readData(), readPacket(), and setSocket(). |
|
Definition at line 78 of file ArNetPacketReceiverTcp.h. Referenced by ArNetPacketReceiverTcp(), and readPacket(). |
|
Definition at line 88 of file ArNetPacketReceiverTcp.h. Referenced by ArNetPacketReceiverTcp(), and readPacket(). |
|
Definition at line 89 of file ArNetPacketReceiverTcp.h. Referenced by ArNetPacketReceiverTcp(), and readPacket(). |