64 lines · 2.1 KB · Rust
RawDownload
//! An abstraction over [fetching][fetch()] a pack from the server.//!//! This implementation hides the transport layer, statefulness and the protocol version to the [fetch delegate][fetch::Delegate],//! the actual client implementation.//! ## Feature Flags#![cfg_attr(    feature = "document-features",    cfg_attr(doc, doc = ::document_features::document_features!()))]#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]#![deny(missing_docs, rust_2018_idioms, unsafe_code)] /// A selector for V2 commands to invoke on the server for purpose of pre-invocation validation.#[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone, Copy)]pub enum Command {    /// List references.    LsRefs,    /// Fetch a pack.    Fetch,}pub mod command; #[cfg(feature = "async-trait")]pub use async_trait;#[cfg(feature = "futures-io")]pub use futures_io;#[cfg(feature = "futures-lite")]pub use futures_lite;pub use gix_credentials as credentials;/// A convenience export allowing users of gix-protocol to use the transport layer without their own cargo dependency.pub use gix_transport as transport;pub use maybe_async; ///#[cfg(any(feature = "blocking-client", feature = "async-client"))]pub mod fetch; #[cfg(any(feature = "blocking-client", feature = "async-client"))]mod fetch_fn;#[cfg(any(feature = "blocking-client", feature = "async-client"))]pub use fetch_fn::{fetch, FetchConnection}; mod remote_progress;pub use remote_progress::RemoteProgress; #[cfg(all(feature = "blocking-client", feature = "async-client"))]compile_error!("Cannot set both 'blocking-client' and 'async-client' features as they are mutually exclusive"); ///#[cfg(any(feature = "blocking-client", feature = "async-client"))]pub mod handshake;#[cfg(any(feature = "blocking-client", feature = "async-client"))]pub use handshake::function::handshake; ///#[cfg(any(feature = "blocking-client", feature = "async-client"))]pub mod ls_refs;#[cfg(any(feature = "blocking-client", feature = "async-client"))]pub use ls_refs::function::ls_refs; mod util;pub use util::agent;#[cfg(any(feature = "blocking-client", feature = "async-client"))]pub use util::indicate_end_of_interaction;