![]() |
ViSP
2.6.2
|
#include <vpNetwork.h>
Classes | |
struct | vpEmitter |
struct | vpReceptor |
Public Member Functions | |
vpNetwork () | |
virtual | ~vpNetwork () |
void | addDecodingRequest (vpRequest *) |
int | getReceptorIndex (const char *name) |
std::string | getRequestIdFromIndex (const int &ind) |
unsigned int | getMaxSizeReceivedMessage () |
virtual void | print (const char *id="") |
template<typename T > | |
int | receive (T *object, const int &sizeOfObject=sizeof(T)) |
template<typename T > | |
int | receiveFrom (T *object, const int &receptorEmitting, const int &sizeOfObject=sizeof(T)) |
std::vector< int > | receiveRequest () |
std::vector< int > | receiveRequestFrom (const int &receptorEmitting) |
int | receiveRequestOnce () |
int | receiveRequestOnceFrom (const int &receptorEmitting) |
std::vector< int > | receiveAndDecodeRequest () |
std::vector< int > | receiveAndDecodeRequestFrom (const int &receptorEmitting) |
int | receiveAndDecodeRequestOnce () |
int | receiveAndDecodeRequestOnceFrom (const int &receptorEmitting) |
void | removeDecodingRequest (const char *) |
template<typename T > | |
int | send (T *object, const int &sizeOfObject=sizeof(T)) |
template<typename T > | |
int | sendTo (T *object, const int &dest, const int &sizeOfObject=sizeof(T)) |
int | sendRequest (vpRequest &req) |
int | sendRequestTo (vpRequest &req, const int &dest) |
int | sendAndEncodeRequest (vpRequest &req) |
int | sendAndEncodeRequestTo (vpRequest &req, const int &dest) |
void | setMaxSizeReceivedMessage (const unsigned int &s) |
void | setTimeoutSec (const long &sec) |
void | setTimeoutUSec (const long &usec) |
void | setVerbose (const bool &mode) |
Protected Attributes | |
vpEmitter | emitter |
std::vector< vpReceptor > | receptor_list |
fd_set | readFileDescriptor |
int | socketMax |
std::vector< vpRequest * > | request_list |
unsigned int | max_size_message |
std::string | separator |
std::string | beginning |
std::string | end |
std::string | param_sep |
std::string | currentMessageReceived |
struct timeval | tv |
long | tv_sec |
long | tv_usec |
bool | verboseMode |
This class represents a Transmission Control Protocol (TCP) network.
TCP provides reliable, ordered delivery of a stream of bytes from a program on one computer to another program on another computer.
Definition at line 83 of file vpNetwork.h.
vpNetwork::vpNetwork | ( | ) |
Definition at line 44 of file vpNetwork.cpp.
References beginning, end, max_size_message, param_sep, separator, tv_sec, tv_usec, and verboseMode.
|
virtual |
Definition at line 66 of file vpNetwork.cpp.
void vpNetwork::addDecodingRequest | ( | vpRequest * | req | ) |
Add a decoding request to the emitter. This request will be used to decode the received messages. Each request must have a different id.
req | : Request to add. |
Definition at line 84 of file vpNetwork.cpp.
References vpRequest::getId(), and request_list.
|
inline |
Get the maximum size that the emitter can receive (in request mode).
Definition at line 168 of file vpNetwork.h.
int vpNetwork::getReceptorIndex | ( | const char * | name | ) |
Get the receptor index from its name. The name can be either the IP, or its name on the network.
name | : Name of the receptor. |
Definition at line 139 of file vpNetwork.cpp.
References receptor_list, and vpERROR_TRACE.
|
inline |
Get the Id of the request at the index ind.
ind | : Index of the request. |
Definition at line 155 of file vpNetwork.h.
|
virtual |
Print the receptors.
id | : Message to display before the receptor's index. |
Definition at line 124 of file vpNetwork.cpp.
References receptor_list.
Referenced by vpClient::print(), and vpServer::print().
int vpNetwork::receive | ( | T * | object, |
const int & | sizeOfObject = sizeof(T) |
||
) |
Receives a object. The size of the received object is suppose to be the size of the type of the object. Note that a received message can correspond to a deconnection signal.
object | : Received object. |
sizeOfObject | : Size of the received object. |
Definition at line 261 of file vpNetwork.h.
References tv, tv_sec, tv_usec, vpERROR_TRACE, and vpTRACE.
std::vector< int > vpNetwork::receiveAndDecodeRequest | ( | ) |
Receives and decode requests untils there is requests to receive.
Definition at line 371 of file vpNetwork.cpp.
References receiveRequest(), and request_list.
std::vector< int > vpNetwork::receiveAndDecodeRequestFrom | ( | const int & | receptorEmitting | ) |
Receives and decode requests, from a specific emitter, untils there is request to receive.
receptorEmitting | : Index of the receptor emitting the message |
Definition at line 397 of file vpNetwork.cpp.
References receiveRequestFrom(), and request_list.
int vpNetwork::receiveAndDecodeRequestOnce | ( | ) |
Receives a message once (in the limit of the Maximum message size value). This message can represent an entire request or not. Several calls to this function might be necessary to get the entire request. If it represents an entire request, it decodes the request.
Definition at line 426 of file vpNetwork.cpp.
References receiveRequestOnce(), and request_list.
int vpNetwork::receiveAndDecodeRequestOnceFrom | ( | const int & | receptorEmitting | ) |
Receives a message once (in the limit of the Maximum message size value), from a specific emitter. This message can represent an entire request or not. Several calls to this function might be necessary to get the entire request. If it represents an entire request, it decodes the request.
receptorEmitting | : Index of the receptor emitting the message. |
Definition at line 456 of file vpNetwork.cpp.
References receiveRequestOnceFrom(), and request_list.
int vpNetwork::receiveFrom | ( | T * | object, |
const int & | receptorEmitting, | ||
const int & | sizeOfObject = sizeof(T) |
||
) |
Receives a object from a receptor, by specifying its size or not. Note that a received message can correspond to a deconnection signal.
object | : Received object. |
receptorEmitting | : Index of the receptor emitting the message. |
sizeOfObject | : Size of the received object. |
Definition at line 337 of file vpNetwork.h.
References tv, tv_sec, tv_usec, vpERROR_TRACE, and vpTRACE.
std::vector< int > vpNetwork::receiveRequest | ( | ) |
Receive requests untils there is requests to receive.
Definition at line 279 of file vpNetwork.cpp.
Referenced by receiveAndDecodeRequest().
std::vector< int > vpNetwork::receiveRequestFrom | ( | const int & | receptorEmitting | ) |
Receives requests, from a specific emitter, untils there is request to receive.
receptorEmitting | : Index of the receptor emitting the message |
Definition at line 301 of file vpNetwork.cpp.
Referenced by receiveAndDecodeRequestFrom().
int vpNetwork::receiveRequestOnce | ( | ) |
Receives a message once (in the limit of the Maximum message size value). This message can represent an entire request or not. Several calls to this function might be necessary to get the entire request.
Definition at line 325 of file vpNetwork.cpp.
Referenced by receiveAndDecodeRequestOnce().
int vpNetwork::receiveRequestOnceFrom | ( | const int & | receptorEmitting | ) |
Receives a message once (in the limit of the Maximum message size value), from a specific emitter. This message can represent an entire request or not. Several calls to this function might be necessary to get the entire request.
receptorEmitting | : Index of the receptor emitting the message. |
Definition at line 351 of file vpNetwork.cpp.
Referenced by receiveAndDecodeRequestOnceFrom().
void vpNetwork::removeDecodingRequest | ( | const char * | id | ) |
Delete a decoding request from the emitter.
id | : Id of the request to delete. |
Definition at line 107 of file vpNetwork.cpp.
References request_list.
int vpNetwork::send | ( | T * | object, |
const int & | sizeOfObject = sizeof(T) |
||
) |
Send an object. The size of the received object is suppose to be the size of its type. Note that sending object containing pointers, virtual methods, etc, won't probably work.
object | : Received object. |
sizeOfObject | : Size of the object |
Definition at line 403 of file vpNetwork.h.
References vpTRACE.
int vpNetwork::sendAndEncodeRequest | ( | vpRequest & | req | ) |
Send and encode a request to the first receptor in the list.
req | : Request to send. |
Definition at line 239 of file vpNetwork.cpp.
References vpRequest::encode(), and sendRequest().
int vpNetwork::sendAndEncodeRequestTo | ( | vpRequest & | req, |
const int & | dest | ||
) |
Send and encode a request to a specific receptor.
req | : Request to send. |
dest | : Index of the receptor receiving the request. |
Definition at line 259 of file vpNetwork.cpp.
References vpRequest::encode(), and sendRequestTo().
int vpNetwork::sendRequest | ( | vpRequest & | req | ) |
Send a request to the first receptor in the list.
req | : Request to send. |
Definition at line 175 of file vpNetwork.cpp.
References sendRequestTo().
Referenced by sendAndEncodeRequest().
int vpNetwork::sendRequestTo | ( | vpRequest & | req, |
const int & | dest | ||
) |
Send a request to a specific receptor.
req | : Request to send. |
dest | : Index of the receptor receiving the request. |
Definition at line 194 of file vpNetwork.cpp.
References beginning, end, vpRequest::getId(), param_sep, receptor_list, separator, vpRequest::size(), verboseMode, and vpTRACE.
Referenced by sendAndEncodeRequestTo(), and sendRequest().
int vpNetwork::sendTo | ( | T * | object, |
const int & | dest, | ||
const int & | sizeOfObject = sizeof(T) |
||
) |
Send an object. The size has to be specified.
object | : Object to send. |
dest | : Index of the receptor that you are sending the object. |
sizeOfObject | : Size of the object. |
Definition at line 442 of file vpNetwork.h.
References vpTRACE.
|
inline |
Change the maximum size that the emitter can receive (in request mode).
s | : new maximum size value. |
Definition at line 207 of file vpNetwork.h.
|
inline |
Change the time the emitter spend to check if he receives a message from a receptor. Initially this value is set to 10usec.
sec | : new value in second. |
Definition at line 217 of file vpNetwork.h.
|
inline |
Change the time the emitter spend to check if he receives a message from a receptor. Initially this value is set to 10usec.
usec | : new value in micro second. |
Definition at line 227 of file vpNetwork.h.
|
inline |
Set the verbose mode.
mode | : Change the verbose mode. True to turn on, False to turn off. |
Definition at line 234 of file vpNetwork.h.
|
protected |
Definition at line 117 of file vpNetwork.h.
Referenced by sendRequestTo(), and vpNetwork().
|
protected |
Definition at line 121 of file vpNetwork.h.
|
protected |
Definition at line 107 of file vpNetwork.h.
Referenced by vpServer::checkForConnections(), vpServer::start(), vpServer::vpServer(), and vpServer::~vpServer().
|
protected |
Definition at line 118 of file vpNetwork.h.
Referenced by sendRequestTo(), and vpNetwork().
|
protected |
Definition at line 115 of file vpNetwork.h.
Referenced by vpNetwork().
|
protected |
Definition at line 119 of file vpNetwork.h.
Referenced by sendRequestTo(), and vpNetwork().
|
protected |
Definition at line 109 of file vpNetwork.h.
Referenced by vpServer::checkForConnections().
|
protected |
Definition at line 108 of file vpNetwork.h.
Referenced by vpServer::checkForConnections(), vpClient::deconnect(), getReceptorIndex(), print(), sendRequestTo(), vpClient::stop(), and vpServer::~vpServer().
|
protected |
Definition at line 113 of file vpNetwork.h.
Referenced by addDecodingRequest(), receiveAndDecodeRequest(), receiveAndDecodeRequestFrom(), receiveAndDecodeRequestOnce(), receiveAndDecodeRequestOnceFrom(), and removeDecodingRequest().
|
protected |
Definition at line 116 of file vpNetwork.h.
Referenced by sendRequestTo(), and vpNetwork().
|
protected |
Definition at line 110 of file vpNetwork.h.
Referenced by vpServer::checkForConnections().
|
protected |
Definition at line 123 of file vpNetwork.h.
Referenced by vpServer::checkForConnections(), receive(), and receiveFrom().
|
protected |
Definition at line 124 of file vpNetwork.h.
Referenced by vpServer::checkForConnections(), receive(), receiveFrom(), and vpNetwork().
|
protected |
Definition at line 125 of file vpNetwork.h.
Referenced by vpServer::checkForConnections(), receive(), receiveFrom(), and vpNetwork().
|
protected |
Definition at line 127 of file vpNetwork.h.
Referenced by sendRequestTo(), and vpNetwork().