Struct libp2p_swarm::StreamProtocol
source · pub struct StreamProtocol { /* private fields */ }
Expand description
Identifies a protocol for a stream.
libp2p nodes use stream protocols to negotiate what to do with a newly opened stream.
Stream protocols are string-based and must start with a forward slash: /
.
Implementations§
source§impl StreamProtocol
impl StreamProtocol
sourcepub const fn new(s: &'static str) -> Self
pub const fn new(s: &'static str) -> Self
Construct a new protocol from a static string slice.
§Panics
This function panics if the protocol does not start with a forward slash: /
.
sourcepub fn try_from_owned(protocol: String) -> Result<Self, InvalidProtocol>
pub fn try_from_owned(protocol: String) -> Result<Self, InvalidProtocol>
Attempt to construct a protocol from an owned string.
This function will fail if the protocol does not start with a forward slash: /
.
Where possible, you should use StreamProtocol::new
instead to avoid allocations.
Trait Implementations§
source§impl AsRef<str> for StreamProtocol
impl AsRef<str> for StreamProtocol
source§impl Clone for StreamProtocol
impl Clone for StreamProtocol
source§fn clone(&self) -> StreamProtocol
fn clone(&self) -> StreamProtocol
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for StreamProtocol
impl Debug for StreamProtocol
source§impl Display for StreamProtocol
impl Display for StreamProtocol
source§impl Hash for StreamProtocol
impl Hash for StreamProtocol
source§impl PartialEq<&str> for StreamProtocol
impl PartialEq<&str> for StreamProtocol
source§impl PartialEq<StreamProtocol> for &str
impl PartialEq<StreamProtocol> for &str
source§fn eq(&self, other: &StreamProtocol) -> bool
fn eq(&self, other: &StreamProtocol) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq for StreamProtocol
impl PartialEq for StreamProtocol
impl Eq for StreamProtocol
Auto Trait Implementations§
impl Freeze for StreamProtocol
impl RefUnwindSafe for StreamProtocol
impl Send for StreamProtocol
impl Sync for StreamProtocol
impl Unpin for StreamProtocol
impl UnwindSafe for StreamProtocol
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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