Struct libp2p::gossipsub::protocol::ProtocolConfig [−][src]
pub struct ProtocolConfig { /* fields omitted */ }
Expand description
Implementation of InboundUpgrade
and OutboundUpgrade
for the Gossipsub protocol.
Implementations
pub fn new(
id_prefix: Cow<'static, str>,
max_transmit_size: usize,
validation_mode: ValidationMode,
support_floodsub: bool
) -> ProtocolConfig
pub fn new(
id_prefix: Cow<'static, str>,
max_transmit_size: usize,
validation_mode: ValidationMode,
support_floodsub: bool
) -> ProtocolConfig
Builds a new ProtocolConfig
.
Sets the maximum gossip transmission size.
Trait Implementations
impl<TSocket> InboundUpgrade<TSocket> for ProtocolConfig where
TSocket: 'static + AsyncRead + AsyncWrite + Unpin + Send,
impl<TSocket> InboundUpgrade<TSocket> for ProtocolConfig where
TSocket: 'static + AsyncRead + AsyncWrite + Unpin + Send,
type Output = (Framed<TSocket, GossipsubCodec>, PeerKind)
type Output = (Framed<TSocket, GossipsubCodec>, PeerKind)
Output after the upgrade has been successfully negotiated and the handshake performed.
type Error = GossipsubHandlerError
type Error = GossipsubHandlerError
Possible error during the handshake.
type Future = Pin<Box<dyn Future<Output = Result<<ProtocolConfig as InboundUpgrade<TSocket>>::Output, <ProtocolConfig as InboundUpgrade<TSocket>>::Error>> + Send + 'static, Global>>
type Future = Pin<Box<dyn Future<Output = Result<<ProtocolConfig as InboundUpgrade<TSocket>>::Output, <ProtocolConfig as InboundUpgrade<TSocket>>::Error>> + Send + 'static, Global>>
Future that performs the handshake with the remote.
pub fn upgrade_inbound(
self,
socket: TSocket,
protocol_id: <ProtocolConfig as UpgradeInfo>::Info
) -> <ProtocolConfig as InboundUpgrade<TSocket>>::Future
pub fn upgrade_inbound(
self,
socket: TSocket,
protocol_id: <ProtocolConfig as UpgradeInfo>::Info
) -> <ProtocolConfig as InboundUpgrade<TSocket>>::Future
After we have determined that the remote supports one of the protocols we support, this method is called to start the handshake. Read more
impl<TSocket> OutboundUpgrade<TSocket> for ProtocolConfig where
TSocket: 'static + AsyncWrite + AsyncRead + Unpin + Send,
impl<TSocket> OutboundUpgrade<TSocket> for ProtocolConfig where
TSocket: 'static + AsyncWrite + AsyncRead + Unpin + Send,
type Output = (Framed<TSocket, GossipsubCodec>, PeerKind)
type Output = (Framed<TSocket, GossipsubCodec>, PeerKind)
Output after the upgrade has been successfully negotiated and the handshake performed.
type Error = GossipsubHandlerError
type Error = GossipsubHandlerError
Possible error during the handshake.
type Future = Pin<Box<dyn Future<Output = Result<<ProtocolConfig as OutboundUpgrade<TSocket>>::Output, <ProtocolConfig as OutboundUpgrade<TSocket>>::Error>> + Send + 'static, Global>>
type Future = Pin<Box<dyn Future<Output = Result<<ProtocolConfig as OutboundUpgrade<TSocket>>::Output, <ProtocolConfig as OutboundUpgrade<TSocket>>::Error>> + Send + 'static, Global>>
Future that performs the handshake with the remote.
pub fn upgrade_outbound(
self,
socket: TSocket,
protocol_id: <ProtocolConfig as UpgradeInfo>::Info
) -> <ProtocolConfig as OutboundUpgrade<TSocket>>::Future
pub fn upgrade_outbound(
self,
socket: TSocket,
protocol_id: <ProtocolConfig as UpgradeInfo>::Info
) -> <ProtocolConfig as OutboundUpgrade<TSocket>>::Future
After we have determined that the remote supports one of the protocols we support, this method is called to start the handshake. Read more
type Info = ProtocolId
type Info = ProtocolId
Opaque type representing a negotiable protocol.
type InfoIter = Vec<<ProtocolConfig as UpgradeInfo>::Info, Global>
type InfoIter = Vec<<ProtocolConfig as UpgradeInfo>::Info, Global>
Iterator returned by protocol_info
.
Returns the list of protocols that are supported. Used during the negotiation process.
Auto Trait Implementations
impl RefUnwindSafe for ProtocolConfig
impl Send for ProtocolConfig
impl Sync for ProtocolConfig
impl Unpin for ProtocolConfig
impl UnwindSafe for ProtocolConfig
Blanket Implementations
Mutably borrows from an owned value. Read more
fn map_inbound<F, T>(self, f: F) -> MapInboundUpgrade<Self, F> where
F: FnOnce(Self::Output) -> T,
fn map_inbound<F, T>(self, f: F) -> MapInboundUpgrade<Self, F> where
F: FnOnce(Self::Output) -> T,
Returns a new object that wraps around Self
and applies a closure to the Output
.
fn map_inbound_err<F, T>(self, f: F) -> MapInboundUpgradeErr<Self, F> where
F: FnOnce(Self::Error) -> T,
fn map_inbound_err<F, T>(self, f: F) -> MapInboundUpgradeErr<Self, F> where
F: FnOnce(Self::Error) -> T,
Returns a new object that wraps around Self
and applies a closure to the Error
.
fn map_outbound<F, T>(self, f: F) -> MapOutboundUpgrade<Self, F> where
F: FnOnce(Self::Output) -> T,
fn map_outbound<F, T>(self, f: F) -> MapOutboundUpgrade<Self, F> where
F: FnOnce(Self::Output) -> T,
Returns a new object that wraps around Self
and applies a closure to the Output
.
fn map_outbound_err<F, T>(self, f: F) -> MapOutboundUpgradeErr<Self, F> where
F: FnOnce(Self::Error) -> T,
fn map_outbound_err<F, T>(self, f: F) -> MapOutboundUpgradeErr<Self, F> where
F: FnOnce(Self::Error) -> T,
Returns a new object that wraps around Self
and applies a closure to the Error
.