Struct holochain::prelude::mock_network::HolochainP2pMockChannel
source · pub struct HolochainP2pMockChannel { /* private fields */ }
Expand description
A channel between the simulated network and the set of real holochain nodes.
Implementations
sourceimpl HolochainP2pMockChannel
impl HolochainP2pMockChannel
sourcepub fn channel(
peer_data: Vec<AgentInfoSigned, Global>,
buffer: usize,
scenario: MockScenario
) -> (Sender<KitsuneMock>, ToKitsuneMockChannelRx, HolochainP2pMockChannel)
pub fn channel(
peer_data: Vec<AgentInfoSigned, Global>,
buffer: usize,
scenario: MockScenario
) -> (Sender<KitsuneMock>, ToKitsuneMockChannelRx, HolochainP2pMockChannel)
Create a new mock simulated network channel. The peer data is the simulated nodes. The buffer is the amount of messages that can be buffered. The scenario sets up the why this simulated network will behave.
sourcepub async fn next(
&mut self
) -> impl Future<Output = Option<(AddressedHolochainP2pMockMsg, Option<HolochainP2pMockRespond>)>>
pub async fn next(
&mut self
) -> impl Future<Output = Option<(AddressedHolochainP2pMockMsg, Option<HolochainP2pMockRespond>)>>
Await the next message from the real nodes. Note that all messages are routed through this call so blocking on the loop that calls next will slow down all simulated node response times. This is probably not what you want.
sourcepub async fn send(
&self,
msg: AddressedHolochainP2pMockMsg
) -> impl Future<Output = Option<HolochainP2pMockMsg>>
pub async fn send(
&self,
msg: AddressedHolochainP2pMockMsg
) -> impl Future<Output = Option<HolochainP2pMockMsg>>
Send a notify or request from an addressed simulated agent. If this is a request you will get back the response.
Auto Trait Implementations
impl !RefUnwindSafe for HolochainP2pMockChannel
impl Send for HolochainP2pMockChannel
impl Sync for HolochainP2pMockChannel
impl Unpin for HolochainP2pMockChannel
impl !UnwindSafe for HolochainP2pMockChannel
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