Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

WorldStateSerializerBehavior Class Reference

#include <WorldStateSerializerBehavior.h>

Inheritance diagram for WorldStateSerializerBehavior:

Inheritance graph
[legend]
List of all members.

Detailed Description

Copies WorldState into a buffer for transmission over the network.

To determine the communication protocol, just look in the processEvent() function - it's pretty straightforward binary copy of values.

Protocol:

Definition at line 29 of file WorldStateSerializerBehavior.h.

Public Member Functions

 WorldStateSerializerBehavior ()
 constructor
virtual void DoStart ()
 starts listening for sensor update events
virtual void DoStop ()
 stops listening for events
virtual void processEvent (const EventBase &e)
 core functionality - performs serialization, sends to sockets
virtual std::string getDescription () const
 Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis).

Static Public Member Functions

static std::string getClassDescription ()
 Gives a short description of what this class of behaviors does... you should override this (but don't have to).

Static Protected Member Functions

template<class T>
static void encode (char **dst, const T &value)
 writes value to dst and advances dst
template<class T>
static void encode (char **dst, const T *src, int num)
 writes length bytes from src to dst

Protected Attributes

SocketwsJoints
 socket for sending current joint data
SocketwsPIDs
 socket for sending current PID info
unsigned int lastProcessedTime
 the time that the last event was processed

Private Member Functions

 WorldStateSerializerBehavior (const WorldStateSerializerBehavior &)
 don't call
WorldStateSerializerBehavioroperator= (const WorldStateSerializerBehavior &)
 don't call


Constructor & Destructor Documentation

WorldStateSerializerBehavior::WorldStateSerializerBehavior  ) 
 

constructor

Definition at line 7 of file WorldStateSerializerBehavior.cc.

WorldStateSerializerBehavior::WorldStateSerializerBehavior const WorldStateSerializerBehavior  )  [private]
 

don't call


Member Function Documentation

void WorldStateSerializerBehavior::DoStart  )  [virtual]
 

starts listening for sensor update events

Reimplemented from BehaviorBase.

Definition at line 18 of file WorldStateSerializerBehavior.cc.

void WorldStateSerializerBehavior::DoStop  )  [virtual]
 

stops listening for events

Reimplemented from BehaviorBase.

Definition at line 23 of file WorldStateSerializerBehavior.cc.

template<class T>
static void WorldStateSerializerBehavior::encode char **  dst,
const T *  src,
int  num
[inline, static, protected]
 

writes length bytes from src to dst

Definition at line 55 of file WorldStateSerializerBehavior.h.

template<class T>
static void WorldStateSerializerBehavior::encode char **  dst,
const T &  value
[inline, static, protected]
 

writes value to dst and advances dst

Definition at line 46 of file WorldStateSerializerBehavior.h.

Referenced by processEvent().

static std::string WorldStateSerializerBehavior::getClassDescription  )  [inline, static]
 

Gives a short description of what this class of behaviors does... you should override this (but don't have to).

If you do override this, also consider overriding getDescription() to return it

Reimplemented from BehaviorBase.

Definition at line 36 of file WorldStateSerializerBehavior.h.

Referenced by getDescription().

virtual std::string WorldStateSerializerBehavior::getDescription  )  const [inline, virtual]
 

Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis).

By default simply returns getName(), because any calls from a BehaviorBase function to getClassDescription() are going to call BehaviorBase::getClassDescription(), not ~YourSubClass~getClassDescription(), because static functions can't be virtual in C++ (doh!)

This means that getDescription called on a pointer to a BehaviorBase of unknown subtype would always return an empty string, which is pretty useless. So instead we return the name in this situation. If you want getDescription to return getClassDescription, you'll have to override it in your subclass to do so.

Reimplemented from BehaviorBase.

Definition at line 41 of file WorldStateSerializerBehavior.h.

WorldStateSerializerBehavior& WorldStateSerializerBehavior::operator= const WorldStateSerializerBehavior  )  [private]
 

don't call

void WorldStateSerializerBehavior::processEvent const EventBase e  )  [virtual]
 

core functionality - performs serialization, sends to sockets

Reimplemented from BehaviorBase.

Definition at line 28 of file WorldStateSerializerBehavior.cc.


Member Data Documentation

unsigned int WorldStateSerializerBehavior::lastProcessedTime [protected]
 

the time that the last event was processed

Definition at line 62 of file WorldStateSerializerBehavior.h.

Referenced by processEvent().

Socket* WorldStateSerializerBehavior::wsJoints [protected]
 

socket for sending current joint data

Definition at line 60 of file WorldStateSerializerBehavior.h.

Referenced by processEvent(), and WorldStateSerializerBehavior().

Socket* WorldStateSerializerBehavior::wsPIDs [protected]
 

socket for sending current PID info

Definition at line 61 of file WorldStateSerializerBehavior.h.

Referenced by processEvent(), and WorldStateSerializerBehavior().


The documentation for this class was generated from the following files:

Tekkotsu v2.4.1
Generated Tue Aug 16 16:35:13 2005 by Doxygen 1.4.4