Crate git_packetline

source ·
Expand description

Read and write the git packet line wire format without copying it.

For reading the packet line format use the StreamingPeekableIter, and for writing the Writer.

Feature Flags

By default, all IO related capabilities will be missing unless one of the following is chosen.

Mutually exclusive

Specifying both causes a compile error, preventing the use of --all-features.

  • blocking-io — If set, all IO will become blocking. The same types will be used preventing side-by-side usage of blocking and non-blocking IO.

  • async-io — Implement IO traits from futures-io.

Other

  • serde1 — Data structures implement serde::Serialize and serde::Deserialize.

Modules

Utilities to help decoding packet lines
Utilities to encode different kinds of packet lines

Structs

A packet line representing an Error in a side-band channel.
Read pack lines one after another, without consuming more than needed from the underlying Read. Flush lines cause the reader to stop producing lines forever, leaving Read at the start of whatever comes next.
A packet line representing text, which may include a trailing newline.
Writerblocking-io and (async-io or blocking-io)
An implementor of Write which passes all input to an inner Write in packet line data encoding, one line per write(…) call or as many lines as it takes if the data doesn’t fit into the maximum allowed line length.

Enums

A band in a side-band channel.
One of three side-band types allowing to multiplex information over a single connection.
A borrowed packet line as it refers to a slice of data by reference.

Functions

Decode an entire packet line from data or fail.