Skip to main content

IpfsBuilder

Struct IpfsBuilder 

Source
pub struct IpfsBuilder<C: NetworkBehaviour<ToSwarm = Infallible> + Send + Sync + 'static> { /* private fields */ }
Expand description

Configured Ipfs which can only be started.

Implementations§

Source§

impl<C: NetworkBehaviour<ToSwarm = Infallible> + Send + Sync + 'static> IpfsBuilder<C>

Source

pub fn new() -> Self

New uninitualized instance

Source

pub fn with_keypair(keypair: impl IntoKeypair) -> Result<Self>

New instance with an existing keypair

Source

pub fn set_default_listener(self) -> Self

Set default listening unspecified ipv4 and ipv6 addresses for tcp and quic Note that this still requires for the transports to be enabled to be usable

Source

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

Adds a listening address

Source

pub fn set_connection_limits<F>(self, f: F) -> Self
where F: Fn(ConnectionLimits) -> ConnectionLimits + Send + Sync + 'static,

Set a connection limit

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) -> Self

Enables kademlia

Source

pub fn with_bitswap(self) -> 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_streams(self) -> Self

Source

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

Enables pubsub

Source

pub fn with_request_response(self, config: Vec<RequestResponseConfig>) -> Self

Enables request response. Note: At this time, this option will only support up to 10 request-response behaviours. with any additional being ignored. Additionally, any duplicated protocols that are provided will be ignored.

Source

pub fn with_autonat(self) -> Self

Enables autonat

Source

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

Enables ping

Source

pub fn with_custom_behaviour<F>(self, f: F) -> Self
where F: FnOnce(&Keypair) -> Result<C> + 'static,

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_idle_connection_timeout(self, duration: u64) -> Self

Set timeout for idle connections

Source

pub fn set_swarm_configuration<F>(self, f: F) -> Self
where F: FnOnce(Config) -> Config + Send + Sync + 'static,

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<F>(self, key: &str, callback: F) -> Self
where F: Fn(&str) -> Result<RecordKey> + Sync + Send + 'static,

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_repo(self, repo: &Repo<DefaultStorage>) -> Self

Set block and data repo

Source

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

Set a keystore

Source

pub fn enable_quic(self) -> Self

Enables quic transport

Source

pub fn enable_quic_with_config<F>(self, f: F) -> Self
where F: FnOnce(Config) -> Config + 'static,

Enables quic transport with custom configuration

Source

pub fn enable_tcp(self) -> Self

Enables tcp transport

Source

pub fn enable_tcp_with_config<F>(self, f: F) -> Self
where F: FnOnce(Config) -> Config + 'static,

Enables tcp transport with custom configuration

Source

pub fn enable_websocket(self) -> Self

Enables websocket transport

Source

pub fn enable_secure_websocket(self) -> Self

Enables secure websocket transport

Source

pub fn enable_secure_websocket_with_pem( self, keypair: String, certs: Vec<String>, ) -> Self

Enables secure websocket transport

Source

pub fn enable_secure_websocket_with_config<F>(self, f: F) -> Result<Self>
where F: FnOnce(&Keypair) -> Result<(Vec<String>, String)>,

Enables secure websocket transport

Source

pub fn enable_dns(self) -> Self

Enables DNS

Source

pub fn enable_dns_with_resolver(self, resolver: DnsResolver) -> Self

Enables DNS with a specific resolver

Source

pub fn enable_memory_transport(self) -> Self

Enables memory 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 Swarm<Behaviour<Behaviour<C>, MemoryStore>>, &<Swarm<Behaviour<Behaviour<C>, MemoryStore>> 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 = Infallible> + Send + Sync + 'static> Default for IpfsBuilder<C>

Source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<C> !Freeze for IpfsBuilder<C>

§

impl<C> !RefUnwindSafe for IpfsBuilder<C>

§

impl<C> !Send for IpfsBuilder<C>

§

impl<C> !Sync for IpfsBuilder<C>

§

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

§

impl<C> UnsafeUnpin for IpfsBuilder<C>
where C: UnsafeUnpin,

§

impl<C> !UnwindSafe for IpfsBuilder<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
Source§

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

Source§

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

Source§

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

Source§

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.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> TimeoutExt for T

Source§

fn timeout(self, duration: Duration) -> Timeout<Self>

Requires a Future or Stream to complete before the specific duration has elapsed. Read more
Source§

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

Source§

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>,

Source§

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.
Source§

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

Source§

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