pub struct OrderbookRequest {
pub market: String,
}Expand description
Get order book data for the provided market
Fields§
§market: StringImplementations§
Source§impl OrderbookRequest
impl OrderbookRequest
pub fn make_query(&self) -> QueryBody<Variables>
Source§impl OrderbookRequest
impl OrderbookRequest
pub async fn response_from_graphql( &self, response: ResponseOrError<ResponseData>, _state: Arc<RwLock<State>>, ) -> Result<ResponseOrError<OrderbookResponse>>
Trait Implementations§
Source§impl Clone for OrderbookRequest
impl Clone for OrderbookRequest
Source§fn clone(&self) -> OrderbookRequest
fn clone(&self) -> OrderbookRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 OrderbookRequest
impl Debug for OrderbookRequest
Source§impl From<&OrderBookRequest> for OrderbookRequest
impl From<&OrderBookRequest> for OrderbookRequest
Source§fn from(req: &OrderBookRequest) -> Self
fn from(req: &OrderBookRequest) -> Self
Converts to this type from the input type.
Source§impl NashProtocol for OrderbookRequest
impl NashProtocol for OrderbookRequest
type Response = OrderbookResponse
Source§fn graphql<'life0, 'async_trait>(
&'life0 self,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn graphql<'life0, 'async_trait>(
&'life0 self,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Convert the protocol request to GraphQL from communication with Nash server
Source§fn response_from_json<'life0, 'async_trait>(
&'life0 self,
response: Value,
state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<ResponseOrError<Self::Response>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn response_from_json<'life0, 'async_trait>(
&'life0 self,
response: Value,
state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<ResponseOrError<Self::Response>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Convert JSON response to request to the protocol’s associated type
fn run_before<'life0, 'async_trait>(
&'life0 self,
state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<ProtocolHook>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn acquire_permit<'life0, 'async_trait>(
&'life0 self,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Option<OwnedSemaphorePermit>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn acquire_permit<'life0, 'async_trait>(
&'life0 self,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Option<OwnedSemaphorePermit>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
If you want to limit the amount of concurrency of a protocol return a Semaphore here
Source§fn process_response<'life0, 'life1, 'async_trait>(
&'life0 self,
_response: &'life1 Self::Response,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn process_response<'life0, 'life1, 'async_trait>(
&'life0 self,
_response: &'life1 Self::Response,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Any state changes that result from execution of the protocol request
The default implementation does nothing to state
Source§fn process_error<'life0, 'life1, 'async_trait>(
&'life0 self,
_response: &'life1 ErrorResponse,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn process_error<'life0, 'life1, 'async_trait>(
&'life0 self,
_response: &'life1 ErrorResponse,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Any errors that result from execution of the protocol request
The default implementation does nothing to state
fn run_after<'life0, 'async_trait>(
&'life0 self,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<ProtocolHook>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for OrderbookRequest
impl RefUnwindSafe for OrderbookRequest
impl Send for OrderbookRequest
impl Sync for OrderbookRequest
impl Unpin for OrderbookRequest
impl UnsafeUnpin for OrderbookRequest
impl UnwindSafe for OrderbookRequest
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§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 moreSource§impl<T> NashProtocolPipeline for T
impl<T> NashProtocolPipeline for T
Source§type PipelineState = Option<ResponseOrError<<T as NashProtocol>::Response>>
type PipelineState = Option<ResponseOrError<<T as NashProtocol>::Response>>
State managed by pipeline and used to hold intermediate results and allow
the implementer to decide whether the pipeline is over
Source§type ActionType = T
type ActionType = T
Wrapper type for all actions this pipeline can take
Source§fn acquire_permit<'life0, 'async_trait>(
&'life0 self,
state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Option<OwnedSemaphorePermit>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn acquire_permit<'life0, 'async_trait>(
&'life0 self,
state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Option<OwnedSemaphorePermit>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
If you want to limit the amount of concurrency of a pipeline return a Semaphore here
Source§fn init_state<'life0, 'async_trait>(
&'life0 self,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = <T as NashProtocolPipeline>::PipelineState> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn init_state<'life0, 'async_trait>(
&'life0 self,
_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = <T as NashProtocolPipeline>::PipelineState> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Create initial state for the pipeline
Source§fn next_step<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline_state: &'life1 <T as NashProtocolPipeline>::PipelineState,
_client_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<Option<<T as NashProtocolPipeline>::ActionType>, ProtocolError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn next_step<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline_state: &'life1 <T as NashProtocolPipeline>::PipelineState,
_client_state: Arc<RwLock<State>>,
) -> Pin<Box<dyn Future<Output = Result<Option<<T as NashProtocolPipeline>::ActionType>, ProtocolError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Give next action to take or return
None if pipeline is finished. &State needs
to be mutable as client may modify itself when producing the next step (e.g., removing
and r value generate a signature)Source§fn process_step<'life0, 'life1, 'async_trait>(
&'life0 self,
result: <<T as NashProtocolPipeline>::ActionType as NashProtocol>::Response,
state: &'life1 mut <T as NashProtocolPipeline>::PipelineState,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn process_step<'life0, 'life1, 'async_trait>(
&'life0 self,
result: <<T as NashProtocolPipeline>::ActionType as NashProtocol>::Response,
state: &'life1 mut <T as NashProtocolPipeline>::PipelineState,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Process the results of a pipeline step
Source§fn output(
&self,
state: <T as NashProtocolPipeline>::PipelineState,
) -> Result<ResponseOrError<<T as NashProtocol>::Response>, ProtocolError>
fn output( &self, state: <T as NashProtocolPipeline>::PipelineState, ) -> Result<ResponseOrError<<T as NashProtocol>::Response>, ProtocolError>
Get results from pipeline or
None if the pipeline is not finished