pub enum IbvManagerMessage {
RequestBuffer {
remote_buf_id: usize,
reply: OncePortRef<Option<IbvBuffer>>,
},
ReleaseBuffer {
remote_buf_id: usize,
reply: OncePortRef<()>,
},
RequestQueuePair {
other: ActorRef<IbvManagerActor>,
self_device: String,
other_device: String,
reply: OncePortRef<IbvQueuePair>,
},
Connect {
other: ActorRef<IbvManagerActor>,
self_device: String,
other_device: String,
endpoint: IbvQpInfo,
},
InitializeQP {
other: ActorRef<IbvManagerActor>,
self_device: String,
other_device: String,
reply: OncePortRef<bool>,
},
ConnectionInfo {
other: ActorRef<IbvManagerActor>,
self_device: String,
other_device: String,
reply: OncePortRef<IbvQpInfo>,
},
ReleaseQueuePair {
other: ActorRef<IbvManagerActor>,
self_device: String,
other_device: String,
qp: IbvQueuePair,
},
GetQpState {
other: ActorRef<IbvManagerActor>,
self_device: String,
other_device: String,
reply: OncePortRef<u32>,
},
}Expand description
Messages handled by IbvManagerActor.
Variants§
RequestBuffer
Register the MR for a buffer identified by remote_buf_id. Resolves
the local memory via the parent RdmaManagerActor’s
RequestLocalMemory, registers it as an ibverbs MR, and returns
the resulting IbvBuffer.
Returns None if the buffer has already been released or does not
exist.
ReleaseBuffer
Release a buffer registration by remote_buf_id.
RequestQueuePair
Connect
Fields
§
other: ActorRef<IbvManagerActor>InitializeQP
ConnectionInfo
ReleaseQueuePair
GetQpState
Trait Implementations§
Source§impl Debug for IbvManagerMessage
impl Debug for IbvManagerMessage
Source§impl<'de> Deserialize<'de> for IbvManagerMessage
impl<'de> Deserialize<'de> for IbvManagerMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Handler<IbvManagerMessage> for IbvManagerActor
impl Handler<IbvManagerMessage> for IbvManagerActor
Source§impl Named for IbvManagerMessage
impl Named for IbvManagerMessage
Source§fn typename() -> &'static str
fn typename() -> &'static str
The globally unique type name for the type.
This should typically be the fully qualified Rust name of the type.
Source§fn typehash() -> u64
fn typehash() -> u64
A globally unique hash for this type.
TODO: actually enforce perfect hashing
Source§fn arm(&self) -> Option<&'static str>
fn arm(&self) -> Option<&'static str>
If the named type is an enum, this returns the name of the arm
of the value self.
Source§fn typeid() -> TypeId
fn typeid() -> TypeId
The TypeId for this type. TypeIds are unique only within a binary,
and should not be used for global identification.
Source§impl Serialize for IbvManagerMessage
impl Serialize for IbvManagerMessage
impl Accepts<IbvManagerMessage> for IbvManagerActor
impl RemoteHandles<IbvManagerMessage> for IbvManagerActor
Auto Trait Implementations§
impl !Freeze for IbvManagerMessage
impl RefUnwindSafe for IbvManagerMessage
impl Send for IbvManagerMessage
impl Sync for IbvManagerMessage
impl Unpin for IbvManagerMessage
impl UnwindSafe for IbvManagerMessage
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
§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<A, M> Handler<IndexedErasedUnbound<M>> for A
impl<A, M> Handler<IndexedErasedUnbound<M>> for A
§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].