pub struct SignStatesRequest {
pub input_states: Option<SignStatesResponse>,
}Expand description
Type to generate a new sign states request. It takes an optional
set of input_states to sign. The server will return states for the
client to sign until no unsigned states remain.
Fields§
§input_states: Option<SignStatesResponse>Implementations§
Source§impl SignStatesRequest
impl SignStatesRequest
Sourcepub fn from_response(sign_states: SignStatesResponse) -> Self
pub fn from_response(sign_states: SignStatesResponse) -> Self
Create new SignStates request using response from a prior request
Trait Implementations§
Source§impl Clone for SignStatesRequest
impl Clone for SignStatesRequest
Source§fn clone(&self) -> SignStatesRequest
fn clone(&self) -> SignStatesRequest
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 SignStatesRequest
impl Debug for SignStatesRequest
Source§impl NashProtocol for SignStatesRequest
Implement protocol bindings for SignStatesRequest
impl NashProtocol for SignStatesRequest
Implement protocol bindings for SignStatesRequest
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,
Serialize a SignStates protocol request to a GraphQL string
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,
Deserialize response to SignStates protocol request
type Response = SignStatesResponse
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_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,
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 SignStatesRequest
impl RefUnwindSafe for SignStatesRequest
impl Send for SignStatesRequest
impl Sync for SignStatesRequest
impl Unpin for SignStatesRequest
impl UnsafeUnpin for SignStatesRequest
impl UnwindSafe for SignStatesRequest
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