A MegaPacket is a "chain stream" of Packet objects. More...
Extends: |
|
Constructors: | |
Properties: |
|
Methods: |
|
This constructs a MegaPacket for retrieval purposes. This does not start with a default Packet.
When using this constructor/purpose, please keep the ReleaseRights argument in mind when handling Packet objects.
MegaPackets allocated with this constructor must be "given up" (Ignored) upon integration with a NetworkEngine.
This constructs a MegaPacket for deployment purposes. This will generate a default packet, and mark it appropriately.
This reports True if this MegaPacket is capable of timing-out. (IsRemoteHandle)
This property may not be overridden.
See also: TimeSinceLastUpdate, AutoUpdateTimeoutStatus, IsRemoteHandleThis is the destination associated with this MegaPacket This is assigned internally by a NetworkEngine when sending. This property has protected assignment-access.
This acts as the unique identifier applied to this MegaPacket. Whenever this "packet" needs to be referenced over the network, this is used to do it. This is assigned internally by a NetworkEngine when sending. This property has protected assignment-access.
If this object was created for retrieval purposes, this will return True.
This property may not be overridden.
This property has protected assignment-access.This corresponds to the parent specified when creating this object. This property has protected assignment-access.
This describes the number of packet chunks/pieces we've asked for. This is assigned internally by a NetworkEngine when requesting chunks. This property has protected assignment-access.
If this object can time-out, then this will return the amount of time passed since the last call to AutoUpdateTimeoutStatus (Or similar).
This property may not be overridden.
See also: AutoUpdateTimeoutStatusThis describes the type used to send this MegaPacket. This is assigned internally by a NetworkEngine when sending. This property has protected assignment-access.
This is used internally, and by Client objects when dealing with remote handles.
Basically, this updates an internal "time-point" used as a timer via TimeSinceLastUpdate.
If a remote handle idles for too long, it'll remove it, and abort the operation.
Only call this if you're sure what you're doing; framework extension.
This does not update the internal timer if this is not a "remote handle".
See also: IsRemoteHandle, CanTimeout, TimeSinceLastUpdate, UpdateWaitingMegaPacketsThis overrides the super-class's 'Close' implementation.
This is akin to the Stream class's Close method.
This will release all internal packet handles if given closure rights.
See also: ForceClose, ResetThis is used internally to construct a MegaPacket; used directly by systems like MegaPacketPools.
This is represented externally by the standard constructors.
This constructor is protected.
This is used internally to construct a MegaPacket; used directly by systems like MegaPacketPools.
This constructor is protected.
This is a (Mostly) internal routine, usage is not recommended unless you know what you're doing. This allocates a Packet using Network, then adds it internally. Please mark the beginning of the Packet this generates. (Unless handled through retrieval) This should be marked from this class, not the Packet returned.
When calling this method, please be aware that the current position is used to mark the stream. This means you should only call this when at the end of a Packet thus, starting a new one with the proper markings. It's best to let this class handle this for you.
This will write packet meta-data based on the input. See ExtendAndMark for details. Method MarkCurrentPacket:Void() This will use the current Link and LinkCount as inputs for the main implementation. See ExtendAndMark for details.
This marks every internal packet appropriately. (Called internally after writing has finished)