A local participant is the local device which can communicate with other participants It manages all local things and communcation with other participants. Each application has a local participant which is usually explicit in the code. An participant can be isolated. In that case it is standalong and does not communicate with other participants.
It is possible to work with an hidden participant by creating things without specifying a participant in the constructor. In that case an hidden isolated participant is created which can be obtained using RoboidControl::LocalParticipant::Isolated().
- See also
- RoboidControl::Thing::Thing()
|
| LocalParticipant (int port=7681) |
| Create a participant without connecting to a site.
|
|
| LocalParticipant (const char *ipAddress, int port=7681) |
| Create a participant which will try to connect to a site.
|
|
void | begin () |
|
virtual void | Update (unsigned long currentTimeMs=0) |
|
void | SendThingInfo (Participant *remoteParticipant, Thing *thing) |
|
void | PublishThingInfo (Thing *thing) |
|
bool | Send (Participant *remoteParticipant, IMessage *msg) |
|
bool | Publish (IMessage *msg) |
|
void | ReceiveData (unsigned char bufferSize, char *senderIpAddress, unsigned int senderPort) |
|
void | ReceiveData (unsigned char bufferSize, Participant *remoteParticipant) |
|
Thing * | Get (unsigned char networkId, unsigned char thingId) |
| Find a thing managed by this participant.
|
|
void | Add (Thing *thing, bool checkId=true) |
| Add a new thing for this participant.
|
|
void | Remove (Thing *thing) |
| Remove a thing for this participant.
|
|
|
bool | isIsolated = false |
| True if the participant is running isolated. Isolated participants do not communicate with other participants.
|
|
long | publishInterval = 3000 |
|
const char * | name = "LocalParticipant" |
| The name of the participant.
|
|
Participant * | remoteSite = nullptr |
| The remote site when this participant is connected to a site.
|
|
int | sock |
|
sockaddr_in | remote_addr |
|
sockaddr_in | server_addr |
|
sockaddr_in | broadcast_addr |
|
bool | connected = false |
|
unsigned char | senderCount = 0 |
|
Participant * | senders [MAX_SENDER_COUNT] |
|
std::list< Participant * > | senders |
|
const char * | ipAddress = "0.0.0.0" |
| The Ip Address of a participant. When the participant is local, this contains 0.0.0.0.
|
|
int | port = 0 |
| The port number for UDP communication with the participant. This is 0 for isolated participants.
|
|
unsigned char | networkId = 0 |
| The network Id to identify the participant.
|
|
|
void | SetupUDP (int localPort, const char *remoteIpAddress, int remotePort) |
|
Participant * | GetParticipant (const char *ipAddress, int port) |
|
Participant * | AddParticipant (const char *ipAddress, int port) |
|
void | ReceiveUDP () |
|
virtual void | Process (Participant *sender, ParticipantMsg *msg) |
|
virtual void | Process (Participant *sender, SiteMsg *msg) |
|
virtual void | Process (Participant *sender, InvestigateMsg *msg) |
|
virtual void | Process (Participant *sender, ThingMsg *msg) |
|
virtual void | Process (Participant *sender, NameMsg *msg) |
|
virtual void | Process (Participant *sender, PoseMsg *msg) |
|
virtual void | Process (Participant *sender, BinaryMsg *msg) |
|