Network subsystem. Manages client-server communications using the UDP protocol.  
 More...
|  | 
|  | Network (Context *context) | 
|  | Construct. 
 | 
|  | 
|  | ~Network () override | 
|  | Destruct. 
 | 
|  | 
| void | HandleMessage (const SLNet::AddressOrGUID &source, int packetID, int msgID, const char *data, size_t numBytes) | 
|  | Handle an inbound message. 
 | 
|  | 
| void | NewConnectionEstablished (const SLNet::AddressOrGUID &connection) | 
|  | Handle a new client connection. 
 | 
|  | 
| void | ClientDisconnected (const SLNet::AddressOrGUID &connection) | 
|  | Handle a client disconnection. 
 | 
|  | 
| void | SetDiscoveryBeacon (const VariantMap &data) | 
|  | Set the data that will be used for a reply to attempts at host discovery on LAN/subnet. 
 | 
|  | 
| void | DiscoverHosts (unsigned port) | 
|  | Scan the LAN/subnet for available hosts. 
 | 
|  | 
| void | SetPassword (const String &password) | 
|  | Set password for the client/server communcation. 
 | 
|  | 
| void | SetNATServerInfo (const String &address, unsigned short port) | 
|  | Set NAT server information. 
 | 
|  | 
| bool | Connect (const String &address, unsigned short port, Scene *scene, const VariantMap &identity=Variant::emptyVariantMap) | 
|  | Connect to a server using UDP protocol. Return true if connection process successfully started. 
 | 
|  | 
| void | Disconnect (int waitMSec=0) | 
|  | Disconnect the connection to the server. If wait time is non-zero, will block while waiting for disconnect to finish. 
 | 
|  | 
| bool | StartServer (unsigned short port, unsigned int maxConnections=128) | 
|  | Start a server on a port using UDP protocol. Return true if successful. 
 | 
|  | 
| void | StopServer () | 
|  | Stop the server. 
 | 
|  | 
| void | StartNATClient () | 
|  | Start NAT punchtrough client to allow remote connections. 
 | 
|  | 
| const String & | GetGUID () const | 
|  | 
| void | AttemptNATPunchtrough (const String &guid, Scene *scene, const VariantMap &identity=Variant::emptyVariantMap) | 
|  | Attempt to connect to NAT server. 
 | 
|  | 
| void | BroadcastMessage (int msgID, bool reliable, bool inOrder, const VectorBuffer &msg, unsigned contentID=0) | 
|  | Broadcast a message with content ID to all client connections. 
 | 
|  | 
| void | BroadcastMessage (int msgID, bool reliable, bool inOrder, const unsigned char *data, unsigned numBytes, unsigned contentID=0) | 
|  | Broadcast a message with content ID to all client connections. 
 | 
|  | 
| void | BroadcastRemoteEvent (StringHash eventType, bool inOrder, const VariantMap &eventData=Variant::emptyVariantMap) | 
|  | Broadcast a remote event to all client connections. 
 | 
|  | 
| void | BroadcastRemoteEvent (Scene *scene, StringHash eventType, bool inOrder, const VariantMap &eventData=Variant::emptyVariantMap) | 
|  | Broadcast a remote event to all client connections in a specific scene. 
 | 
|  | 
| void | BroadcastRemoteEvent (Node *node, StringHash eventType, bool inOrder, const VariantMap &eventData=Variant::emptyVariantMap) | 
|  | Broadcast a remote event with the specified node as a sender. Is sent to all client connections in the node's scene. 
 | 
|  | 
| void | SetUpdateFps (int fps) | 
|  | 
| void | SetSimulatedLatency (int ms) | 
|  | 
| void | SetSimulatedPacketLoss (float probability) | 
|  | 
| void | RegisterRemoteEvent (StringHash eventType) | 
|  | Register a remote event as allowed to be received. There is also a fixed blacklist of events that can not be allowed in any case, such as ConsoleCommand. 
 | 
|  | 
| void | UnregisterRemoteEvent (StringHash eventType) | 
|  | Unregister a remote event as allowed to received. 
 | 
|  | 
| void | UnregisterAllRemoteEvents () | 
|  | Unregister all remote events. 
 | 
|  | 
| void | SetPackageCacheDir (const String &path) | 
|  | 
| void | SendPackageToClients (Scene *scene, PackageFile *package) | 
|  | Trigger all client connections in the specified scene to download a package file from the server. Can be used to download additional resource packages when clients are already joined in the scene. The package must have been added as a requirement to the scene, or else the eventual download will fail. 
 | 
|  | 
| SharedPtr< HttpRequest > | MakeHttpRequest (const String &url, const String &verb=String::EMPTY, const Vector< String > &headers=Vector< String >(), const String &postData=String::EMPTY) | 
|  | Perform an HTTP request to the specified URL. Empty verb defaults to a GET request. Return a request object which can be used to read the response data. 
 | 
|  | 
| void | BanAddress (const String &address) | 
|  | Ban specific IP addresses. 
 | 
|  | 
| int | GetUpdateFps () const | 
|  | 
| int | GetSimulatedLatency () const | 
|  | 
| float | GetSimulatedPacketLoss () const | 
|  | 
| Connection * | GetConnection (const SLNet::AddressOrGUID &connection) const | 
|  | Return a client or server connection by RakNet connection address, or null if none exist. 
 | 
|  | 
| Connection * | GetServerConnection () const | 
|  | 
| Vector< SharedPtr< Connection > > | GetClientConnections () const | 
|  | 
| bool | IsServerRunning () const | 
|  | 
| bool | CheckRemoteEvent (StringHash eventType) const | 
|  | Return whether a remote event is allowed to be received. 
 | 
