Struct bip_utracker::Handshaker
[−]
[src]
pub struct Handshaker<S> { /* fields omitted */ }
Handshaker which is both Stream
and Sink
.
Methods
impl<S> Handshaker<S>
[src]
fn into_parts(self) -> (HandshakerSink, HandshakerStream<S>)
Splits the Handshaker
into its parts.
This is an enhanced version of Stream::split
in that the returned Sink
implements
DiscoveryInfo
so it can be cloned and passed in to different peer discovery services.
Trait Implementations
impl<S> Stream for Handshaker<S>
[src]
type Item = CompleteMessage<S>
type Error = ()
fn poll(&mut self) -> Result<Async<Option<CompleteMessage<S>>>, ()>
impl<S> DiscoveryInfo for Handshaker<S>
[src]
fn port(&self) -> u16
Retrieve our public port that we advertise to others.
fn peer_id(&self) -> ShaHash
Retrieve our PeerId
that we advertise to others.
impl<S> Sink for Handshaker<S>
[src]
type SinkItem = InitiateMessage
The type of value that the sink accepts.
type SinkError = SendError<InitiateMessage>
The type of value produced by the sink when an error occurs.
fn start_send(
&mut self,
item: InitiateMessage
) -> Result<AsyncSink<InitiateMessage>, SendError<InitiateMessage>>
&mut self,
item: InitiateMessage
) -> Result<AsyncSink<InitiateMessage>, SendError<InitiateMessage>>
Begin the process of sending a value to the sink. Read more
fn poll_complete(&mut self) -> Result<Async<()>, SendError<InitiateMessage>>
Flush all output from this sink, if necessary. Read more
fn close(&mut self) -> Result<Async<()>, Self::SinkError>
A method to indicate that no more values will ever be pushed into this sink. Read more
fn wait(self) -> Wait<Self>
Creates a new object which will produce a synchronous sink. Read more
fn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
Composes a function in front of the sink. Read more
fn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
F: FnOnce(Self::SinkError) -> E,
Transforms the error returned by the sink.
fn sink_from_err<E>(self) -> SinkFromErr<Self, E> where
E: From<Self::SinkError>,
E: From<Self::SinkError>,
Map this sink's error to any error implementing From
for this sink's Error
, returning a new sink. Read more
fn buffer(self, amt: usize) -> Buffer<Self>
Adds a fixed-size buffer to the current sink. Read more
fn flush(self) -> Flush<Self>
A future that completes when the sink has finished processing all pending requests. Read more
fn send(self, item: Self::SinkItem) -> Send<Self>
A future that completes after the given item has been fully processed into the sink, including flushing. Read more
fn send_all<S>(self, stream: S) -> SendAll<Self, S> where
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more
impl<S> HandshakeFilters for Handshaker<S>
[src]
fn add_filter<F>(&self, filter: F) where
F: HandshakeFilter + PartialEq<F> + Eq + Send + Sync + 'static,
F: HandshakeFilter + PartialEq<F> + Eq + Send + Sync + 'static,
fn remove_filter<F>(&self, filter: F) where
F: HandshakeFilter + PartialEq<F> + Eq + Send + Sync + 'static,
F: HandshakeFilter + PartialEq<F> + Eq + Send + Sync + 'static,