pub enum RdmaManagerMessage {
RequestBuffer {
local: KeepaliveLocalMemory,
reply: OncePortHandle<RdmaRemoteBuffer>,
},
RequestLocalMemory {
remote_buf_id: usize,
reply: OncePortHandle<Option<KeepaliveLocalMemory>>,
},
GetBackendHandles {
reply: OncePortHandle<Vec<RdmaBackendHandle>>,
},
}Expand description
Local-only messages for the RdmaManagerActor.
These messages carry KeepaliveLocalMemory and are therefore not
serializable – they can only be sent within the same process.
Variants§
RequestBuffer
Register a local memory handle and return a RdmaRemoteBuffer that
remote peers can use to address this buffer over RDMA.
RequestLocalMemory
Look up the local memory handle for a given remote_buf_id. Returns
None if the id does not correspond to a registered buffer.
GetBackendHandles
Return in-process handles to all spawned backends, in priority order.
Fields
§
reply: OncePortHandle<Vec<RdmaBackendHandle>>Trait Implementations§
Source§impl Debug for RdmaManagerMessage
impl Debug for RdmaManagerMessage
Source§impl Handler<RdmaManagerMessage> for RdmaManagerActor
impl Handler<RdmaManagerMessage> for RdmaManagerActor
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, Self>,
message: RdmaManagerMessage,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, Self>,
message: RdmaManagerMessage,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle the next M-typed message.
Source§fn message_status_reporting() -> MessageStatusReporting
fn message_status_reporting() -> MessageStatusReporting
Select which layer reports the message’s terminal telemetry status.
Auto Trait Implementations§
impl !Freeze for RdmaManagerMessage
impl !RefUnwindSafe for RdmaManagerMessage
impl !UnwindSafe for RdmaManagerMessage
impl Send for RdmaManagerMessage
impl Sync for RdmaManagerMessage
impl Unpin for RdmaManagerMessage
impl UnsafeUnpin for RdmaManagerMessage
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].