Skip to main content

TradingEvents

Struct TradingEvents 

Source
pub struct TradingEvents(/* private fields */);
Expand description

The stream Trading::events returns: the account’s acknowledgements and fills, from an unbounded queue.

It is Send, Unpin and 'static, so a consumer can move it onto a task of its own, whether it reached the venue statically or through Arc<DynTrading<'static>>. (A trait method returning impl Stream + 'static would lose the 'static through the dyn wrapper, so the stream is this named type.)

Its first item is TradingEvent::Resync, unless the stream cannot open, when its only item is that error. The venue replays nothing: after every reconnect of the connection that carries fills, and when the venue voids a fill it reported (a trade that failed after it matched, which the stream has no event to take back), the stream yields Resync before any later fill. What happened while the connection was down will not arrive, and the consumer reconciles through Trading::open_orders and the venue’s trade history.

An Err item the venue recovered from, such as a lost connection it re-established, is followed by more items. After one it could not recover from, the stream ends. None means the feed has stopped for good.

Implementations§

Source§

impl TradingEvents

Source

pub fn new( stream: impl Stream<Item = Result<TradingEvent, ClassifiedError>> + Send + 'static, ) -> Self

Wraps the stream a Trading implementation feeds from its queue.

Trait Implementations§

Source§

impl Debug for TradingEvents

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Stream for TradingEvents

Source§

type Item = Result<TradingEvent, ClassifiedError>

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
Source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more