Skip to main content

encode_docker_frame

Function encode_docker_frame 

Source
pub fn encode_docker_frame(
    stream: LogStreamKind,
    payload: &[u8],
) -> Result<Vec<u8>, DockerFrameTooLarge>
Expand description

Encode a single Docker multiplexed-stream frame: an 8-byte header followed by the raw payload bytes.

Header layout:

  • byte 0 — the stream id (LogStreamKind::docker_stream_id);
  • bytes 1..4 — three zero padding bytes;
  • bytes 4..8 — the payload length as a big-endian u32.

Returns DockerFrameTooLarge when payload.len() does not fit in a u32 (no silent truncation).

§Errors

Returns DockerFrameTooLarge if payload.len() > u32::MAX.