stigmerge_peer 0.6.2

stigmerge p2p protocol and agent components
#![recursion_limit = "256"]

#[macro_use]
pub mod retry;

pub mod block_fetcher;
pub mod content_addressable;
mod error;
pub mod peer_gossip;
pub mod piece_leases;
pub mod piece_map;
pub mod piece_verifier;
pub mod proto;
pub mod record;

pub mod share_announcer;
pub mod share_resolver;
pub mod types;

pub mod fetcher;
pub mod seeder;

pub mod veilid_config;

pub use error::{is_cancelled, is_lagged, is_unrecoverable, CancelError, Error, Result};
pub use retry::Retry;
use veilnet::{connection::veilid, Connection};

#[cfg(test)]
pub mod tests;

pub async fn new_connection(
    state_dir: &str,
    ns: Option<String>,
) -> Result<impl Connection + Clone + Send + Sync> {
    let conn = veilid::connection::Connection::new_config(veilid_config::get_config(
        state_dir.to_string(),
        ns,
    ))
    .await?;
    Ok(conn)
}