Client objects are "descriptors", specifying how a NetworkEngine can reach an identified node in a network. More...
Fields: |
|
Constructors: | |
Properties: |
|
Methods: |
|
This is a double-ended queue of confirmed PacketIDs, representing received ReliablePackets.
This field is protected, but is documented for extension purposes.
This is a "timer" (Point in time) used to calculate the amount of time between PacketID releases from ConfirmedPackets.
This field is protected, but is documented for extension purposes.
This is a collection of "waiting" (Remotely created) MegaPacket objects.
This field is protected, but is documented for extension purposes.
Constructors for Client objects are handled internally, and should only be used when extending this framework. This overload is used for protocols that are address-based, rather than socket-based. (UDP) That being said, this is also used internally by client NetworkEngine objects, for Remote (Only Client instance).
Constructors for Client objects are handled internally, and should only be used when extending this framework. This overload is used for protocols that are socket-based, rather than address-based. (TCP)
This specifies if this client handle has been closed by a network and/or user.
This specifies if this client is in the process of disconnecting/closing. (Ignored for formal messages; only internal messages will be accepted)
Use caution when setting this property-overload. (Handled internally, use at your own risk)
This corresponds to the constructor argument of the same name. See also: New, Construct_Client
This specifies the last known ping of this client. This does not change while calculating a new ping.
This adds MP to an internal container for "waiting" (Remote) MegaPacket objects.
This method is protected, but is documented for extension purposes.
This assigns this client's ping using ProjectedPing, resets the internal "ping timer", then resets the Pinging flag.
This method is protected, but is documented for extension purposes.
This destructor is used internally. Please disconnect clients through their parent NetworkEngine objects. This will close a Socket if held by this object, invalidate the Address property, release any associated packet identifiers, release held MegaPacket handles, and set relevant closure-flags.
This will confirm packets with ID as their identifier, but only if it hasn't already been identified. The return-value indicates if the operation failed.
This returns True if ID has already been confirmed. See also: ConfirmPacket, Update
This retrieves a "waiting" MegaPacket object with ID.
For details, view the AddWaitingMegaPacket method's documentation.
This method is protected, but is documented for extension purposes.
See also: AddWaitingMegaPacket, RemoveWaitingMegaPacketThis states if a MegaPacket object with ID is inside this object's "waiting mega-packets" container.
This method is protected, but is documented for extension purposes.
See also: GetWaitingMegaPacket, AddWaitingMegaPacket, RemoveWaitingMegaPacketThis is an internal method that will automatically release the next packet identifier in the queue.
This method is protected, but is documented for extension purposes.
This is used to remove MP from an internal container of "waiting" (Client-created) MegaPackets.
This method is protected, but is documented for extension purposes.
See also: AddWaitingMegaPacket, AllocateRemoteMegaPacketThis removes a "waiting" MegaPacket with ID; calls the main implementation.
This method is protected, but is documented for extension purposes.
This resets the internal "packet timer", used for releasing reliable-packet identifiers.
This method is protected, but is documented for extension purposes.
This resets an internal timer used for ping calculation.
This method is protected, but is documented for extension purposes.
This is used to update a Client object. The main purpose of this is to handle reliable packet identifiers.
But this also handles ping calculation and MegaPacket handles.
See also: UpdateWaitingMegaPacketsThis updates any waiting MegaPacket handles; handles timeout semantics.
This is called internally by Update.
See also: Update