[][src]Struct libp2p_bitswap::Bitswap

pub struct Bitswap { /* fields omitted */ }

Network behaviour that handles sending and receiving IPFS blocks.

Implementations

impl Bitswap[src]

pub fn new() -> Self[src]

Creates a new Bitswap.

pub fn connect(&mut self, peer_id: PeerId)[src]

Connect to peer.

Called from discovery protocols like mdns or kademlia.

pub fn send_block(&mut self, peer_id: &PeerId, cid: Cid, data: Box<[u8]>)[src]

Sends a block to the peer.

Called from a Strategy.

pub fn send_block_all(&mut self, cid: &Cid, data: &[u8])[src]

Sends a block to all peers that sent a want.

pub fn want_block(&mut self, cid: Cid, priority: Priority)[src]

Queues the wanted block for all peers.

A user request

pub fn cancel_block(&mut self, cid: &Cid)[src]

Removes the block from our want list and updates all peers.

Can be either a user request or be called when the block was received.

pub fn wantlist(&self, peer_id: Option<&PeerId>) -> Vec<(Cid, Priority)>[src]

Retrieves the want list of a peer.

pub fn peers<'a>(&'a self) -> impl Iterator<Item = &'a PeerId> + 'a[src]

Retrieves the connected bitswap peers.

pub fn peers_want<'a>(
    &'a self,
    cid: &'a Cid
) -> impl Iterator<Item = &'a PeerId> + 'a
[src]

Retrieves the peers that want a block.

Trait Implementations

impl Default for Bitswap[src]

impl NetworkBehaviour for Bitswap[src]

type ProtocolsHandler = OneShotHandler<BitswapConfig, BitswapMessage, BitswapMessage>

Handler for all the protocols the network behaviour supports.

type OutEvent = BitswapEvent

Event generated by the NetworkBehaviour and that the swarm will report back.

Auto Trait Implementations

impl RefUnwindSafe for Bitswap

impl Send for Bitswap

impl Sync for Bitswap

impl Unpin for Bitswap

impl UnwindSafe for Bitswap

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized

impl<T> From<T> for T[src]

impl<T> InitializableFromZeroed for T where
    T: Default

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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