vrpn 07.35
Virtual Reality Peripheral Network
 
Loading...
Searching...
No Matches
vrpn_RedundantTransmission Class Reference

Helper class for vrpn_Connection that automates redundant transmission for unreliable (low-latency) messages. Call pack_messages() here instead of on your connection, and call mainloop() here before calling mainloop() on your connection. More...

#include <vrpn_RedundantTransmission.h>

Collaboration diagram for vrpn_RedundantTransmission:

Classes

struct  queuedMessage
 

Public Member Functions

 vrpn_RedundantTransmission (vrpn_Connection *c)
 
virtual ~vrpn_RedundantTransmission (void)
 
vrpn_uint32 defaultRetransmissions (void) const
 
timeval defaultInterval (void) const
 
vrpn_bool isEnabled (void) const
 
virtual void mainloop (void)
 Determines which messages need to be resent and queues them up on the connection for transmission.
 
void enable (vrpn_bool)
 
virtual void setDefaults (vrpn_uint32 numRetransmissions, timeval transmissionInterval)
 Set default values for future calls to pack_message().
 
virtual int pack_message (vrpn_uint32 len, timeval time, vrpn_uint32 type, vrpn_uint32 sender, const char *buffer, vrpn_uint32 class_of_service, vrpn_int32 numRetransmissions=-1, timeval *transmissionInterval=NULL)
 If !isEnabled(), does a normal pack_message(), but if isEnabled() ignores class_of_service and sends it vrpn_CONNECTION_LOW_LATENCY, sending it an additional number of times equal to numRetransmissions at minimum intervals of transmissionInterval. Specify -1 and NULL to use default values.
 

Protected Attributes

vrpn_Connectiond_connection
 
queuedMessaged_messageList
 
vrpn_uint32 d_numMessagesQueued
 For debugging, mostly.
 
vrpn_uint32 d_numTransmissions
 
timeval d_transmissionInterval
 
vrpn_bool d_isEnabled
 

Detailed Description

Helper class for vrpn_Connection that automates redundant transmission for unreliable (low-latency) messages. Call pack_messages() here instead of on your connection, and call mainloop() here before calling mainloop() on your connection.

Definition at line 20 of file vrpn_RedundantTransmission.h.

Constructor & Destructor Documentation

◆ vrpn_RedundantTransmission()

vrpn_RedundantTransmission::vrpn_RedundantTransmission ( vrpn_Connection * c)

◆ ~vrpn_RedundantTransmission()

vrpn_RedundantTransmission::~vrpn_RedundantTransmission ( void )
virtual

Definition at line 24 of file vrpn_RedundantTransmission.C.

References d_connection.

Member Function Documentation

◆ defaultInterval()

timeval vrpn_RedundantTransmission::defaultInterval ( void ) const

Definition at line 37 of file vrpn_RedundantTransmission.C.

References d_transmissionInterval.

◆ defaultRetransmissions()

vrpn_uint32 vrpn_RedundantTransmission::defaultRetransmissions ( void ) const

Definition at line 32 of file vrpn_RedundantTransmission.C.

References d_numTransmissions.

◆ enable()

void vrpn_RedundantTransmission::enable ( vrpn_bool on)

Definition at line 103 of file vrpn_RedundantTransmission.C.

References d_isEnabled.

Referenced by vrpn_RedundantController::handle_enable().

◆ isEnabled()

vrpn_bool vrpn_RedundantTransmission::isEnabled ( void ) const

Definition at line 42 of file vrpn_RedundantTransmission.C.

References d_isEnabled.

◆ mainloop()

◆ pack_message()

int vrpn_RedundantTransmission::pack_message ( vrpn_uint32 len,
timeval time,
vrpn_uint32 type,
vrpn_uint32 sender,
const char * buffer,
vrpn_uint32 class_of_service,
vrpn_int32 numRetransmissions = -1,
timeval * transmissionInterval = NULL )
virtual

◆ setDefaults()

void vrpn_RedundantTransmission::setDefaults ( vrpn_uint32 numRetransmissions,
timeval transmissionInterval )
virtual

Set default values for future calls to pack_message().

Definition at line 111 of file vrpn_RedundantTransmission.C.

References d_numTransmissions, and d_transmissionInterval.

Referenced by vrpn_RedundantController::handle_set().

Member Data Documentation

◆ d_connection

vrpn_Connection* vrpn_RedundantTransmission::d_connection
protected

◆ d_isEnabled

vrpn_bool vrpn_RedundantTransmission::d_isEnabled
protected

◆ d_messageList

queuedMessage* vrpn_RedundantTransmission::d_messageList
protected

Definition at line 66 of file vrpn_RedundantTransmission.h.

Referenced by mainloop(), pack_message(), and vrpn_RedundantTransmission().

◆ d_numMessagesQueued

vrpn_uint32 vrpn_RedundantTransmission::d_numMessagesQueued
protected

For debugging, mostly.

Definition at line 67 of file vrpn_RedundantTransmission.h.

Referenced by mainloop(), pack_message(), and vrpn_RedundantTransmission().

◆ d_numTransmissions

vrpn_uint32 vrpn_RedundantTransmission::d_numTransmissions
protected

◆ d_transmissionInterval

timeval vrpn_RedundantTransmission::d_transmissionInterval
protected

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