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:
CsrpMessagemessage- 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.