Cargo Features

gix-protocol has no features set by default.

[dependencies]
gix-protocol = { version = "0.46.0", features = ["blocking-client", "async-client", "serde", "document-features"] }
blocking-client

_Mutually exclusive client _

The client portion of the protocol uses gix-transport to communicate to a server. For it to be available, one of the following features must be selected.

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

If set, blocking command implementations are available and will use the blocking version of the gix-transport crate.

Enables blocking-client of gix-transport, is_sync of maybe-async

Affects gix-protocol::fetch, gix-protocol::handshake, gix-protocol::ls_refs, util::indicate_end_of_interaction

async-client = async-trait, futures-io, futures-lite

As above, but provides async implementations instead.

Enables async-client of gix-transport

Affects gix-protocol::fetch, gix-protocol::handshake, gix-protocol::ls_refs, util::indicate_end_of_interaction

serde

Other

Data structures implement serde::Serialize and serde::Deserialize.

Enables serde, serde of bstr, gix-hash, and gix-transport

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

async-trait async-client?

Enables async-trait

for async-client

futures-io async-client?
futures-lite async-client?
document-features implicit feature

Enables document-features

document-features:

Extract documentation for the feature flags from comments in Cargo.toml