|
SuperTuxKart
|
Abstract class used to define the global protocol functions. More...
#include <protocol.hpp>

Public Member Functions | |
| Protocol (ProtocolType type) | |
| Constructor Sets the basic protocol parameters, as the callback object and the protocol type. More... | |
| virtual | ~Protocol () |
| Destructor. | |
| virtual void | setup ()=0 |
| Called when the protocol is going to start. More... | |
| virtual void | update (int ticks)=0 |
| Called by the protocol listener, synchronously with the main loop. More... | |
| virtual void | asynchronousUpdate ()=0 |
| Called by the protocol listener as often as possible. More... | |
| bool | checkDataSize (Event *event, unsigned int minimum_size) |
| functions to check incoming data easily More... | |
| void | sendMessageToPeers (NetworkString *message, bool reliable=true) |
| Sends a message to all validated peers in game, encrypt the message if needed. More... | |
| void | sendMessageToPeersInServer (NetworkString *message, bool reliable=true) |
| Sends a message to all validated peers in server, encrypt the message if needed. More... | |
| void | sendToServer (NetworkString *message, bool reliable=true) |
| Sends a message from a client to the server. | |
| virtual void | requestStart () |
| Starts a request in the protocol manager to start this protocol. | |
| virtual void | requestTerminate () |
| Submits a request to the ProtocolManager to terminate this protocol. | |
| virtual bool | notifyEvent (Event *event) |
| Notify a protocol matching the Event type of that event. More... | |
| virtual bool | notifyEventAsynchronous (Event *event) |
| Notify a protocol matching the Event type of that event. More... | |
| ProtocolType | getProtocolType () const |
| Method to get a protocol's type. More... | |
| void | setHandleConnections (bool b) |
| Sets if this protocol should receive connection events. | |
| void | setHandleDisconnections (bool b) |
| Sets if this protocol should receive disconnection events. | |
| virtual bool | handleConnects () const |
| Return true if this protocol should be informed about connects. | |
| virtual bool | handleDisconnects () const |
| Return true if this protocol should be informed about disconnects. | |
Protected Attributes | |
| ProtocolType | m_type |
| The type of the protocol. | |
| bool | m_handle_connections |
| True if this protocol should receive connection events. | |
| bool | m_handle_disconnections |
| TRue if this protocol should recceiver disconnection events. | |
Abstract class used to define the global protocol functions.
A protocol is an entity that is started at a point, and that is updated by a thread. A protocol can be terminated by an other class, or it can terminate itself if has fulfilled its role. This class must be inherited to make any network job.
| Protocol::Protocol | ( | ProtocolType | type | ) |
Constructor Sets the basic protocol parameters, as the callback object and the protocol type.
| callback_object | The callback object that will be used by the protocol. Protocols that do not use callback objects must set it to NULL. |
| type | The type of the protocol. |
|
pure virtual |
Called by the protocol listener as often as possible.
Must be re-defined.
Implemented in ServerLobby, GameProtocol, GameEventsProtocol, ConnectToServer, ConnectToPeer, and ClientLobby.
| bool Protocol::checkDataSize | ( | Event * | event, |
| unsigned int | minimum_size | ||
| ) |
functions to check incoming data easily
Checks if the message has at least the specified size, and if not prints a warning message including the message content.
|
inline |
Method to get a protocol's type.
|
inlinevirtual |
Notify a protocol matching the Event type of that event.
| event | : Pointer to the event. |
Reimplemented in ServerLobby, GameEventsProtocol, and ClientLobby.
|
inlinevirtual |
Notify a protocol matching the Event type of that event.
This update is done asynchronously :
| event | : Pointer to the event. |
Reimplemented in ServerLobby, GameProtocol, GameEventsProtocol, and ClientLobby.
| void Protocol::sendMessageToPeers | ( | NetworkString * | message, |
| bool | reliable = true |
||
| ) |
Sends a message to all validated peers in game, encrypt the message if needed.
The message is composed of a 1-byte message (usually the message type) followed by the actual message.
| message | The actual message content. |
| void Protocol::sendMessageToPeersInServer | ( | NetworkString * | message, |
| bool | reliable = true |
||
| ) |
Sends a message to all validated peers in server, encrypt the message if needed.
The message is composed of a 1-byte message (usually the message type) followed by the actual message.
| message | The actual message content. |
|
pure virtual |
Called when the protocol is going to start.
Must be re-defined by subclasses.
Implemented in LobbyProtocol, ServerLobby, GameProtocol, GameEventsProtocol, ConnectToServer, ConnectToPeer, and ClientLobby.
|
pure virtual |
Called by the protocol listener, synchronously with the main loop.
Must be re-defined.
Implemented in LobbyProtocol, ServerLobby, GameProtocol, GameEventsProtocol, ConnectToServer, ConnectToPeer, and ClientLobby.