ArCentralForwarder Class Reference

#include <ArCentralForwarder.h>

List of all members.


Detailed Description

Class.


Public Member Functions

 ArCentralForwarder (ArServerBase *mainServer, ArSocket *socket, const char *robotName, int startingPort, std::set< int > *usedPorts, ArFunctor2< ArCentralForwarder *, ArServerClient * > *notifyServerClientRemovedCB)
bool callOnce (double heartbeatTimeout, double udpHeartbeatTimeout, double robotBackupTimeout, double clientBackupTimeout)
ArClientBasegetClient (void)
int getPort (void)
const char * getRobotName (void)
ArServerBasegetServer (void)
bool isConnected (void)
void netCentralHeartbeat (ArNetPacket *packet)
 ~ArCentralForwarder ()

Protected Types

 RETURN_COMPLEX
 RETURN_NONE
 RETURN_SINGLE
 RETURN_UNTIL_EMPTY
 RETURN_VIDEO
 RETURN_VIDEO_OPTIM
enum  ReturnType {
  RETURN_NONE, RETURN_SINGLE, RETURN_VIDEO, RETURN_UNTIL_EMPTY,
  RETURN_COMPLEX, RETURN_VIDEO_OPTIM
}
enum  State { STATE_STARTING, STATE_CONNECTING, STATE_GATHERING, STATE_CONNECTED }
 STATE_CONNECTED
 STATE_CONNECTING
 STATE_GATHERING
 STATE_STARTING

Protected Member Functions

void clientServerClientRemoved (ArServerClient *client)
bool connectedCallOnce (double heartbeatTimeout, double udpHeartbeatTimeout, double robotBackupTimeout, double clientBackupTimeout)
bool connectingCallOnce (double heartbeatTimeout, double udpHeartbeatTimeout, double robotBackupTimeout, double clientBackupTimeout)
bool gatheringCallOnce (double heartbeatTimeout, double udpHeartbeatTimeout, double robotBackupTimeout, double clientBackupTimeout)
void receiveData (ArNetPacket *packet)
void requestChanged (long interval, unsigned int command)
void requestOnce (ArServerClient *client, ArNetPacket *packet)
void robotServerClientRemoved (ArServerClient *client)
bool startingCallOnce (double heartbeatTimeout, double udpHeartbeatTimeout, double robotBackupTimeout, double clientBackupTimeout)

Protected Attributes

ArClientBaseclient
ArClientBasemyClient
ArFunctor1C< ArCentralForwarder,
ArServerClient * > 
myClientServerClientRemovedCB
ArFunctor2< ArCentralForwarder *,
ArServerClient * > * 
myForwarderServerClientRemovedCB
std::map< unsigned int, ArTime * > myLastBroadcast
std::map< unsigned int, ArTime * > myLastRequest
ArTime myLastSentCentralServerHeartbeat
ArTime myLastTcpHeartbeat
ArTime myLastUdpHeartbeat
ArServerBasemyMainServer
ArFunctor1C< ArCentralForwarder,
ArNetPacket * > 
myNetCentralHeartbeatCB
int myPort
std::string myPrefix
ArFunctor1C< ArCentralForwarder,
ArNetPacket * > 
myReceiveDataFunctor
ArFunctor2C< ArCentralForwarder,
long, unsigned int > 
myRequestChangedFunctor
ArFunctor2C< ArCentralForwarder,
ArServerClient *, ArNetPacket * > 
myRequestOnceFunctor
std::map< unsigned int, std::list<
ArServerClient * > * > 
myRequestOnces
std::map< unsigned int, ReturnTypemyReturnTypes
bool myRobotHasCentralServerHeartbeat
std::string myRobotName
ArFunctor1C< ArCentralForwarder,
ArServerClient * > 
myRobotServerClientRemovedCB
ArServerBasemyServer
ArSocketmySocket
int myStartingPort
State myState
std::set< int > * myUsedPorts
ArServerBaseserver


Member Enumeration Documentation

enum ArCentralForwarder::ReturnType [protected]

Enumerator:
RETURN_NONE 
RETURN_SINGLE 
RETURN_VIDEO 
RETURN_UNTIL_EMPTY 
RETURN_COMPLEX 
RETURN_VIDEO_OPTIM 

enum ArCentralForwarder::State [protected]

Enumerator:
STATE_STARTING 
STATE_CONNECTING 
STATE_GATHERING 
STATE_CONNECTED 


Constructor & Destructor Documentation

ArCentralForwarder::ArCentralForwarder ( ArServerBase mainServer,
ArSocket socket,
const char *  robotName,
int  startingPort,
std::set< int > *  usedPorts,
ArFunctor2< ArCentralForwarder *, ArServerClient * > *  notifyServerClientRemovedCB 
)