|  | 
| const String & | GetPackageCacheDir () const | 
|  | 
| void | Update (float timeStep) | 
|  | Process incoming messages from connections. Called by HandleBeginFrame. 
 | 
|  | 
| void | PostUpdate (float timeStep) | 
|  | Send outgoing messages after frame logic. Called by HandleRenderUpdate. 
 | 
|  | 
|  | Object (Context *context) | 
|  | Construct. 
 | 
|  | 
|  | ~Object () override | 
|  | Destruct. Clean up self from event sender & receiver structures. 
 | 
|  | 
| virtual StringHash | GetType () const =0 | 
|  | 
| virtual const String & | GetTypeName () const =0 | 
|  | 
| virtual const TypeInfo * | GetTypeInfo () const =0 | 
|  | Return type info. 
 | 
|  | 
| virtual void | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) | 
|  | Handle event. 
 | 
|  | 
| bool | IsInstanceOf (StringHash type) const | 
|  | Check current instance is type of specified type. 
 | 
|  | 
| bool | IsInstanceOf (const TypeInfo *typeInfo) const | 
|  | Check current instance is type of specified type. 
 | 
|  | 
| template<typename T > | 
| bool | IsInstanceOf () const | 
|  | Check current instance is type of specified class. 
 | 
|  | 
| template<typename T > | 
| T * | Cast () | 
|  | Cast the object to specified most derived class. 
 | 
|  | 
| template<typename T > | 
| const T * | Cast () const | 
|  | Cast the object to specified most derived class. 
 | 
|  | 
| void | SubscribeToEvent (StringHash eventType, EventHandler *handler) | 
|  | Subscribe to an event that can be sent by any sender. 
 | 
|  | 
| void | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) | 
|  | Subscribe to a specific sender's event. 
 | 
|  | 
| void | SubscribeToEvent (StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) | 
|  | Subscribe to an event that can be sent by any sender. 
 | 
|  | 
| void | SubscribeToEvent (Object *sender, StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) | 
|  | Subscribe to a specific sender's event. 
 | 
|  | 
| void | UnsubscribeFromEvent (StringHash eventType) | 
|  | Unsubscribe from an event. 
 | 
|  | 
| void | UnsubscribeFromEvent (Object *sender, StringHash eventType) | 
|  | Unsubscribe from a specific sender's event. 
 | 
|  | 
| void | UnsubscribeFromEvents (Object *sender) | 
|  | Unsubscribe from a specific sender's events. 
 | 
|  | 
| void | UnsubscribeFromAllEvents () | 
|  | Unsubscribe from all events. 
 | 
|  | 
| void | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) | 
|  | Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events). 
 | 
|  | 
| void | SendEvent (StringHash eventType) | 
|  | Send event to all subscribers. 
 | 
|  | 
| void | SendEvent (StringHash eventType, VariantMap &eventData) | 
|  | Send event with parameters to all subscribers. 
 | 
|  | 
| VariantMap & | GetEventDataMap () const | 
|  | Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps. 
 | 
|  | 
| template<typename... Args> | 
| void | SendEvent (StringHash eventType, Args... args) | 
|  | Send event with variadic parameter pairs to all subscribers. The parameter pairs is a list of paramID and paramValue separated by comma, one pair after another. 
 | 
|  | 
| Context * | GetContext () const | 
|  | Return execution context. 
 | 
|  | 
| const Variant & | GetGlobalVar (StringHash key) const | 
|  | 
| const VariantMap & | GetGlobalVars () const | 
|  | 
| void | SetGlobalVar (StringHash key, const Variant &value) | 
|  | 
| Object * | GetSubsystem (StringHash type) const | 
|  | Return subsystem by type. 
 | 
|  | 
| Object * | GetEventSender () const | 
|  | Return active event sender. Null outside event handling. 
 | 
|  | 
| EventHandler * | GetEventHandler () const | 
|  | Return active event handler. Null outside event handling. 
 | 
|  | 
| bool | HasSubscribedToEvent (StringHash eventType) const | 
|  | Return whether has subscribed to an event without specific sender. 
 | 
|  | 
| bool | HasSubscribedToEvent (Object *sender, StringHash eventType) const | 
|  | Return whether has subscribed to a specific sender's event. 
 | 
|  | 
| bool | HasEventHandlers () const | 
|  | Return whether has subscribed to any event. 
 | 
|  | 
| template<class T > | 
| T * | GetSubsystem () const | 
|  | Template version of returning a subsystem. 
 | 
|  | 
| const String & | GetCategory () const | 
|  | 
| void | SetBlockEvents (bool block) | 
|  | Block object from sending and receiving events. 
 | 
|  | 
| bool | GetBlockEvents () const | 
|  | Return sending and receiving events blocking status. 
 | 
|  | 
|  | RefCounted () | 
|  | Construct. Allocate the reference count structure and set an initial self weak reference. 
 | 
|  | 
| virtual | ~RefCounted () | 
|  | Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. 
 | 
|  | 
|  | RefCounted (const RefCounted &rhs)=delete | 
|  | Prevent copy construction. 
 | 
|  | 
| RefCounted & | operator= (const RefCounted &rhs)=delete | 
|  | Prevent assignment. 
 | 
|  | 
| void | AddRef () | 
|  | 
| void | ReleaseRef () | 
|  | 
| int | Refs () const | 
|  | 
| int | WeakRefs () const | 
|  | 
| RefCount * | RefCountPtr () | 
|  | Return pointer to the reference count structure. 
 | 
|  | 
Network subsystem. Manages client-server communications using the UDP protocol.