MatterEx.Transport.TCP (matter_ex v0.3.0)

Copy Markdown View Source

Matter TCP message framing.

Matter over TCP uses a 4-byte little-endian length prefix before each message. This module handles encoding (framing) and decoding (parsing) of length-prefixed messages from a TCP byte stream.

Summary

Functions

Frame a message with a 4-byte little-endian length prefix.

Parse complete messages from a TCP buffer.

Functions

frame(message)

@spec frame(binary()) :: binary()

Frame a message with a 4-byte little-endian length prefix.

parse(buffer)

@spec parse(binary()) :: {[binary()], binary()}

Parse complete messages from a TCP buffer.

Returns {messages, remaining_buffer} where messages is a list of complete message binaries and remaining_buffer holds any incomplete data.