colmugx/acp/transport does not have a README file

    FramingError

    pub(all) suberror FramingError {
    InvalidMaxFrameSize
    Closed
    EmptyFrame
    InvalidUtf8
    FrameTooLarge(limit~ : Int, actual~ : Int)
    UnexpectedEof
    } derive(Eq,
    Debug
    )

    Errors raised by the newline-delimited transport boundary.

    Framing deliberately does not parse JSON. Every non-empty line is emitted as a UTF-8 frame so that transport noise cannot be silently discarded; the JSON-RPC codec remains the next, explicit validation step.

    FramingState

    pub(all) struct FramingState {
    pending : Bytes
    max_frame_bytes : Int
    closed : Bool
    } derive(Eq,
    Debug
    )

    Immutable state for a newline-delimited decoder.

    FramingStep

    pub(all) struct FramingStep {
    state : FramingState
    frames : Array[String]
    } derive(Eq,
    Debug
    )

    Frames emitted by one feed operation and the state for the next operation.

    framing_feed

    fn framing_feed(state : FramingState, chunk : Bytes) -> FramingStep raise FramingError

    Feed an arbitrary byte chunk. A chunk may contain partial or multiple frames. CRLF is accepted by removing the CR immediately before LF.

    framing_finish

    fn framing_finish(state : FramingState) -> FramingStep raise FramingError

    Finish the stream. A partial line is never silently discarded.

    framing_state

    fn framing_state(max_frame_bytes~ : Int) -> FramingState raise FramingError

    Create a decoder with a positive maximum payload size in bytes.

    stdio_transport

    Thin native stdio adapter. The caller supplies the handler and redacted trace sink; this adapter never writes diagnostics to stdout.