ArCentralForwarder::~ArCentralForwarder (  ) 


Member Function Documentation

bool ArCentralForwarder::callOnce ( double  heartbeatTimeout,
double  udpHeartbeatTimeout,
double  robotBackupTimeout,
double  clientBackupTimeout 
)

void ArCentralForwarder::clientServerClientRemoved ( ArServerClient client  )  [protected]

bool ArCentralForwarder::connectedCallOnce ( double  heartbeatTimeout,
double  udpHeartbeatTimeout,
double  robotBackupTimeout,
double  clientBackupTimeout 
) [protected]

bool ArCentralForwarder::connectingCallOnce ( double  heartbeatTimeout,
double  udpHeartbeatTimeout,
double  robotBackupTimeout,
double  clientBackupTimeout 
) [protected]

bool ArCentralForwarder::gatheringCallOnce ( double  heartbeatTimeout,
double  udpHeartbeatTimeout,
double  robotBackupTimeout,
double  clientBackupTimeout 
) [protected]

ArClientBase* ArCentralForwarder::getClient ( void   )  [inline]

int ArCentralForwarder::getPort ( void   )  [inline]

const char* ArCentralForwarder::getRobotName ( void   )  [inline]

ArServerBase* ArCentralForwarder::getServer ( void   )  [inline]

bool ArCentralForwarder::isConnected ( void   )  [inline]

void ArCentralForwarder::netCentralHeartbeat ( ArNetPacket packet  ) 

void ArCentralForwarder::receiveData ( ArNetPacket packet  )  [protected]

void ArCentralForwarder::requestChanged ( long  interval,
unsigned int  command 
) [protected]

void ArCentralForwarder::requestOnce ( ArServerClient client,
ArNetPacket packet 
) [protected]

void ArCentralForwarder::robotServerClientRemoved ( ArServerClient client  )  [protected]

bool ArCentralForwarder::startingCallOnce ( double  heartbeatTimeout,
double  udpHeartbeatTimeout,
double  robotBackupTimeout,
double  clientBackupTimeout 
) [protected]


Member Data Documentation

ArClientBase* ArCentralForwarder::client [protected]

ArClientBase* ArCentralForwarder::myClient [protected]

ArFunctor1C<ArCentralForwarder, ArServerClient *> ArCentralForwarder::myClientServerClientRemovedCB [protected]

ArFunctor2<ArCentralForwarder *, ArServerClient *>* ArCentralForwarder::myForwarderServerClientRemovedCB [protected]

std::map<unsigned int, ArTime *> ArCentralForwarder::myLastBroadcast [protected]

std::map<unsigned int, ArTime *> ArCentralForwarder::myLastRequest [protected]

ArTime ArCentralForwarder::myLastSentCentralServerHeartbeat [protected]

ArTime ArCentralForwarder::myLastTcpHeartbeat [protected]

ArTime ArCentralForwarder::myLastUdpHeartbeat [protected]

ArServerBase* ArCentralForwarder::myMainServer [protected]

ArFunctor1C<ArCentralForwarder, ArNetPacket *> ArCentralForwarder::myNetCentralHeartbeatCB [protected]

int ArCentralForwarder::myPort [protected]

std::string ArCentralForwarder::myPrefix [protected]

ArFunctor1C<ArCentralForwarder, ArNetPacket *> ArCentralForwarder::myReceiveDataFunctor [protected]

ArFunctor2C<ArCentralForwarder, long, unsigned int> ArCentralForwarder::myRequestChangedFunctor [protected]

ArFunctor2C<ArCentralForwarder, ArServerClient *, ArNetPacket *> ArCentralForwarder::myRequestOnceFunctor [protected]

std::map<unsigned int, std::list<ArServerClient *> *> ArCentralForwarder::myRequestOnces [protected]

std::map<unsigned int, ReturnType> ArCentralForwarder::myReturnTypes [protected]

bool ArCentralForwarder::myRobotHasCentralServerHeartbeat [protected]

std::string ArCentralForwarder::myRobotName [protected]

ArFunctor1C<ArCentralForwarder, ArServerClient *> ArCentralForwarder::myRobotServerClientRemovedCB [protected]

ArServerBase* ArCentralForwarder::myServer [protected]

ArSocket* ArCentralForwarder::mySocket [protected]

int ArCentralForwarder::myStartingPort [protected]

State ArCentralForwarder::myState [protected]

std::set<int>* ArCentralForwarder::myUsedPorts [protected]

ArServerBase* ArCentralForwarder::server [protected]


The documentation for this class was generated from the following files:
Generated on Fri Jul 31 12:37:28 2009 for ArNetworking by  doxygen 1.4.7