Skip to main content

OrderIndex

Struct OrderIndex 

Source
pub struct OrderIndex { /* private fields */ }
Expand description

Memory of which Finam order id belongs to which client order id.

Thread safe. The user data connector owns one and its core reads it for every order echo.

See the module docs for an example.

Implementations§

Source§

impl OrderIndex

Source

pub fn new() -> Self

An empty index.

Source

pub fn know(&self, cid: ClientOrderId)

A cid this process knows about: its tag becomes a lookup key for echoes without comment.

Source

pub fn bind(&self, cid: ClientOrderId, order_id: &str)

Remembers that Finam order order_id belongs to cid. An empty order_id is ignored.

Source

pub fn forget(&self, cid: ClientOrderId)

Forgets everything kept for cid: the pair with its Finam order id and its tag. For an order that finished long ago. A later echo of that order resolves through its comment again, or to a made-up cid.

Source

pub fn order_id(&self, cid: ClientOrderId) -> Option<String>

Finam order id of cid, if this process has seen the pair. None does not mean the order does not exist: after a restart call reconcile first.

Source

pub fn lookup(&self, order_id: &str, comment: &str) -> Option<ClientOrderId>

Like OrderIndex::resolve but never invents a cid: None for orders that are not ours.

Source

pub fn resolve( &self, order_id: &str, client_order_id: &str, comment: &str, ) -> ClientOrderId

Cid of an order echo, in order of trust: comment, known order id, known tag, otherwise a stable made-up cid (UUID v5 of the order id). The result is bound to order_id.

Trait Implementations§

Source§

impl Debug for OrderIndex

Source§

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

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

impl Default for OrderIndex

Source§

fn default() -> OrderIndex

Returns the “default value” for a type. 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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

§

impl<T> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in [Layered].
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more