pub struct RdmaRemoteBuffer {
pub id: usize,
pub size: usize,
pub owner: ActorRef<RdmaManagerActor>,
/* private fields */
}Expand description
Lightweight handle representing a registered RDMA buffer.
Contains an id for the buffer registration, the buffer size, a reference
to the owning RdmaManagerActor, and backend-specific contexts for
performing RDMA operations.
Fields§
§id: usize§size: usize§owner: ActorRef<RdmaManagerActor>Implementations§
Source§impl RdmaRemoteBuffer
impl RdmaRemoteBuffer
Sourcepub fn resolve_mlx(
&self,
) -> Option<<IbvBackend<MlxDevice> as RdmaBackend>::RemoteBackendContext>
pub fn resolve_mlx( &self, ) -> Option<<IbvBackend<MlxDevice> as RdmaBackend>::RemoteBackendContext>
Context for this backend, if the buffer advertises it.
Sourcepub fn resolve_efa(
&self,
) -> Option<<IbvBackend<EfaDevice> as RdmaBackend>::RemoteBackendContext>
pub fn resolve_efa( &self, ) -> Option<<IbvBackend<EfaDevice> as RdmaBackend>::RemoteBackendContext>
Context for this backend, if the buffer advertises it.
Sourcepub fn resolve_tcp(
&self,
) -> Option<<TcpBackend as RdmaBackend>::RemoteBackendContext>
pub fn resolve_tcp( &self, ) -> Option<<TcpBackend as RdmaBackend>::RemoteBackendContext>
Context for this backend, if the buffer advertises it.
Source§impl RdmaRemoteBuffer
impl RdmaRemoteBuffer
Sourcepub async fn write_from_local(
&self,
client: &(impl Actor + Send + Sync),
local: KeepaliveLocalMemory,
timeout: u64,
) -> Result<bool, Error>
pub async fn write_from_local( &self, client: &(impl Actor + Send + Sync), local: KeepaliveLocalMemory, timeout: u64, ) -> Result<bool, Error>
Push data from local memory into this remote buffer (local->remote).
Sourcepub async fn read_into_local(
&self,
client: &(impl Actor + Send + Sync),
local: KeepaliveLocalMemory,
timeout: u64,
) -> Result<bool, Error>
pub async fn read_into_local( &self, client: &(impl Actor + Send + Sync), local: KeepaliveLocalMemory, timeout: u64, ) -> Result<bool, Error>
Pull data from this remote buffer into local memory (remote->local).
Trait Implementations§
Source§impl Clone for RdmaRemoteBuffer
impl Clone for RdmaRemoteBuffer
Source§fn clone(&self) -> RdmaRemoteBuffer
fn clone(&self) -> RdmaRemoteBuffer
Returns a duplicate of the value. Read more
1.0.0 · 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 RdmaRemoteBuffer
impl Debug for RdmaRemoteBuffer
Source§impl<'de> Deserialize<'de> for RdmaRemoteBuffer
impl<'de> Deserialize<'de> for RdmaRemoteBuffer
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 Named for RdmaRemoteBuffer
impl Named for RdmaRemoteBuffer
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 RdmaRemoteBuffer
impl RefUnwindSafe for RdmaRemoteBuffer
impl Send for RdmaRemoteBuffer
impl Sync for RdmaRemoteBuffer
impl Unpin for RdmaRemoteBuffer
impl UnsafeUnpin for RdmaRemoteBuffer
impl UnwindSafe for RdmaRemoteBuffer
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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].