vrpn  07.33
Virtual Reality Peripheral Network
vrpn_Shared_int32_Server Class Reference

#include <vrpn_SharedObject.h>

Inheritance diagram for vrpn_Shared_int32_Server:
Collaboration diagram for vrpn_Shared_int32_Server:

Public Member Functions

 vrpn_Shared_int32_Server (const char *name, vrpn_int32 defaultValue=0, vrpn_int32 defaultMode=VRPN_SO_DEFAULT)
 
virtual ~vrpn_Shared_int32_Server (void)
 
vrpn_Shared_int32_Serveroperator= (vrpn_int32 newValue)
 
virtual void bindConnection (vrpn_Connection *)
 Every derived class should call this, do what it needs to, < and ALSO call {server,remote}PostBindCleanup() to get < myId and peerId set up and to get standard handlers registered. More...
 
- Public Member Functions inherited from vrpn_Shared_int32
 vrpn_Shared_int32 (const char *name, vrpn_int32 defaultValue=0, vrpn_int32 mode=VRPN_SO_DEFAULT)
 
virtual ~vrpn_Shared_int32 (void)
 
vrpn_int32 value (void) const
 
 operator vrpn_int32 () const
 
vrpn_Shared_int32operator= (vrpn_int32 newValue)
 
vrpn_Shared_int32set (vrpn_int32 newValue, timeval when)
 
void register_handler (vrpnSharedIntCallback, void *)
 
void unregister_handler (vrpnSharedIntCallback, void *)
 
void register_handler (vrpnTimedSharedIntCallback, void *)
 
void unregister_handler (vrpnTimedSharedIntCallback, void *)
 
void setSerializerPolicy (vrpn_SerializerPolicy policy=vrpn_ACCEPT, vrpnSharedIntSerializerPolicy f=NULL, void *userdata=NULL)
 
- Public Member Functions inherited from vrpn_SharedObject
 vrpn_SharedObject (const char *name, const char *tname, vrpn_int32 mode)
 
virtual ~vrpn_SharedObject (void)
 
const char * name (void) const
 
vrpn_bool isSerializer (void) const
 
void useLamportClock (vrpn_LamportClock *)
 Lamport Clocks are NOT currently integrated. They should < provide serialization (virtual timestamps) that work even < when the clocks of the computers communicating are not < roughly synchronized. More...
 
void becomeSerializer (void)
 Requests that this instance of the shared object becomes < the serializer (i.e. lock-arbitrator), and we can then use < setSerializerPolicy to imitate a complete lock. Does nothing < if we already are the serializer (isSerializer() returns true); < otherwise initiates a 3-phase request protocol with the < current serializer. There currently isn't any provision for < notification of success (or failure). More...
 
void registerDeferredUpdateCallback (vrpnDeferredUpdateCallback, void *userdata)
 The specified function will be passed userdata when this < particular shared object defers an update (receives a local < update but is not the serializer and so sends the update off < to the serializer). Intended to allow insertion of timing < code for those times when you really want to know how long < every little thing is taking. More...
 

Additional Inherited Members

- Protected Member Functions inherited from vrpn_Shared_int32
vrpn_Shared_int32set (vrpn_int32, timeval, vrpn_bool isLocalSet, vrpn_LamportTimestamp *=NULL)
 
virtual vrpn_bool shouldAcceptUpdate (vrpn_int32 newValue, timeval when, vrpn_bool isLocalSet, vrpn_LamportTimestamp *)
 
virtual void sendUpdate (void)
 Should invoke default sendUpdate() for this derived type. More...
 
void sendUpdate (vrpn_int32 newValue, timeval when)
 
void encode (char **buffer, vrpn_int32 *len, vrpn_int32 newValue, timeval when) const
 
void encodeLamport (char **buffer, vrpn_int32 *len, vrpn_int32 newValue, timeval when, vrpn_LamportTimestamp *t) const
 
void decode (const char **buffer, vrpn_int32 *len, vrpn_int32 *newValue, timeval *when) const
 
void decodeLamport (const char **buffer, vrpn_int32 *len, vrpn_int32 *newValue, timeval *when, vrpn_LamportTimestamp **t) const
 
int yankCallbacks (vrpn_bool isLocal)
 
int handleUpdate (vrpn_HANDLERPARAM)
 
- Protected Member Functions inherited from vrpn_SharedObject
virtual vrpn_bool shouldSendUpdate (vrpn_bool isLocalSet, vrpn_bool acceptedUpdate)
 
int yankCallbacks (vrpn_bool isLocal)
 must set d_lastUpdate BEFORE calling yankCallbacks() More...
 
int yankDeferredUpdateCallbacks (void)
 returns -1 on error (i.e. nonzero return by a callback) More...
 
void serverPostBindCleanup (void)
 
void remotePostBindCleanup (void)
 
- Static Protected Member Functions inherited from vrpn_Shared_int32
static int VRPN_CALLBACK handle_lamportUpdate (void *, vrpn_HANDLERPARAM)
 
- Static Protected Member Functions inherited from vrpn_SharedObject
static int VRPN_CALLBACK handle_requestSerializer (void *, vrpn_HANDLERPARAM)
 
static int VRPN_CALLBACK handle_grantSerializer (void *, vrpn_HANDLERPARAM)
 
static int VRPN_CALLBACK handle_assumeSerializer (void *, vrpn_HANDLERPARAM)
 
static int VRPN_CALLBACK handle_gotConnection (void *, vrpn_HANDLERPARAM)
 Register this handler in postBindCleanup(); < it calls sendUpdate() to make sure the remote has the < correct value on first connection. More...
 
static int VRPN_CALLBACK handle_update (void *, vrpn_HANDLERPARAM)
 Passes arguments to handleUpdate() for this type; < registered in postBindCleanup();. More...
 
- Protected Attributes inherited from vrpn_Shared_int32
vrpn_int32 d_value
 
callbackEntryd_callbacks
 
timedCallbackEntryd_timedCallbacks
 
vrpn_SerializerPolicy d_policy
 
vrpnSharedIntSerializerPolicy d_policyCallback
 
void * d_policyUserdata
 
- Protected Attributes inherited from vrpn_SharedObject
char * d_name
 
vrpn_int32 d_mode
 
timeval d_lastUpdate
 
char * d_typename
 
vrpn_Connectiond_connection
 
vrpn_int32 d_serverId
 
vrpn_int32 d_remoteId
 
vrpn_int32 d_myId
 
vrpn_int32 d_peerId
 
vrpn_int32 d_update_type
 
vrpn_int32 d_requestSerializer_type
 Sent to the serializer to assume its duties. More...
 
vrpn_int32 d_grantSerializer_type
 Sent by the serializer to grant a request. More...
 
vrpn_int32 d_assumeSerializer_type
 Sent by a new serializer once it has been notified that < its request has been granted. More...
 
vrpn_int32 d_lamportUpdate_type
 
vrpn_bool d_isSerializer
 default to vrpn_TRUE for servers, FALSE for remotes More...
 
vrpn_bool d_isNegotiatingSerializer
 As long as we have inorder delivery, this should be < sufficient to keep us from getting many at once. More...
 
vrpn_bool d_queueSets
 If this is true, no set()s are processed; instead, they < are queued for later execution. < NOT IMPLEMENTED. More...
 
vrpn_LamportClockd_lClock
 
vrpn_LamportTimestampd_lastLamportUpdate
 
deferredUpdateCallbackEntryd_deferredUpdateCallbacks
 

Detailed Description

Definition at line 342 of file vrpn_SharedObject.h.

Constructor & Destructor Documentation

vrpn_Shared_int32_Server::vrpn_Shared_int32_Server ( const char *  name,
vrpn_int32  defaultValue = 0,
vrpn_int32  defaultMode = VRPN_SO_DEFAULT 
)

Definition at line 759 of file vrpn_SharedObject.C.

References vrpn_SharedObject::d_isSerializer.

vrpn_Shared_int32_Server::~vrpn_Shared_int32_Server ( void  )
virtual

Definition at line 769 of file vrpn_SharedObject.C.

Member Function Documentation

void vrpn_Shared_int32_Server::bindConnection ( vrpn_Connection c)
virtual

Every derived class should call this, do what it needs to, < and ALSO call {server,remote}PostBindCleanup() to get < myId and peerId set up and to get standard handlers registered.

Reimplemented from vrpn_SharedObject.

Definition at line 778 of file vrpn_SharedObject.C.

References vrpn_SharedObject::bindConnection(), and vrpn_SharedObject::serverPostBindCleanup().

Here is the call graph for this function:

vrpn_Shared_int32_Server & vrpn_Shared_int32_Server::operator= ( vrpn_int32  newValue)

Definition at line 771 of file vrpn_SharedObject.C.

References vrpn_Shared_int32::operator=().

Here is the call graph for this function:


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