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 more§fn 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 more§impl 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 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl 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
§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.
§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> ⓘ
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> 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> ⓘ
§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 more§fn 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