pub struct MultiRequest<T> {
pub requests: Vec<T>,
}Fields§
§requests: Vec<T>Implementations§
Source§impl MultiRequest<CancelOrderRequest>
impl MultiRequest<CancelOrderRequest>
pub fn make_query(&self, signer: &Signer) -> DynamicQueryBody
Source§impl MultiRequest<LimitOrderRequest>
impl MultiRequest<LimitOrderRequest>
pub async fn make_constructor( &self, state: Arc<RwLock<State>>, ) -> Result<MultiRequestConstructor<LimitOrderConstructor>>
Source§impl MultiRequest<MarketOrderRequest>
impl MultiRequest<MarketOrderRequest>
pub async fn make_constructor( &self, state: Arc<RwLock<State>>, ) -> Result<MultiRequestConstructor<MarketOrderConstructor>>
Trait Implementations§
Source§impl<T: Clone> Clone for MultiRequest<T>
impl<T: Clone> Clone for MultiRequest<T>
Source§fn clone(&self) -> MultiRequest<T>
fn clone(&self) -> MultiRequest<T>
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 moreAuto Trait Implementations§
impl<T> Freeze for MultiRequest<T>
impl<T> RefUnwindSafe for MultiRequest<T>where
T: RefUnwindSafe,
impl<T> Send for MultiRequest<T>where
T: Send,
impl<T> Sync for MultiRequest<T>where
T: Sync,
impl<T> Unpin for MultiRequest<T>where
T: Unpin,
impl<T> UnsafeUnpin for MultiRequest<T>
impl<T> UnwindSafe for MultiRequest<T>where
T: UnwindSafe,
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