pub struct BlasActor { /* private fields */ }Expand description
Two-track construction: a real cuBLAS-backed actor (props), and a
mock variant used by examples/echo_no_gpu and unit tests where no
GPU is present.
Implementations§
Source§impl BlasActor
impl BlasActor
Sourcepub fn props(
stream: Arc<CudaStream>,
allocator: Arc<dyn StreamAllocator>,
completion: Arc<dyn CompletionStrategy>,
state: Arc<DeviceState>,
) -> Props<Self>
pub fn props( stream: Arc<CudaStream>, allocator: Arc<dyn StreamAllocator>, completion: Arc<dyn CompletionStrategy>, state: Arc<DeviceState>, ) -> Props<Self>
Build a [Props<BlasActor>] from a stream+allocator+completion
triple. Panics from inside the factory closure with
"ContextPoisoned: CudaBlas::new failed: …" so the supervisor
can restart the actor on handle-creation failure.
Sourcepub fn props_legacy(
stream: Arc<CudaStream>,
allocator: PerActorAllocator,
completion: HostFnCompletion,
state: Arc<DeviceState>,
) -> Props<Self>
pub fn props_legacy( stream: Arc<CudaStream>, allocator: PerActorAllocator, completion: HostFnCompletion, state: Arc<DeviceState>, ) -> Props<Self>
Back-compat shim for callers using the F1 constructor signature.
Wraps the legacy (stream, PerActorAllocator, HostFnCompletion)
into the F2 form. New code should call BlasActor::props.
pub fn mock_props() -> Props<Self>
Trait Implementations§
Source§impl Actor for BlasActor
impl Actor for BlasActor
type Msg = BlasMsg
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ctx: &'life1 mut Context<Self>,
msg: Self::Msg,
) -> 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: Self::Msg,
) -> 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 BlasActor
impl !RefUnwindSafe for BlasActor
impl Send for BlasActor
impl Sync for BlasActor
impl Unpin for BlasActor
impl UnsafeUnpin for BlasActor
impl !UnwindSafe for BlasActor
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