pub struct CollectiveActor { /* private fields */ }Implementations§
Source§impl CollectiveActor
impl CollectiveActor
Sourcepub fn props_for_rank(
comm: Comm,
state: Arc<DeviceState>,
completion: Arc<dyn CompletionStrategy>,
) -> Props<Self>
pub fn props_for_rank( comm: Comm, state: Arc<DeviceState>, completion: Arc<dyn CompletionStrategy>, ) -> Props<Self>
Build a Props<CollectiveActor> capturing a single-rank Comm.
Each call constructs a single-shot factory (the comm cannot
be cloned). The returned Props panics on second
instantiation — supervisor restart loops therefore become
fatal for NCCL world actors. NcclWorldActor handles this by
orchestrating world rebuilds explicitly.
pub fn mock_props() -> Props<Self>
Trait Implementations§
Source§impl Actor for CollectiveActor
impl Actor for CollectiveActor
type Msg = CollectiveMsg
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
msg: CollectiveMsg,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
msg: CollectiveMsg,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Process a single message.
§fn pre_start<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn pre_start<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Called once before the first message.
§fn post_stop<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn post_stop<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Called after the actor has been stopped.
§fn pre_restart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
_err: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn pre_restart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
_err: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Called when the actor is about to be restarted by the supervisor.
§fn post_restart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
_err: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn post_restart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
_err: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Called after a restart.
§fn on_terminated<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
_path: &'life2 ActorPath,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn on_terminated<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut Context<Self>,
_path: &'life2 ActorPath,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Called when a watched actor terminates. The
path argument is
the path of the actor that just stopped. Default is a no-op.
Implementations may translate this into a user-visible message
(the Python binding does this for Terminated events).§fn supervisor_strategy(&self) -> SupervisorStrategy
fn supervisor_strategy(&self) -> SupervisorStrategy
The supervisor strategy this actor applies to its own children.
Auto Trait Implementations§
impl Freeze for CollectiveActor
impl !RefUnwindSafe for CollectiveActor
impl Send for CollectiveActor
impl Sync for CollectiveActor
impl Unpin for CollectiveActor
impl UnsafeUnpin for CollectiveActor
impl !UnwindSafe for CollectiveActor
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