vrpn
07.33
Virtual Reality Peripheral Network
|
#include <stdio.h>
#include "vrpn_Configure.h"
#include "vrpn_Shared.h"
#include "vrpn_Types.h"
#include <sys/select.h>
Go to the source code of this file.
Classes | |
struct | vrpn_HANDLERPARAM |
This structure is what is passed to a vrpn_Connection message callback. More... | |
struct | vrpn_LOGLIST |
Placed here so vrpn_FileConnection can use it too. More... | |
struct | vrpnMsgCallbackEntry |
Description of a callback entry for a user type. More... | |
struct | vrpnLogFilterEntry |
class | vrpn_Endpoint |
Encapsulation of the data and methods for a single generic connection to take care of one part of many clients talking to a single server. More... | |
class | vrpn_Endpoint_IP |
Encapsulation of the data and methods for a single IP-based connection to take care of one part of many clients talking to a single server. More... | |
class | vrpn_Connection |
Generic connection class not specific to the transport mechanism. More... | |
class | vrpn_Connection_IP |
class | vrpn_Connection_Loopback |
Constructor for a Loopback connection that will basically just pass messages between objects that are connected to it. It offers no external connections, via IP or any other mechanism. It is useful if you want to make the client and server in the same connection and you don't need to have anything else connect. More... | |
class | vrpn_ConnectionManager |
Singleton class that keeps track of all known VRPN connections and makes sure they're deleted on shutdown. More... | |
Typedefs | |
typedef int(VRPN_CALLBACK * | vrpn_MESSAGEHANDLER) (void *userdata, vrpn_HANDLERPARAM p) |
Type of a message handler for vrpn_Connection messages. More... | |
typedef vrpn_MESSAGEHANDLER | vrpn_LOGFILTER |
Type of handler for filters on logfiles is the same as connection handler. More... | |
typedef char | cName[100] |
Length of names within VRPN. More... | |
Enumerations | |
enum | vrpn_ConnectionStatus { LISTEN = (1), CONNECTED = (0), COOKIE_PENDING = (-1), TRYING_TO_CONNECT = (-2), BROKEN = (-3), LOGGING = (-4) } |
This is the list of states that a connection can be in (possible values for status). doing_okay() returns VRPN_TRUE for connections > BROKEN. More... | |
Functions | |
VRPN_API vrpn_Connection * | vrpn_get_connection_by_name (const char *cname, const char *local_in_logfile_name=NULL, const char *local_out_logfile_name=NULL, const char *remote_in_logfile_name=NULL, const char *remote_out_logfile_name=NULL, const char *NIC_IPaddress=NULL, bool force_reopen=false) |
Create a client connection of arbitrary type (VRPN UDP/TCP, TCP, File, Loopback, MPI). More... | |
VRPN_API vrpn_Connection * | vrpn_create_server_connection (const char *cname, const char *local_in_logfile_name=NULL, const char *local_out_logfile_name=NULL) |
Create a server connection of arbitrary type (VRPN UDP/TCP, TCP, File, Loopback, MPI). More... | |
VRPN_API vrpn_Connection * | vrpn_create_server_connection (int port=vrpn_DEFAULT_LISTEN_PORT_NO, const char *local_in_logfile_name=NULL, const char *local_out_logfile_name=NULL, const char *NIC_NAME=NULL) |
Lets you make one with the default settings, or just ask for a specific port number on the default NIC on this machine. This matches the signature on the old constructor to make it easier to port existing servers. More... | |
VRPN_API char * | vrpn_copy_file_name (const char *filespecifier) |
Utility routines to parse file specifiers FROM service locations. More... | |
char * | vrpn_set_service_name (const char *specifier, const char *newServiceName) |
Utility routine to rename the service name of a given host specifier. More... | |
VRPN_API size_t | vrpn_cookie_size (void) |
Returns the size of the magic cookie buffer, plus any alignment overhead. More... | |
VRPN_API int | write_vrpn_cookie (char *buffer, size_t length, long remote_log_mode) |
Writes the magic cookie into buffer with given length. More... | |
Utility routines to parse names (<service>@<location specifier>) | |
Both return new char [], and it is the caller's responsibility to delete this memory! | |
VRPN_API char * | vrpn_copy_service_name (const char *fullname) |
VRPN_API char * | vrpn_copy_service_location (const char *fullname) |
Utility routines to parse host specifiers FROM service locations | |
<hostname> <hostname>:<port number>=""> x-vrpn://<hostname> x-vrpn://<hostname>:<port number>=""> x-vrsh://<hostname>/<server program>="">,<comma-separated server arguments> The caller is responsible for calling delete [] on the returned character pointer if it is not NULL. | |
VRPN_API char * | vrpn_copy_machine_name (const char *hostspecifier) |
VRPN_API int | vrpn_get_port_number (const char *hostspecifier) |
VRPN_API char * | vrpn_copy_rsh_program (const char *hostspecifier) |
VRPN_API char * | vrpn_copy_rsh_arguments (const char *hostspecifier) |
VRPN_API int | check_vrpn_cookie (const char *buffer) |
Checks the buffer to see if it is a valid VRPN header cookie. Returns -1 on total mismatch, 1 on minor version mismatch or other acceptable difference, and 0 on exact match. More... | |
VRPN_API int | check_vrpn_file_cookie (const char *buffer) |
Utility routines for reading from and writing to sockets/file | |
descriptors | |
int VRPN_API | vrpn_noint_block_write (int outfile, const char buffer[], size_t length) |
int VRPN_API | vrpn_noint_block_read (int infile, char buffer[], size_t length) |
int VRPN_API | vrpn_noint_select (int width, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) |
This routine will perform like a normal select() call, but it will restart if it quit because of an interrupt. More... | |
Variables | |
class VRPN_API | vrpn_File_Connection |
const unsigned | vrpn_ALIGN = 8 |
VRPN buffers are aligned on 8 byte boundaries so that we can pack and unpack doubles into them on architectures that cannot handle unaligned access. More... | |
const int | vrpn_ANY_SENDER = -1 |
vrpn_ANY_SENDER can be used to register callbacks on a given message type from any sender. More... | |
const int | vrpn_ANY_TYPE = -1 |
vrpn_ANY_TYPE can be used to register callbacks for any USER type of message from a given sender. System messages are handled separately. More... | |
const int | vrpn_MAX_ENDPOINTS = 256 |
Number of endpoints that a server connection can have. Arbitrary limit. More... | |
VRPN_API const char * | vrpn_CONTROL |
vrpn_CONTROL is the sender used for notification messages sent to the user from the local VRPN implementation (got_first_connection, etc.) and for control messages sent by auxiliary services. (Such as class vrpn_Controller, which will be introduced in a future revision.) More... | |
class VRPN_API | vrpn_Connection |
class VRPN_API | vrpn_Log |
class VRPN_API | vrpn_TranslationTable |
class VRPN_API | vrpn_TypeDispatcher |
const int | vrpn_CONNECTION_MAX_SENDERS = 2000 |
Types now have their storage dynamically allocated, so we can afford to have large tables. We need at least 150-200 for the microscope project as of Jan 98, and will eventually need two to three times that number. More... | |
const int | vrpn_CONNECTION_MAX_TYPES = 2000 |
Buffer lengths for TCP and UDP. | |
TCP is an arbitrary number that can be changed by the user using vrpn_Connection::set_tcp_outbuf_size(). UDP is set based on Ethernet maximum transmission size; trying to send a message via UDP which is longer than the MTU of any intervening physical network may cause untraceable failures, so for now we do not expose any way to change the UDP output buffer size. (MTU = 1500 bytes, - 28 bytes of IP+UDP header) | |
const int | vrpn_CONNECTION_TCP_BUFLEN = 64000 |
const int | vrpn_CONNECTION_UDP_BUFLEN = 1472 |
System message types | |
const vrpn_int32 | vrpn_CONNECTION_SENDER_DESCRIPTION = (-1) |
const vrpn_int32 | vrpn_CONNECTION_TYPE_DESCRIPTION = (-2) |
const vrpn_int32 | vrpn_CONNECTION_UDP_DESCRIPTION = (-3) |
const vrpn_int32 | vrpn_CONNECTION_LOG_DESCRIPTION = (-4) |
const vrpn_int32 | vrpn_CONNECTION_DISCONNECT_MESSAGE = (-5) |
const vrpn_uint32 | vrpn_CONNECTION_RELIABLE = (1 << 0) |
Classes of service for messages, specify multiple by ORing them together Priority of satisfying these should go from the top down (RELIABLE will override all others). Most of these flags may be ignored, but RELIABLE is guaranteed to be available. More... | |
const vrpn_uint32 | vrpn_CONNECTION_FIXED_LATENCY = (1 << 1) |
const vrpn_uint32 | vrpn_CONNECTION_LOW_LATENCY = (1 << 2) |
const vrpn_uint32 | vrpn_CONNECTION_FIXED_THROUGHPUT = (1 << 3) |
const vrpn_uint32 | vrpn_CONNECTION_HIGH_THROUGHPUT = (1 << 4) |
What to log | |
const long | vrpn_LOG_NONE = (0) |
const long | vrpn_LOG_INCOMING = (1 << 0) |
const long | vrpn_LOG_OUTGOING = (1 << 1) |
VRPN_API const char * | vrpn_got_first_connection |
These are the strings that define the system-generated message types that tell when connections are received and dropped. More... | |
VRPN_API const char * | vrpn_got_connection |
VRPN_API const char * | vrpn_dropped_connection |
VRPN_API const char * | vrpn_dropped_last_connection |
typedef char cName[100] |
Length of names within VRPN.
Definition at line 158 of file vrpn_Connection.h.
typedef vrpn_MESSAGEHANDLER vrpn_LOGFILTER |
Type of handler for filters on logfiles is the same as connection handler.
Definition at line 58 of file vrpn_Connection.h.
typedef int(VRPN_CALLBACK * vrpn_MESSAGEHANDLER) (void *userdata, vrpn_HANDLERPARAM p) |
Type of a message handler for vrpn_Connection messages.
Definition at line 53 of file vrpn_Connection.h.
This is the list of states that a connection can be in (possible values for status). doing_okay() returns VRPN_TRUE for connections > BROKEN.
Enumerator | |
---|---|
LISTEN | |
CONNECTED | |
COOKIE_PENDING | |
TRYING_TO_CONNECT | |
BROKEN | |
LOGGING |
Definition at line 28 of file vrpn_Connection.h.
VRPN_API int check_vrpn_cookie | ( | const char * | buffer | ) |
Checks the buffer to see if it is a valid VRPN header cookie. Returns -1 on total mismatch, 1 on minor version mismatch or other acceptable difference, and 0 on exact match.
Checks the buffer to see if it is a valid VRPN header cookie. Returns -1 on total mismatch, 1 on minor version mismatch or other acceptable difference, and 0 on exact match.
Returns -1 on a mismatch, 0 on an exact match, 1 on a minor version difference.
Definition at line 2557 of file vrpn_Connection.C.
References vrpn_MAGIC, and vrpn_MAGICLEN.
Referenced by vrpn_Endpoint_IP::finish_new_connection_setup().
VRPN_API int check_vrpn_file_cookie | ( | const char * | buffer | ) |
Definition at line 2590 of file vrpn_Connection.C.
References vrpn_FILE_MAGIC, vrpn_MAGIC, and vrpn_MAGICLEN.
Referenced by vrpn_File_Connection::read_cookie().
VRPN_API size_t vrpn_cookie_size | ( | void | ) |
Returns the size of the magic cookie buffer, plus any alignment overhead.
Definition at line 2630 of file vrpn_Connection.C.
References vrpn_ALIGN, and vrpn_MAGICLEN.
Referenced by vrpn_Endpoint_IP::finish_new_connection_setup(), vrpn_File_Connection::read_cookie(), vrpn_Log::saveLogSoFar(), vrpn_Log::setCookie(), vrpn_Endpoint_IP::setup_new_connection(), and vrpn_Log::vrpn_Log().
VRPN_API char* vrpn_copy_file_name | ( | const char * | filespecifier | ) |
Utility routines to parse file specifiers FROM service locations.
file:<filename>
file://<hostname>/<filename>
file:///<filename>
Definition at line 6372 of file vrpn_Connection.C.
Referenced by vrpn_File_Connection::vrpn_File_Connection().
VRPN_API char* vrpn_copy_machine_name | ( | const char * | hostspecifier | ) |
Definition at line 6434 of file vrpn_Connection.C.
Referenced by vrpn_Connection_IP::vrpn_Connection_IP(), and vrpn_create_server_connection().
VRPN_API char* vrpn_copy_rsh_arguments | ( | const char * | hostspecifier | ) |
Definition at line 6509 of file vrpn_Connection.C.
VRPN_API char* vrpn_copy_rsh_program | ( | const char * | hostspecifier | ) |
Definition at line 6484 of file vrpn_Connection.C.
VRPN_API char* vrpn_copy_service_location | ( | const char * | fullname | ) |
Definition at line 6353 of file vrpn_Connection.C.
Referenced by vrpn_Connection_IP::server_check_for_incoming_connections(), vrpn_create_server_connection(), and vrpn_set_service_name().
VRPN_API char* vrpn_copy_service_name | ( | const char * | fullname | ) |
Definition at line 6335 of file vrpn_Connection.C.
Referenced by vrpn_Imager_Stream_Buffer::setup_handlers_for_logging_connection(), vrpn_Imager_Stream_Buffer::teardown_handlers_for_logging_connection(), vrpn_BaseClass::vrpn_BaseClass(), and vrpn_Mutex::vrpn_Mutex().
VRPN_API vrpn_Connection* vrpn_create_server_connection | ( | const char * | cname, |
const char * | local_in_logfile_name = NULL , |
||
const char * | local_out_logfile_name = NULL |
||
) |
Create a server connection of arbitrary type (VRPN UDP/TCP, TCP, File, Loopback, MPI).
Returns NULL if the name is not understood or the connection cannot be created. WARNING: May not be thread safe. To create a VRPN TCP/UDP server, use a name like: vrpn:machine_name_or_ip:port machine_name_or_ip:port machine_name_or_ip :port (This port on any network card.) To create an MPI server, use a name like: mpi:MPI_COMM_WORLD mpi:comm_number When done with the object, call removeReference() on it (which will delete it if there are no other references).
Definition at line 5358 of file vrpn_Connection.C.
References vrpn_Connection::addReference(), vrpn_Connection::setAutoDeleteStatus(), vrpn_copy_machine_name(), vrpn_copy_service_location(), vrpn_DEFAULT_LISTEN_PORT_NO, and vrpn_get_port_number().
Referenced by vrpn_ConnectionPtr::create_server_connection(), vrpn_Forwarder_Server::start_remote_forwarding(), and vrpn_create_server_connection().
|
inline |
Lets you make one with the default settings, or just ask for a specific port number on the default NIC on this machine. This matches the signature on the old constructor to make it easier to port existing servers.
Definition at line 955 of file vrpn_Connection.h.
References vrpn_create_server_connection().
VRPN_API vrpn_Connection* vrpn_get_connection_by_name | ( | const char * | cname, |
const char * | local_in_logfile_name = NULL , |
||
const char * | local_out_logfile_name = NULL , |
||
const char * | remote_in_logfile_name = NULL , |
||
const char * | remote_out_logfile_name = NULL , |
||
const char * | NIC_IPaddress = NULL , |
||
bool | force_reopen = false |
||
) |
Create a client connection of arbitrary type (VRPN UDP/TCP, TCP, File, Loopback, MPI).
WARNING: May not be thread safe. If no IP address for the NIC to use is specified, uses the default NIC. If the force_reopen flag is set, a new connection will be made even if there was already one to that server. When done with the object, call removeReference() on it (which will delete it if there are no other references).
Definition at line 5277 of file vrpn_Connection.C.
References vrpn_Connection::addReference(), vrpn_ConnectionManager::getByName(), vrpn_ConnectionManager::instance(), vrpn_Connection::setAutoDeleteStatus(), vrpn_File_Connection, and vrpn_get_port_number().
Referenced by vrpn_PeerMutex::addPeer(), vrpn_Auxiliary_Logger_Server_Generic::handle_request_logging(), vrpn_Imager_Stream_Buffer::open_new_log_connection(), and vrpn_BaseClass::vrpn_BaseClass().
VRPN_API int vrpn_get_port_number | ( | const char * | hostspecifier | ) |
Definition at line 6464 of file vrpn_Connection.C.
References vrpn_DEFAULT_LISTEN_PORT_NO.
Referenced by vrpn_create_server_connection(), and vrpn_get_connection_by_name().
int VRPN_API vrpn_noint_block_read | ( | int | infile, |
char | buffer[], | ||
size_t | length | ||
) |
This routine will read in a block from the file descriptor.
It acts just like the read() routine does on normal files, so that it hides the fact that the descriptor may point to a socket. This will also take care of problems caused by interrupted system calls, retrying the read when they occur. This routine will either read the requested number of bytes and return that or return -1 (in the case of an error) or 0 (in the case of EOF being reached before all the data arrives).
Definition at line 1757 of file vrpn_Connection.C.
Referenced by vrpn_Endpoint_IP::finish_new_connection_setup(), vrpn_Endpoint_IP::getOneTCPMessage(), and vrpn_3DConnexion::mainloop().
int VRPN_API vrpn_noint_block_write | ( | int | outfile, |
const char | buffer[], | ||
size_t | length | ||
) |
This routine will write a block to a file descriptor. It acts just
like the write() system call does on files, but it will keep sending to a socket until an error or all of the data has gone. This will also take care of problems caused by interrupted system calls, retrying the write when they occur. It will also work when sending large blocks of data through socket connections, since it will send all of the data before returning. This routine will either write the requested number of bytes and return that or return -1 (in the case of an error) or 0 (in the case of EOF being reached before all the data is sent).
Definition at line 1721 of file vrpn_Connection.C.
Referenced by vrpn_Endpoint_IP::setup_new_connection().
int VRPN_API vrpn_noint_select | ( | int | width, |
fd_set * | readfds, | ||
fd_set * | writefds, | ||
fd_set * | exceptfds, | ||
struct timeval * | timeout | ||
) |
This routine will perform like a normal select() call, but it will restart if it quit because of an interrupt.
This makes it more robust in its function, and allows this code to perform properly on pxpl5, which sends USER1 interrupts while rendering an image.
Definition at line 1615 of file vrpn_Connection.C.
References vrpn_gettimeofday, vrpn_TimevalGreater(), and vrpn_TimevalSum().
Referenced by vrpn_Endpoint_IP::handle_tcp_messages(), vrpn_Endpoint_IP::handle_udp_messages(), vrpn_3DConnexion::mainloop(), vrpn_Endpoint_IP::mainloop(), vrpn_Endpoint_IP::poll_for_cookie(), vrpn_Endpoint_IP::send_pending_reports(), vrpn_Connection_IP::server_check_for_incoming_connections(), and vrpn_noint_block_read_timeout().
char* vrpn_set_service_name | ( | const char * | specifier, |
const char * | newServiceName | ||
) |
Utility routine to rename the service name of a given host specifier.
Definition at line 6541 of file vrpn_Connection.C.
References vrpn_copy_service_location().
VRPN_API int write_vrpn_cookie | ( | char * | buffer, |
size_t | length, | ||
long | remote_log_mode | ||
) |
Writes the magic cookie into buffer with given length.
On failure (if the buffer is too short), returns -1; otherwise returns 0.
This is exposed in vrpn_Connection.h so that we can write add_vrpn_cookie.
Definition at line 2542 of file vrpn_Connection.C.
References vrpn_ALIGN, vrpn_MAGIC, and vrpn_MAGICLEN.
Referenced by vrpn_Endpoint_IP::setup_new_connection(), and vrpn_Log::vrpn_Log().
const unsigned vrpn_ALIGN = 8 |
VRPN buffers are aligned on 8 byte boundaries so that we can pack and unpack doubles into them on architectures that cannot handle unaligned access.
Definition at line 63 of file vrpn_Connection.h.
Referenced by vrpn_cookie_size(), and write_vrpn_cookie().
const int vrpn_ANY_SENDER = -1 |
vrpn_ANY_SENDER can be used to register callbacks on a given message type from any sender.
Definition at line 77 of file vrpn_Connection.h.
Referenced by vrpn_RedundantReceiver::handle_possiblyRedundantMessage(), vrpn_Auxiliary_Logger_Server::vrpn_Auxiliary_Logger_Server(), vrpn_Imager_Server::vrpn_Imager_Server(), vrpn_Imager_Stream_Buffer::vrpn_Imager_Stream_Buffer(), and vrpn_ImagerPose_Server::vrpn_ImagerPose_Server().
const int vrpn_ANY_TYPE = -1 |
vrpn_ANY_TYPE can be used to register callbacks for any USER type of message from a given sender. System messages are handled separately.
Definition at line 82 of file vrpn_Connection.h.
Referenced by vrpn_RedundantReceiver::register_handler(), vrpn_Imager_Stream_Buffer::setup_handlers_for_logging_connection(), vrpn_Imager_Stream_Buffer::teardown_handlers_for_logging_connection(), and vrpn_RedundantReceiver::unregister_handler().
class VRPN_API vrpn_Connection |
Definition at line 188 of file vrpn_Connection.h.
const vrpn_int32 vrpn_CONNECTION_DISCONNECT_MESSAGE = (-5) |
Definition at line 110 of file vrpn_Connection.h.
Referenced by vrpn_Endpoint_IP::drop_connection(), and vrpn_Connection::init().
const vrpn_uint32 vrpn_CONNECTION_FIXED_LATENCY = (1 << 1) |
Definition at line 121 of file vrpn_Connection.h.
const vrpn_uint32 vrpn_CONNECTION_FIXED_THROUGHPUT = (1 << 3) |
Definition at line 123 of file vrpn_Connection.h.
const vrpn_uint32 vrpn_CONNECTION_HIGH_THROUGHPUT = (1 << 4) |
Definition at line 124 of file vrpn_Connection.h.
const vrpn_int32 vrpn_CONNECTION_LOG_DESCRIPTION = (-4) |
Definition at line 109 of file vrpn_Connection.h.
Referenced by vrpn_Endpoint::pack_log_description(), and vrpn_Connection::vrpn_Connection().
const vrpn_uint32 vrpn_CONNECTION_LOW_LATENCY = (1 << 2) |
Definition at line 122 of file vrpn_Connection.h.
Referenced by vrpn_Poser_Remote::client_send_pose(), vrpn_Poser_Remote::client_send_pose_relative(), vrpn_Poser_Remote::client_send_pose_velocity(), vrpn_Poser_Remote::client_send_pose_velocity_relative(), vrpn_Poser_Analog::handle_change_message(), vrpn_Poser_Analog::handle_vel_change_message(), vrpn_Tracker_GameTrak::mainloop(), vrpn_Tracker_JoyFly::mainloop(), vrpn_RedundantTransmission::mainloop(), vrpn_Tracker_AnalogFly::mainloop(), vrpn_Tracker_ButtonFly::mainloop(), vrpn_Tracker_NULL::mainloop(), vrpn_Tracker_Wintracker::on_data_received(), vrpn_Tracker_SpacePoint::on_data_received(), vrpn_Tracker_OSVRHackerDevKit::on_data_received(), vrpn_RedundantTransmission::pack_message(), vrpn_Joystick::report(), vrpn_Tracker_WiimoteHead::report(), vrpn_Wanda::report_new_valuator_info(), vrpn_Tracker_TrivisioColibri::send_report(), vrpn_Tracker_InterSense::send_report(), vrpn_Tracker_PhaseSpace::send_report(), vrpn_Tracker_Crossbow::send_report(), vrpn_Tracker_NDI_Polaris::send_report(), vrpn_Tracker_Serial::send_report(), vrpn_Tracker_USB::send_report(), vrpn_ForceDevice_Remote::sendForceField(), and vrpn_ForceDevice_Remote::sendSurface().
const int vrpn_CONNECTION_MAX_SENDERS = 2000 |
Types now have their storage dynamically allocated, so we can afford to have large tables. We need at least 150-200 for the microscope project as of Jan 98, and will eventually need two to three times that number.
Definition at line 70 of file vrpn_Connection.h.
const int vrpn_CONNECTION_MAX_TYPES = 2000 |
Definition at line 71 of file vrpn_Connection.h.
Referenced by vrpn_RedundantReceiver::~vrpn_RedundantReceiver().
const vrpn_uint32 vrpn_CONNECTION_RELIABLE = (1 << 0) |
Classes of service for messages, specify multiple by ORing them together Priority of satisfying these should go from the top down (RELIABLE will override all others). Most of these flags may be ignored, but RELIABLE is guaranteed to be available.
Definition at line 120 of file vrpn_Connection.h.
Referenced by vrpn_ForceDevice_Remote::addObject(), vrpn_ForceDevice_Remote::addObjectExScene(), vrpn_SharedObject::becomeSerializer(), vrpn_ForceDevice_Remote::clearObjectTrimesh(), vrpn_BaseClassUnique::client_mainloop(), vrpn_RedundantRemote::enable(), vrpn_Forwarder_Controller::forward_message_type(), vrpn_Nikon_Controls::handle_connect_message(), vrpn_Zaber::handle_connect_message(), vrpn_LUDL_USBMAC6000::handle_connect_message(), vrpn_BiosciencesTools::handle_connect_message(), vrpn_IDEA::handle_connect_message(), vrpn_SharedObject::handle_grantSerializer(), vrpn_Mutex_Server::handle_requestIndex(), vrpn_SharedObject::handle_requestSerializer(), vrpn_Tracker::handle_t2r_request(), vrpn_Tracker::handle_u2s_request(), vrpn_Tracker::handle_workspace_request(), vrpn_Sound_Client::LoadMaterial(), vrpn_Sound_Client::LoadModel_local(), vrpn_Sound_Client::LoadPolyQuad(), vrpn_Sound_Client::LoadPolyTri(), vrpn_Sound_Client::loadSound(), vrpn_Imager_Stream_Buffer::mainloop(), vrpn_ForceDevice_Remote::moveToParent(), vrpn_Endpoint::pack_log_description(), vrpn_Auxiliary_Logger::pack_log_message_of_type(), vrpn_Endpoint_IP::pack_message(), vrpn_Endpoint::pack_sender_description(), vrpn_Endpoint::pack_type_description(), vrpn_File_Controller::play_to_time(), vrpn_Sound_Client::playSound(), vrpn_ForceDevice_Remote::removeObject(), vrpn_ForceDevice_Remote::removeObjectTriangle(), vrpn_Dial::report(), vrpn_Dial::report_changes(), vrpn_Button::report_states(), vrpn_Tracker_Remote::request_t2r_xform(), vrpn_Tracker_Remote::request_u2s_xform(), vrpn_Tracker_Remote::request_workspace(), vrpn_FunctionGenerator_Remote::requestAllChannels(), vrpn_FunctionGenerator_Remote::requestChannel(), vrpn_FunctionGenerator_Remote::requestInterpreterDescription(), vrpn_FunctionGenerator_Remote::requestSampleRate(), vrpn_FunctionGenerator_Remote::requestStart(), vrpn_FunctionGenerator_Remote::requestStop(), vrpn_File_Controller::reset(), vrpn_Tracker_Remote::reset_origin(), vrpn_ForceDevice_Remote::send(), vrpn_Imager_Server::send_begin_frame(), vrpn_Imager_Server::send_description(), vrpn_ImagerPose_Server::send_description(), vrpn_Imager_Server::send_discarded_frames(), vrpn_Imager_Server::send_end_frame(), vrpn_Imager_Server::send_region_using_base_pointer(), vrpn_BaseClassUnique::send_text_message(), vrpn_FunctionGenerator_Server::sendChannelReply(), vrpn_Mutex::sendDenyRequest(), vrpn_ForceDevice::sendError(), vrpn_FunctionGenerator_Server::sendError(), vrpn_Mutex::sendGrantRequest(), vrpn_FunctionGenerator_Server::sendInterpreterDescription(), vrpn_Mutex::sendRelease(), vrpn_Mutex::sendReleaseNotification(), vrpn_Mutex::sendRequest(), vrpn_FunctionGenerator_Server::sendSampleRateReply(), vrpn_FunctionGenerator_Server::sendStartReply(), vrpn_FunctionGenerator_Server::sendStopReply(), vrpn_Shared_int32::sendUpdate(), vrpn_Shared_float64::sendUpdate(), vrpn_Shared_String::sendUpdate(), vrpn_RedundantRemote::set(), vrpn_File_Controller::set_replay_rate(), vrpn_Tracker_Remote::set_update_rate(), vrpn_FunctionGenerator_Remote::setChannel(), vrpn_ForceDevice_Remote::setHapticOrigin(), vrpn_ForceDevice_Remote::setHapticScale(), vrpn_Sound_Client::setListenerPose(), vrpn_Sound_Client::setListenerVelocity(), vrpn_ForceDevice_Remote::setObjectIsTouchable(), vrpn_ForceDevice_Remote::setObjectNormal(), vrpn_ForceDevice_Remote::setObjectOrientation(), vrpn_ForceDevice_Remote::setObjectPosition(), vrpn_ForceDevice_Remote::setObjectScale(), vrpn_ForceDevice_Remote::setObjectTriangle(), vrpn_ForceDevice_Remote::setObjectTrimeshTransform(), vrpn_ForceDevice_Remote::setObjectVertex(), vrpn_Sound_Client::setPolyMaterialName(), vrpn_Sound_Client::setPolyOF(), vrpn_Sound_Client::setQuadVertices(), vrpn_ForceDevice_Remote::setSceneOrigin(), vrpn_Sound_Client::setSoundConeInfo(), vrpn_Sound_Client::setSoundDistances(), vrpn_Sound_Client::setSoundDopScale(), vrpn_Sound_Client::setSoundEqValue(), vrpn_Sound_Client::setSoundPitch(), vrpn_Sound_Client::setSoundPose(), vrpn_Sound_Client::setSoundVelocity(), vrpn_Sound_Client::setSoundVolume(), vrpn_Sound_Client::setTriVertices(), vrpn_Forwarder_Controller::start_remote_forwarding(), vrpn_ForceDevice_Remote::startEffect(), vrpn_ForceDevice_Remote::startSurface(), vrpn_ForceDevice_Remote::stopEffect(), vrpn_ForceDevice_Remote::stopForceField(), vrpn_Sound_Client::stopSound(), vrpn_ForceDevice_Remote::stopSurface(), vrpn_Imager_Remote::throttle_sender(), vrpn_Sound_Client::unloadSound(), vrpn_ForceDevice_Remote::updateObjectTrimeshChanges(), vrpn_ForceDevice_Remote::useGhost(), and vrpn_ForceDevice_Remote::useHcollide().
const vrpn_int32 vrpn_CONNECTION_SENDER_DESCRIPTION = (-1) |
Definition at line 106 of file vrpn_Connection.h.
Referenced by vrpn_Connection::init(), and vrpn_Endpoint::pack_sender_description().
const int vrpn_CONNECTION_TCP_BUFLEN = 64000 |
Definition at line 95 of file vrpn_Connection.h.
Referenced by vrpn_Imager_Stream_Buffer::handle_image_description(), vrpn_Imager_Stream_Buffer::handle_server_messages(), vrpn_FunctionGenerator_Remote::requestAllChannels(), vrpn_FunctionGenerator_Remote::requestChannel(), vrpn_FunctionGenerator_Remote::requestInterpreterDescription(), vrpn_FunctionGenerator_Remote::requestSampleRate(), vrpn_FunctionGenerator_Remote::requestStart(), vrpn_FunctionGenerator_Remote::requestStop(), vrpn_Imager_Server::send_begin_frame(), vrpn_Imager_Server::send_description(), vrpn_ImagerPose_Server::send_description(), vrpn_Imager_Server::send_discarded_frames(), vrpn_Imager_Server::send_end_frame(), vrpn_Imager_Server::send_region_using_base_pointer(), vrpn_FunctionGenerator_Server::sendChannelReply(), vrpn_FunctionGenerator_Server::sendError(), vrpn_FunctionGenerator_Server::sendInterpreterDescription(), vrpn_FunctionGenerator_Server::sendSampleRateReply(), vrpn_FunctionGenerator_Server::sendStartReply(), vrpn_FunctionGenerator_Server::sendStopReply(), vrpn_FunctionGenerator_Remote::setChannel(), and vrpn_Imager_Remote::throttle_sender().
const vrpn_int32 vrpn_CONNECTION_TYPE_DESCRIPTION = (-2) |
Definition at line 107 of file vrpn_Connection.h.
Referenced by vrpn_Connection::init(), and vrpn_Endpoint::pack_type_description().
const int vrpn_CONNECTION_UDP_BUFLEN = 1472 |
Definition at line 96 of file vrpn_Connection.h.
const vrpn_int32 vrpn_CONNECTION_UDP_DESCRIPTION = (-3) |
Definition at line 108 of file vrpn_Connection.h.
Referenced by vrpn_Connection_IP::init(), and vrpn_File_Connection::playone_to_filetime().
VRPN_API const char* vrpn_CONTROL |
vrpn_CONTROL is the sender used for notification messages sent to the user from the local VRPN implementation (got_first_connection, etc.) and for control messages sent by auxiliary services. (Such as class vrpn_Controller, which will be introduced in a future revision.)
Definition at line 190 of file vrpn_Connection.C.
Referenced by vrpn_PeerMutex::addPeer(), vrpn_Endpoint_IP::drop_connection(), and vrpn_Connection::init().
VRPN_API const char* vrpn_dropped_connection |
Definition at line 186 of file vrpn_Connection.C.
Referenced by vrpn_PeerMutex::addPeer(), vrpn_BaseClassUnique::client_mainloop(), vrpn_Endpoint_IP::drop_connection(), vrpn_Connection::init(), and vrpn_Imager_Remote::vrpn_Imager_Remote().
VRPN_API const char* vrpn_dropped_last_connection |
Definition at line 187 of file vrpn_Connection.C.
Referenced by vrpn_Endpoint_IP::drop_connection(), vrpn_Connection::init(), vrpn_Retrolink::init_hid(), vrpn_Logitech_Controller_Raw::init_hid(), vrpn_CHProducts_Controller_Raw::init_hid(), vrpn_Saitek_Controller_Raw::init_hid(), vrpn_Griffin::init_hid(), vrpn_Contour::init_hid(), vrpn_Futaba::init_hid(), vrpn_Xkeys::init_hid(), vrpn_Microsoft_Controller_Raw::init_hid(), vrpn_Auxiliary_Logger_Server::vrpn_Auxiliary_Logger_Server(), vrpn_Imager_Server::vrpn_Imager_Server(), vrpn_Mutex_Server::vrpn_Mutex_Server(), vrpn_WiiMote::vrpn_WiiMote(), and vrpn_Mutex_Server::~vrpn_Mutex_Server().
class VRPN_API vrpn_File_Connection |
Definition at line 37 of file vrpn_Connection.h.
Referenced by vrpn_get_connection_by_name().
VRPN_API const char* vrpn_got_connection |
Definition at line 185 of file vrpn_Connection.C.
Referenced by vrpn_Connection::init(), vrpn_Retrolink::init_hid(), vrpn_Logitech_Controller_Raw::init_hid(), vrpn_Saitek_Controller_Raw::init_hid(), vrpn_CHProducts_Controller_Raw::init_hid(), vrpn_Contour::init_hid(), vrpn_Futaba::init_hid(), vrpn_Griffin::init_hid(), vrpn_Xkeys::init_hid(), vrpn_Microsoft_Controller_Raw::init_hid(), vrpn_Analog_Output::register_types(), vrpn_FunctionGenerator::register_types(), vrpn_Imager_Server::vrpn_Imager_Server(), vrpn_ImagerPose_Server::vrpn_ImagerPose_Server(), vrpn_Mutex_Remote::vrpn_Mutex_Remote(), vrpn_Mutex_Server::vrpn_Mutex_Server(), vrpn_Tracker_JoyFly::vrpn_Tracker_JoyFly(), vrpn_Tracker_WiimoteHead::vrpn_Tracker_WiimoteHead(), vrpn_Mutex_Remote::~vrpn_Mutex_Remote(), vrpn_Mutex_Server::~vrpn_Mutex_Server(), and vrpn_SharedObject::~vrpn_SharedObject().
VRPN_API const char* vrpn_got_first_connection |
These are the strings that define the system-generated message types that tell when connections are received and dropped.
Definition at line 184 of file vrpn_Connection.C.
Referenced by vrpn_Connection::init(), vrpn_GlobalHapticsOrb::vrpn_GlobalHapticsOrb(), vrpn_Imager_Stream_Buffer::vrpn_Imager_Stream_Buffer(), vrpn_raw_SGIBox::vrpn_raw_SGIBox(), vrpn_Tracker_AnalogFly::vrpn_Tracker_AnalogFly(), and vrpn_Tracker_ButtonFly::vrpn_Tracker_ButtonFly().
Definition at line 189 of file vrpn_Connection.h.
Referenced by vrpn_Endpoint::init().
const long vrpn_LOG_INCOMING = (1 << 0) |
Definition at line 131 of file vrpn_Connection.h.
Referenced by vrpn_Endpoint_IP::finish_new_connection_setup(), vrpn_Connection::handle_log_message(), vrpn_Log::logIncomingMessage(), vrpn_Connection_IP::server_check_for_incoming_connections(), and vrpn_Connection::vrpn_Connection().
const long vrpn_LOG_NONE = (0) |
Definition at line 130 of file vrpn_Connection.h.
Referenced by vrpn_Connection::vrpn_Connection(), and vrpn_Log::vrpn_Log().
const long vrpn_LOG_OUTGOING = (1 << 1) |
Definition at line 132 of file vrpn_Connection.h.
Referenced by vrpn_Endpoint_IP::finish_new_connection_setup(), vrpn_Connection::handle_log_message(), vrpn_Log::logOutgoingMessage(), and vrpn_Connection::vrpn_Connection().
const int vrpn_MAX_ENDPOINTS = 256 |
Number of endpoints that a server connection can have. Arbitrary limit.
Definition at line 102 of file vrpn_Connection.h.
Referenced by vrpn_Connection_IP::connect_to_client(), vrpn_Connection::init(), and vrpn_Connection_IP::server_check_for_incoming_connections().
class VRPN_API vrpn_TranslationTable |
Definition at line 190 of file vrpn_Connection.h.
Referenced by vrpn_Endpoint::init().
class VRPN_API vrpn_TypeDispatcher |
Definition at line 191 of file vrpn_Connection.h.
Referenced by vrpn_Connection::init().