pub struct InMemoryTransport { /* private fields */ }Expand description
In-memory transport for testing and local development
Provides a zero-copy, high-performance transport for running multiple RAFT nodes in the same process.
Implementations§
Source§impl InMemoryTransport
impl InMemoryTransport
Sourcepub fn new(
node_id: NodeId,
registry: Arc<DashMap<NodeId, UnboundedSender<(NodeId, Message)>>>,
) -> Self
pub fn new( node_id: NodeId, registry: Arc<DashMap<NodeId, UnboundedSender<(NodeId, Message)>>>, ) -> Self
Create a new in-memory transport for a node
§Arguments
node_id- Unique identifier for this noderegistry- Shared registry of all nodes in the cluster
Sourcepub fn new_registry() -> Arc<DashMap<NodeId, UnboundedSender<(NodeId, Message)>>>
pub fn new_registry() -> Arc<DashMap<NodeId, UnboundedSender<(NodeId, Message)>>>
Create a new registry for a cluster
Trait Implementations§
Source§impl Transport for InMemoryTransport
impl Transport for InMemoryTransport
Source§fn send<'life0, 'async_trait>(
&'life0 self,
target: NodeId,
message: Message,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send<'life0, 'async_trait>(
&'life0 self,
target: NodeId,
message: Message,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send a message to a specific node
Auto Trait Implementations§
impl Freeze for InMemoryTransport
impl !RefUnwindSafe for InMemoryTransport
impl Send for InMemoryTransport
impl Sync for InMemoryTransport
impl Unpin for InMemoryTransport
impl !UnwindSafe for InMemoryTransport
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> 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 more