pub struct UninitializedIpfs<C: NetworkBehaviour<ToSwarm = Void> + Send> { /* private fields */ }
Expand description

Configured Ipfs which can only be started.

Implementations§

source§

impl<C: NetworkBehaviour<ToSwarm = Void> + Send> UninitializedIpfs<C>

source

pub fn new() -> Self

New uninitualized instance

source

pub fn empty() -> Self

👎Deprecated: UninitializedIpfs::empty will be removed in the future. Use UninitializedIpfs::new()

New uninitualized instance without any listener addresses

source

pub fn with_opt(options: IpfsOptions) -> Self

👎Deprecated: UninitializedIpfs::with_opt will be removed in the future. Use UninitializedIpfs::new()

Configures a new UninitializedIpfs with from the given options and optionally a span. If the span is not given, it is defaulted to tracing::trace_span!("ipfs").

The span is attached to all operations called on the later created Ipfs along with all operations done in the background task as well as tasks spawned by the underlying libp2p::Swarm.

source

pub fn set_default_listener(self) -> Self

Set default listening unspecified ipv4 and ipv6 addresseses for tcp and udp/quic

source

pub fn add_listening_addr(self, addr: Multiaddr) -> Self

Adds a listening address

source

pub fn add_listening_addrs(self, addrs: Vec<Multiaddr>) -> Self

Adds a listening addresses

source

pub fn set_listening_addrs(self, addrs: Vec<Multiaddr>) -> Self

Set a list of listening addresses

source

pub fn add_bootstrap(self, addr: Multiaddr) -> Self

Adds a bootstrap node

source

pub fn with_default(self) -> Self

Load default behaviour for basic functionality

source

pub fn with_kademlia( self, config: impl Into<Either<KadConfig, Config>>, store: KadStoreConfig ) -> Self

Enables kademlia

source

pub fn with_bitswap(self, config: BitswapConfig) -> Self

Enables bitswap

source

pub fn with_mdns(self) -> Self

Enable mdns

source

pub fn with_relay(self, with_dcutr: bool) -> Self

Enable relay client

source

pub fn with_relay_server(self, config: RelayConfig) -> Self

Enable relay server

source

pub fn with_upnp(self) -> Self

Enable port mapping (AKA UPnP)

source

pub fn with_rendezvous_server(self) -> Self

Enables rendezvous server

source

pub fn with_rendezvous_client(self) -> Self

Enables rendezvous client

source

pub fn with_identify(self, config: IdentifyConfiguration) -> Self

Enables identify

source

pub fn with_pubsub(self, config: PubsubConfig) -> Self

Enables pubsub

source

pub fn with_autonat(self) -> Self

Enables autonat

source

pub fn with_ping(self, config: PingConfig) -> Self

Enables ping

source

pub fn with_custom_behaviour(self, behaviour: C) -> Self

Set a custom behaviour

source

pub fn with_gc(self, config: GCConfig) -> Self

Enables automatic garbage collection

source

pub fn set_temp_pin_duration(self, duration: Duration) -> Self

Set a duration for which blocks are not removed due to the garbage collector Defaults: 2 mins

source

pub fn set_path<P: AsRef<Path>>(self, path: P) -> Self

Sets a path

source

pub fn set_transport_configuration(self, config: TransportConfig) -> Self

Set transport configuration

source

pub fn set_idle_connection_timeout(self, duration: u64) -> Self

Set timeout for idle connections

source

pub fn set_swarm_configuration(self, config: SwarmConfig) -> Self

Set swarm configuration

source

pub fn default_record_key_validator(self) -> Self

Set default record validator for IPFS Note: This will override any keys set for ipns prefix

source

pub fn set_record_prefix_validator( self, key: &str, callback: Arc<dyn Fn(&str) -> Result<Key> + Sync + Send> ) -> Self

source

pub fn set_addrbook_configuration(self, config: AddressBookConfig) -> Self

Set address book configuration

source

pub fn set_provider(self, opt: RepoProvider) -> Self

Set RepoProvider option to provide blocks automatically

source

pub fn set_keypair(self, keypair: &Keypair) -> Self

Set keypair

source

pub fn set_repo(self, repo: &Repo) -> Self

Set block and data repo

source

pub fn set_keystore(self, keystore: &Keystore) -> Self

Set a keystore

source

pub fn listen_as_external_addr(self) -> Self

Automatically add any listened address as an external address

source

pub fn with_custom_transport( self, transport: Box<dyn Fn(&Keypair, Option<Transport>) -> Result<Boxed<(PeerId, StreamMuxerBox)>> + Sync + Send + 'static> ) -> Self

Set a transport

source

pub fn fd_limit(self, limit: FDLimit) -> Self

Set file desc limit

source

pub fn set_span(self, span: Span) -> Self

Set tracing span

source

pub fn swarm_events<F>(self, func: F) -> Self
where F: Fn(&mut TSwarm<C>, &<TSwarm<C> as Stream>::Item) + Sync + Send + 'static,

Handle libp2p swarm events

source

pub async fn start(self) -> Result<Ipfs, Error>

Initialize the ipfs node. The returned Ipfs value is cloneable, send and sync.

Trait Implementations§

source§

impl<C: NetworkBehaviour<ToSwarm = Void> + Send> Default for UninitializedIpfs<C>

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<C> !RefUnwindSafe for UninitializedIpfs<C>

§

impl<C> Send for UninitializedIpfs<C>

§

impl<C> Sync for UninitializedIpfs<C>
where C: Sync,

§

impl<C> Unpin for UninitializedIpfs<C>
where C: Unpin,

§

impl<C> !UnwindSafe for UninitializedIpfs<C>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> References<RawCodec> for T

§

fn references<R, E>(_c: RawCodec, _r: &mut R, _set: &mut E) -> Result<(), Error>
where R: Read, E: Extend<Cid<64>>,

Scrape the references from an impl Read. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more