pub struct IbvRemoteMemoryRegionView {
pub rkey: u32,
pub addr: usize,
pub size: usize,
pub device_name: String,
}Expand description
What a peer needs in order to address one of our registered memory regions
over RDMA: the region’s rkey, its RDMA address, its size, and the device
serving it.
This is the wire form of an IbvMemoryRegionView. It carries no lkey and
no keepalive: an lkey only means anything to the protection domain that
issued it, and the registration is kept alive by the views the owning side
holds.
Fields§
§rkey: u32§addr: usizeRDMA address (may differ from virtual address).
size: usize§device_name: StringName of the RDMA device this region is registered on (e.g., “mlx5_0”).
Implementations§
Trait Implementations§
Source§impl Clone for IbvRemoteMemoryRegionView
impl Clone for IbvRemoteMemoryRegionView
Source§fn clone(&self) -> IbvRemoteMemoryRegionView
fn clone(&self) -> IbvRemoteMemoryRegionView
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IbvRemoteMemoryRegionView
impl Debug for IbvRemoteMemoryRegionView
Source§impl<'de> Deserialize<'de> for IbvRemoteMemoryRegionView
impl<'de> Deserialize<'de> for IbvRemoteMemoryRegionView
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 From<&IbvMemoryRegionView> for IbvRemoteMemoryRegionView
impl From<&IbvMemoryRegionView> for IbvRemoteMemoryRegionView
Source§fn from(view: &IbvMemoryRegionView) -> Self
fn from(view: &IbvMemoryRegionView) -> Self
The wire transport details are fully derived from the registered MR view: the remote key, the RDMA address, the size, and the device name.
Source§impl Named for IbvRemoteMemoryRegionView
impl Named for IbvRemoteMemoryRegionView
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 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.
Auto Trait Implementations§
impl Freeze for IbvRemoteMemoryRegionView
impl RefUnwindSafe for IbvRemoteMemoryRegionView
impl Send for IbvRemoteMemoryRegionView
impl Sync for IbvRemoteMemoryRegionView
impl Unpin for IbvRemoteMemoryRegionView
impl UnsafeUnpin for IbvRemoteMemoryRegionView
impl UnwindSafe for IbvRemoteMemoryRegionView
Blanket Implementations§
impl<M> Accepts<M> for Mwhere
M: RemoteMessage,
impl<T> Allocation for T
§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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].