RakNet::PluginInterface2 Class Reference
[PluginInterface2]

#include <PluginInterface2.h>

Inheritance diagram for RakNet::PluginInterface2:

RakNet::AutopatcherServer RakNet::CloudClient RakNet::CloudServer RakNet::ConnectionGraph2 RakNet::FileListTransfer RakNet::FullyConnectedMesh2 RakNet::Lobby2Plugin RakNet::MessageFilter RakNet::NatPunchthroughClient RakNet::NatPunchthroughServer RakNet::NatTypeDetectionClient RakNet::NatTypeDetectionServer RakNet::PacketLogger RakNet::RakNetTransport2 RakNet::RakVoice RakNet::ReadyEvent RakNet::ReplicaManager3 RakNet::RoomsPlugin RakNet::Router2 RakNet::RPC3 RakNet::RPC4 RakNet::SQLite3ClientPlugin RakNet::SQLite3ServerPlugin RakNet::TeamBalancer RakNet::TwoWayAuthentication RakNet::UDPProxyClient RakNet::UDPProxyCoordinator RakNet::UDPProxyServer

List of all members.

Public Member Functions

virtual void OnAttach (void)
 Called when the interface is attached.
virtual void OnDetach (void)
 Called when the interface is detached.
virtual void Update (void)
 Update is called every time a packet is checked for .
virtual PluginReceiveResult OnReceive (Packet *packet)
virtual void OnRakPeerStartup (void)
 Called when RakPeer is initialized.
virtual void OnRakPeerShutdown (void)
 Called when RakPeer is shutdown.
