Struct barter_integration::ExchangeSink
source · [−]pub struct ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
Protocol: ProtocolParser,
InnerSink: Sink<Protocol::Message>,
SinkTransformer: Transformer<Output>,
Output: Debug, {
pub sink: InnerSink,
pub sequence: u64,
pub transformer: SinkTransformer,
pub buffer: VecDeque<Result<Event<Output>, SocketError>>,
pub protocol_marker: PhantomData<Protocol>,
}Expand description
Todo:
Fields
sink: InnerSinksequence: u64transformer: SinkTransformerbuffer: VecDeque<Result<Event<Output>, SocketError>>protocol_marker: PhantomData<Protocol>Implementations
sourceimpl<Protocol, InnerSink, SinkTransformer, Output> ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
Protocol: ProtocolParser,
InnerSink: Sink<Protocol::Message>,
SinkTransformer: Transformer<Output>,
Output: Debug,
impl<Protocol, InnerSink, SinkTransformer, Output> ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
Protocol: ProtocolParser,
InnerSink: Sink<Protocol::Message>,
SinkTransformer: Transformer<Output>,
Output: Debug,
Trait Implementations
sourceimpl<Protocol: Debug, InnerSink: Debug, SinkTransformer: Debug, Output: Debug> Debug for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
Protocol: ProtocolParser,
InnerSink: Sink<Protocol::Message>,
SinkTransformer: Transformer<Output>,
Output: Debug,
impl<Protocol: Debug, InnerSink: Debug, SinkTransformer: Debug, Output: Debug> Debug for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
Protocol: ProtocolParser,
InnerSink: Sink<Protocol::Message>,
SinkTransformer: Transformer<Output>,
Output: Debug,
sourceimpl<Protocol, InnerSink, SinkTransformer, Output> Sink<<Protocol as ProtocolParser>::Message> for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
Protocol: ProtocolParser,
InnerSink: Sink<Protocol::Message>,
SinkTransformer: Transformer<Output>,
Output: Debug,
impl<Protocol, InnerSink, SinkTransformer, Output> Sink<<Protocol as ProtocolParser>::Message> for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
Protocol: ProtocolParser,
InnerSink: Sink<Protocol::Message>,
SinkTransformer: Transformer<Output>,
Output: Debug,
type Error = SocketError
type Error = SocketError
The type of value produced by the sink when an error occurs.
sourcefn poll_ready(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>
fn poll_ready(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>
Attempts to prepare the Sink to receive a value. Read more
sourcefn start_send(
self: Pin<&mut Self>,
item: Protocol::Message
) -> Result<(), Self::Error>
fn start_send(
self: Pin<&mut Self>,
item: Protocol::Message
) -> Result<(), Self::Error>
Begin the process of sending a value to the sink.
Each call to this function must be preceded by a successful call to
poll_ready which returned Poll::Ready(Ok(())). Read more
impl<'pin, Protocol, InnerSink, SinkTransformer, Output> Unpin for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
Protocol: ProtocolParser,
InnerSink: Sink<Protocol::Message>,
SinkTransformer: Transformer<Output>,
Output: Debug,
__ExchangeSink<'pin, Protocol, InnerSink, SinkTransformer, Output>: Unpin,
Auto Trait Implementations
impl<Protocol, InnerSink, SinkTransformer, Output> !RefUnwindSafe for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output>
impl<Protocol, InnerSink, SinkTransformer, Output> Send for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
InnerSink: Send,
Output: Send,
Protocol: Send,
SinkTransformer: Send,
impl<Protocol, InnerSink, SinkTransformer, Output> Sync for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output> where
InnerSink: Sync,
Output: Sync,
Protocol: Sync,
SinkTransformer: Sync,
impl<Protocol, InnerSink, SinkTransformer, Output> !UnwindSafe for ExchangeSink<Protocol, InnerSink, SinkTransformer, Output>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T, Item> SinkExt<Item> for T where
T: Sink<Item> + ?Sized,
impl<T, Item> SinkExt<Item> for T where
T: Sink<Item> + ?Sized,
fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F> where
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
E: From<Self::Error>,
fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F> where
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
E: From<Self::Error>,
Composes a function in front of the sink. Read more
fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F> where
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F> where
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
Composes a function in front of the sink. Read more
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
Transforms the error returned by the sink.
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E> where
Self::Error: Into<E>,
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E> where
Self::Error: Into<E>,
Map this sink’s error to a different error type using the Into trait. Read more
fn buffer(self, capacity: usize) -> Buffer<Self, Item>
fn buffer(self, capacity: usize) -> Buffer<Self, Item>
Adds a fixed-size buffer to the current sink. Read more
fn fanout<Si>(self, other: Si) -> Fanout<Self, Si> where
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
fn fanout<Si>(self, other: Si) -> Fanout<Self, Si> where
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
Fanout items to multiple sinks. Read more
fn flush(&mut self) -> Flush<'_, Self, Item> where
Self: Unpin,
fn flush(&mut self) -> Flush<'_, Self, Item> where
Self: Unpin,
Flush the sink, processing all pending items. Read more
fn send(&mut self, item: Item) -> Send<'_, Self, Item> where
Self: Unpin,
fn send(&mut self, item: Item) -> Send<'_, Self, Item> where
Self: Unpin,
A future that completes after the given item has been fully processed into the sink, including flushing. Read more
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item> where
Self: Unpin,
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item> where
Self: Unpin,
A future that completes after the given item has been received by the sink. Read more
fn send_all<St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St> where
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
Self: Unpin,
fn send_all<St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St> where
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
Self: Unpin,
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more
fn left_sink<Si2>(self) -> Either<Self, Si2> where
Si2: Sink<Item, Error = Self::Error>,
fn left_sink<Si2>(self) -> Either<Self, Si2> where
Si2: Sink<Item, Error = Self::Error>,
Wrap this sink in an Either sink, making it the left-hand variant
of that Either. Read more
fn right_sink<Si1>(self) -> Either<Si1, Self> where
Si1: Sink<Item, Error = Self::Error>,
fn right_sink<Si1>(self) -> Either<Si1, Self> where
Si1: Sink<Item, Error = Self::Error>,
Wrap this stream in an Either stream, making it the right-hand variant
of that Either. Read more
fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>> where
Self: Unpin,
fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error> where
Self: Unpin,
fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error> where
Self: Unpin,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more