pub struct RdmaManagerActor { /* private fields */ }Trait Implementations§
Source§impl Actor for RdmaManagerActor
impl Actor for RdmaManagerActor
Source§type Params = Option<IbverbsConfig>
type Params = Option<IbverbsConfig>
Source§fn new<'async_trait>(
params: Self::Params,
) -> Pin<Box<dyn Future<Output = Result<Self, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
fn new<'async_trait>(
params: Self::Params,
) -> Pin<Box<dyn Future<Output = Result<Self, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
Source§fn init<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn init<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn handle_supervision_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Instance<Self>,
_event: &'life2 ActorSupervisionEvent,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle_supervision_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Instance<Self>,
_event: &'life2 ActorSupervisionEvent,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn cleanup<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
_err: Option<&'life2 ActorError>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn cleanup<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
_err: Option<&'life2 ActorError>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Source§fn spawn<'life0, 'async_trait>(
cx: &'life0 (impl Actor + 'async_trait),
params: Self::Params,
) -> Pin<Box<dyn Future<Output = Result<ActorHandle<Self>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn spawn<'life0, 'async_trait>(
cx: &'life0 (impl Actor + 'async_trait),
params: Self::Params,
) -> Pin<Box<dyn Future<Output = Result<ActorHandle<Self>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Instance).
The spawned actor will be supervised by the parent (spawning) actor.Source§fn spawn_detached<'async_trait>(
params: Self::Params,
) -> Pin<Box<dyn Future<Output = Result<ActorHandle<Self>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
fn spawn_detached<'async_trait>(
params: Self::Params,
) -> Pin<Box<dyn Future<Output = Result<ActorHandle<Self>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
Source§fn spawn_server_task<F>(future: F) -> JoinHandle<<F as Future>::Output>
fn spawn_server_task<F>(future: F) -> JoinHandle<<F as Future>::Output>
Source§fn handle_undeliverable_message<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
envelope: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn handle_undeliverable_message<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
envelope: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Source§fn display_name(&self) -> Option<String>
fn display_name(&self) -> Option<String>
Source§impl Binds<RdmaManagerActor> for RdmaManagerActor
impl Binds<RdmaManagerActor> for RdmaManagerActor
Source§impl Debug for RdmaManagerActor
impl Debug for RdmaManagerActor
Source§impl Drop for RdmaManagerActor
impl Drop for RdmaManagerActor
Source§impl Handler<RdmaManagerMessage> for RdmaManagerActor
impl Handler<RdmaManagerMessage> for RdmaManagerActor
Source§impl Named for RdmaManagerActor
impl Named for RdmaManagerActor
Source§fn typename() -> &'static str
fn typename() -> &'static str
Source§fn typehash() -> u64
fn typehash() -> u64
Source§fn typeid() -> TypeId
fn typeid() -> TypeId
Source§fn port() -> u64
fn port() -> u64
Source§impl RdmaManagerMessageHandler for RdmaManagerActor
impl RdmaManagerMessageHandler for RdmaManagerActor
Source§fn request_buffer<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, Self>,
addr: usize,
size: usize,
) -> Pin<Box<dyn Future<Output = Result<RdmaBuffer, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn request_buffer<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, Self>,
addr: usize,
size: usize,
) -> Pin<Box<dyn Future<Output = Result<RdmaBuffer, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Requests a buffer to be registered with the RDMA domain.
This function registers a memory region with the RDMA domain and returns an RdmaBuffer
that encapsulates the necessary information for RDMA operations.
§Arguments
this- The context of the actor requesting the buffer.addr- The starting address of the memory region to be registered.size- The size of the memory region to be registered.
§Returns
Result<RdmaBuffer, anyhow::Error>- On success, returns anRdmaBuffercontaining the registered memory region’s details. On failure, returns an error.
Source§fn release_buffer<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
buffer: RdmaBuffer,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn release_buffer<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
buffer: RdmaBuffer,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Deregisters a buffer from the RDMA domain.
This function removes the specified RdmaBuffer from the RDMA domain,
effectively releasing the resources associated with it.
§Arguments
_this- The context of the actor releasing the buffer.buffer- TheRdmaBufferto be deregistered.
§Returns
Result<(), anyhow::Error>- On success, returnsOk(()). On failure, returns an error.
Source§fn request_queue_pair<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
) -> Pin<Box<dyn Future<Output = Result<RdmaQueuePair, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn request_queue_pair<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
) -> Pin<Box<dyn Future<Output = Result<RdmaQueuePair, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Requests a queue pair for communication with a remote RDMA manager actor.
Basic logic: if queue pair exists in map, return it; if None, create connection first.
§Arguments
cx- The context of the actor requesting the queue pair.remote- The ActorRef of the remote RDMA manager actor to communicate with.
§Returns
Result<RdmaQueuePair, anyhow::Error>- On success, returns the queue pair for communication. On failure, returns an error.
Source§fn connect<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
endpoint: RdmaQpInfo,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn connect<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
endpoint: RdmaQpInfo,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Establishes a connection with another actor
§Arguments
other- The ActorRef of the actor to connect toendpoint- Connection information needed to establish the RDMA connection
Source§fn connection_info<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
) -> Pin<Box<dyn Future<Output = Result<RdmaQpInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn connection_info<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
) -> Pin<Box<dyn Future<Output = Result<RdmaQpInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn release_queue_pair<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
_other: ActorRef<RdmaManagerActor>,
_self_device: String,
_other_device: String,
_qp: RdmaQueuePair,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn release_queue_pair<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
_other: ActorRef<RdmaManagerActor>,
_self_device: String,
_other_device: String,
_qp: RdmaQueuePair,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Releases a queue pair back to the HashMap
This method is now a no-op since RdmaQueuePair is Clone and can be safely shared. The queue pair is not actually checked out, so there’s nothing to release. This method is kept for API compatibility.
§Arguments
remote- The ActorRef of the remote actor to return the queue pair forqp- The queue pair to release (ignored)
Source§fn get_qp_state<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_qp_state<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn initialize_qp<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn initialize_qp<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, Self>,
other: ActorRef<RdmaManagerActor>,
self_device: String,
other_device: String,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
impl Referable for RdmaManagerActor
impl RemoteHandles<RdmaManagerMessage> for RdmaManagerActor
impl RemoteHandles<Signal> for RdmaManagerActor
Auto Trait Implementations§
impl Freeze for RdmaManagerActor
impl !RefUnwindSafe for RdmaManagerActor
impl Send for RdmaManagerActor
impl Sync for RdmaManagerActor
impl Unpin for RdmaManagerActor
impl !UnwindSafe for RdmaManagerActor
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
§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
Source§impl<A> Handler<Undeliverable<MessageEnvelope>> for Awhere
A: Actor,
impl<A> Handler<Undeliverable<MessageEnvelope>> for Awhere
A: Actor,
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, A>,
message: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
A: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, A>,
message: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
A: 'async_trait,
§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>
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>
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