Struct holochain::prelude::prelude::PreflightResponse
pub struct PreflightResponse {
pub request: PreflightRequest,
pub agent_state: CounterSigningAgentState,
pub signature: Signature,
}
Expand description
Every agent must send back a preflight response. All the preflight response data is signed by each agent and included in the session data.
Fields
request: PreflightRequest
The request this is a response to.
agent_state: CounterSigningAgentState
The agent must provide their current chain state, state their position in the preflight and sign everything.
signature: Signature
The signature of the preflight resonse.
Implementations
impl PreflightResponse
impl PreflightResponse
pub fn try_new(
request: PreflightRequest,
agent_state: CounterSigningAgentState,
signature: Signature
) -> Result<PreflightResponse, CounterSigningError>
pub fn try_new(
request: PreflightRequest,
agent_state: CounterSigningAgentState,
signature: Signature
) -> Result<PreflightResponse, CounterSigningError>
Fallible constructor.
pub fn check_integrity(&self) -> Result<(), CounterSigningError>
pub fn check_integrity(&self) -> Result<(), CounterSigningError>
Combined preflight response validation call.
pub fn encode_fields_for_signature(
request: &PreflightRequest,
agent_state: &CounterSigningAgentState
) -> Result<Vec<u8, Global>, SerializedBytesError>
pub fn encode_fields_for_signature(
request: &PreflightRequest,
agent_state: &CounterSigningAgentState
) -> Result<Vec<u8, Global>, SerializedBytesError>
Serialization for signing of the signable field data only.
pub fn encode_for_signature(
&self
) -> Result<Vec<u8, Global>, SerializedBytesError>
pub fn encode_for_signature(
&self
) -> Result<Vec<u8, Global>, SerializedBytesError>
Consistent serialization for the preflight response so it can be signed and the signatures verified.
pub fn request(&self) -> &PreflightRequest
pub fn request(&self) -> &PreflightRequest
Request accessor.
pub fn request_mut(&mut self) -> &mut PreflightRequest
pub fn request_mut(&mut self) -> &mut PreflightRequest
Mutable request accessor for testing.
pub fn agent_state(&self) -> &CounterSigningAgentState
pub fn agent_state(&self) -> &CounterSigningAgentState
Agent state accessor.
pub fn agent_state_mut(&mut self) -> &mut CounterSigningAgentState
pub fn agent_state_mut(&mut self) -> &mut CounterSigningAgentState
Mutable agent state accessor for testing.
pub fn signature_mut(&mut self) -> &mut Signature
pub fn signature_mut(&mut self) -> &mut Signature
Mutable signature accessor for testing.
Trait Implementations
impl<'arbitrary> Arbitrary<'arbitrary> for PreflightResponse
impl<'arbitrary> Arbitrary<'arbitrary> for PreflightResponse
fn arbitrary(
u: &mut Unstructured<'arbitrary>
) -> Result<PreflightResponse, Error>
fn arbitrary(
u: &mut Unstructured<'arbitrary>
) -> Result<PreflightResponse, Error>
Generate an arbitrary value of
Self
from the given unstructured data. Read morefn arbitrary_take_rest(
u: Unstructured<'arbitrary>
) -> Result<PreflightResponse, Error>
fn arbitrary_take_rest(
u: Unstructured<'arbitrary>
) -> Result<PreflightResponse, Error>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read moreimpl Clone for PreflightResponse
impl Clone for PreflightResponse
fn clone(&self) -> PreflightResponse
fn clone(&self) -> PreflightResponse
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreimpl Debug for PreflightResponse
impl Debug for PreflightResponse
impl<'de> Deserialize<'de> for PreflightResponse
impl<'de> Deserialize<'de> for PreflightResponse
fn deserialize<__D>(
__deserializer: __D
) -> Result<PreflightResponse, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<PreflightResponse, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Serialize for PreflightResponse
impl Serialize for PreflightResponse
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for PreflightResponse
impl Send for PreflightResponse
impl Sync for PreflightResponse
impl Unpin for PreflightResponse
impl UnwindSafe for PreflightResponse
Blanket Implementations
impl<T> Any for Twhere
T: Any + ?Sized,
impl<T> Any for Twhere
T: Any + ?Sized,
fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
TODO: once 1.33.0 is the minimum supported compiler version, remove
Any::type_id_compat and use StdAny::type_id instead.
https://github.com/rust-lang/rust/issues/27745 Read more
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
impl<T> FutureExt for T
impl<T> FutureExt for T
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
sourcefn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
sourcefn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read morefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref