Fragmenter
Utility module for splitting messages into smaller chunks and reassembling fragmented messages. Splits messages into chunks no larger than 1000 bytes.
Functions
{CsrpMessageFragment} FragmentMessage
Fragmenter.FragmentMessage = function(message: CsrpMessage, maxLength: number?): {CsrpMessageFragment}
Splits a message into smaller chunks. Returns a table of messages with a length no greater maxLength
, or 1000 bytes if maxLength
is nil. Automatically sets the fragment headers on the messages.
Arguments:
CsrpMessage
message
- The message to fragment.number?
maxLength
- The maximum length of each fragment. Defaults to 1000.
Breaking change from 1.0.0
The return type of this function was changed from {CsrpMessage}
to {CsrpMessageFragment}
in 2.0.0.
CsrpMessage DefragmentMessages
Fragmenter.DefragmentMessages = function(messages: {CsrpMessageFragment}): CsrpMessage
Reassembles a table of fragmented messages into a single message. Automatically removes the fragment headers from the messages and sorts the fragments by their index.
Arguments:
{CsrpMessageFragment}
messages
- The messages to defragment.
Breaking change from 1.0.0
The messages
argument type was changed from {CsrpMessage}
to {CsrpMessageFragment}
in 2.0.0.