virtual void OnClosedConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason)
virtual void OnNewConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, bool isIncoming)
virtual void OnFailedConnectionAttempt (Packet *packet, PI2_FailedConnectionAttemptReason failedConnectionAttemptReason)
virtual bool UsesReliabilityLayer (void) const
virtual void OnDirectSocketSend (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
virtual void OnDirectSocketReceive (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
virtual void OnReliabilityLayerPacketError (const char *errorMessage, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
virtual void OnInternalPacket (InternalPacket *internalPacket, unsigned frameNumber, SystemAddress remoteSystemAddress, RakNet::TimeMS time, int isSend)
virtual void OnAck (unsigned int messageNumber, SystemAddress remoteSystemAddress, RakNet::TimeMS time)
virtual void OnPushBackPacket (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)


Detailed Description

RakNet's plugin system. Each plugin processes the following events: -Connection attempts -The result of connection attempts -Each incoming message -Updates over time, when RakPeer::Receive() is called

Member Function Documentation

virtual void RakNet::PluginInterface2::OnAck ( unsigned int  messageNumber,
SystemAddress  remoteSystemAddress,
RakNet::TimeMS  time 
) [inline, virtual]

Called when we get an ack for a message we reliably sent

Precondition:
To be called, UsesReliabilityLayer() must return true
Parameters:
[in] messageNumber The numerical identifier for which message this is
[in] remoteSystemAddress The player we sent or got this packet from
[in] time The current time as returned by RakNet::GetTimeMS()

Reimplemented in RakNet::PacketLogger.

virtual void RakNet::PluginInterface2::OnClosedConnection ( const SystemAddress systemAddress,
RakNetGUID  rakNetGUID,
PI2_LostConnectionReason  lostConnectionReason 
) [inline, virtual]

Called when a connection is dropped because the user called RakPeer::CloseConnection() for a particular system

Parameters:
[in] systemAddress The system whose connection was closed
[in] rakNetGuid The guid of the specified system
[in] lostConnectionReason How the connection was closed: manually, connection lost, or notification of disconnection

Reimplemented in RakNet::CloudServer, RakNet::ConnectionGraph2, RakNet::FileListTransfer, RakNet::FullyConnectedMesh2, RakNet::MessageFilter, RakNet::NatPunchthroughClient, RakNet::NatPunchthroughServer, RakNet::NatTypeDetectionClient, RakNet::NatTypeDetectionServer, RakNet::RakNetTransport2, RakNet::ReadyEvent, RakNet::ReplicaManager3, RakNet::Router2, RakNet::TeamBalancer, RakNet::TwoWayAuthentication, RakNet::UDPProxyCoordinator, RakNet::UDPProxyServer, RakNet::RakVoice, RakNet::AutopatcherServer, RakNet::Lobby2Client, RakNet::Lobby2Server, RakNet::RoomsPlugin, and RakNet::RPC3.

virtual void RakNet::PluginInterface2::OnDirectSocketReceive ( const char *  data,
const BitSize_t  bitsUsed,
SystemAddress  remoteSystemAddress 
) [inline, virtual]

Called on a receive from the socket, per datagram, that does not go through the reliability layer

Precondition:
To be called, UsesReliabilityLayer() must return true
Parameters:
[in] data The data being sent
[in] bitsUsed How many bits long data is
[in] remoteSystemAddress Which system this message is being sent to

Reimplemented in RakNet::PacketLogger.

virtual void RakNet::PluginInterface2::OnDirectSocketSend ( const char *  data,
const BitSize_t  bitsUsed,
SystemAddress  remoteSystemAddress 
) [inline, virtual]

Called on a send to the socket, per datagram, that does not go through the reliability layer

Precondition:
To be called, UsesReliabilityLayer() must return true
Parameters:
[in] data The data being sent
[in] bitsUsed How many bits long data is
[in] remoteSystemAddress Which system this message is being sent to

Reimplemented in RakNet::PacketLogger.

virtual void RakNet::PluginInterface2::OnFailedConnectionAttempt ( Packet packet,
PI2_FailedConnectionAttemptReason  failedConnectionAttemptReason 
) [inline, virtual]

Called when a connection attempt fails

Parameters:
[in] packet Packet to be returned to the user
[in] failedConnectionReason Why the connection failed

Reimplemented in RakNet::Router2.

virtual void RakNet::PluginInterface2::OnInternalPacket ( InternalPacket internalPacket,
unsigned  frameNumber,
SystemAddress  remoteSystemAddress,
RakNet::TimeMS  time,
int  isSend 
) [inline, virtual]

Called on a send or receive of a message within the reliability layer

Precondition:
To be called, UsesReliabilityLayer() must return true
Parameters:
[in] internalPacket The user message, along with all send data.
[in] frameNumber The number of frames sent or received so far for this player depending on isSend . Indicates the frame of this user message.
[in] remoteSystemAddress The player we sent or got this packet from
[in] time The current time as returned by RakNet::GetTimeMS()
[in] isSend Is this callback representing a send event or receive event?

Reimplemented in RakNet::PacketLogger.

virtual void RakNet::PluginInterface2::OnNewConnection ( const SystemAddress systemAddress,
RakNetGUID  rakNetGUID,
bool  isIncoming 
) [inline, virtual]

Called when we got a new connection

Parameters:
[in] systemAddress Address of the new connection
[in] rakNetGuid The guid of the specified system
[in] isIncoming If true, this is ID_NEW_INCOMING_CONNECTION, or the equivalent

Reimplemented in RakNet::ConnectionGraph2, RakNet::FullyConnectedMesh2, RakNet::MessageFilter, RakNet::NatPunchthroughClient, RakNet::NatPunchthroughServer, RakNet::RakNetTransport2, and RakNet::ReplicaManager3.

virtual void RakNet::PluginInterface2::OnPushBackPacket ( const char *  data,
const BitSize_t  bitsUsed,
SystemAddress  remoteSystemAddress 
) [inline, virtual]

System called RakPeerInterface::PushBackPacket

Parameters:
[in] data The data being sent
[in] bitsUsed How many bits long data is
[in] remoteSystemAddress The player we sent or got this packet from

Reimplemented in RakNet::PacketLogger.

virtual PluginReceiveResult RakNet::PluginInterface2::OnReceive ( Packet packet  )  [inline, virtual]

virtual void RakNet::PluginInterface2::OnReliabilityLayerPacketError ( const char *  errorMessage,
const BitSize_t  bitsUsed,
SystemAddress  remoteSystemAddress 
) [inline, virtual]

Called when the reliability layer rejects a send or receive

Precondition:
To be called, UsesReliabilityLayer() must return true
Parameters:
[in] bitsUsed How many bits long data is
[in] remoteSystemAddress Which system this message is being sent to

Reimplemented in RakNet::PacketLogger.

virtual bool RakNet::PluginInterface2::UsesReliabilityLayer ( void   )  const [inline, virtual]

Queried when attached to RakPeer Return true to call OnDirectSocketSend(), OnDirectSocketReceive(), OnReliabilityLayerPacketError(), OnInternalPacket(), and OnAck() If true, then you cannot call RakPeer::AttachPlugin() or RakPeer::DetachPlugin() for this plugin, while RakPeer is active

Reimplemented in RakNet::PacketLogger.


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

Generated on Wed Feb 1 13:33:47 2012 for RakNet by  doxygen 1.5.7.1