pub enum GilSite {
Show 23 variants
EndpointDispatch,
QueueDispatch,
DispatchInit,
EndpointCleanup,
Supervise,
DisplayName,
ActorConstruct,
Bootstrap,
TaskLocals,
ReplyConvert,
Reducer,
Accumulate,
Convert,
Traceback,
AwaitDrive,
Stop,
Debugger,
Logging,
CodeSync,
Rdma,
WorkerInit,
StreamCompute,
Test,
}Expand description
A sanctioned GIL acquisition operation, identifying why a
monarch_with_gil/monarch_with_gil_blocking site takes the GIL. Each
variant names one distinct operation so is_control_plane_allowed can
classify it. There is deliberately no catch-all: a new GIL site must add a
variant and classify it, or the code will not compile.
This sanctioned set is transitional and meant to shrink: the goal is to move Python off the control-plane runtime entirely, retiring these operations over time, so the allow-list (and this enum) trends toward empty. New variants should be rare and short-lived.
Variants§
EndpointDispatch
Dispatch a message to a Python endpoint (direct dispatch).
QueueDispatch
Build a queued message for queue-dispatch mode.
DispatchInit
Start the Python dispatch loop during actor init.
EndpointCleanup
Run an actor’s __cleanup__.
Supervise
Run __supervise__, or inspect a supervision result.
DisplayName
Render an actor’s display name.
ActorConstruct
Construct a PythonActor (unpickle the actor type).
Bootstrap
Bootstrap a client actor, or convert bootstrap addresses.
TaskLocals
Create or clone a TaskLocals (asyncio event loop).
ReplyConvert
Convert a port reply into a Python value.
Reducer
Run a comm reducer.
Accumulate
Run an accumulator.
Convert
Convert a Rust value into a Python value (or clone a Python value).
Traceback
Capture, format, or clone a Python traceback or exception.
AwaitDrive
Drive a Python coroutine or blocking task on the bridge.
Stop
Cancel pending tasks, stop an event loop, or interrupt the client.
Debugger
Interactive debugger read/write.
Logging
Get or set a Python logger.
CodeSync
Run the code-sync auto-reloader.
Rdma
Register or operate RDMA buffers (runs on the data plane).
WorkerInit
Worker-process startup: torch import, env init. Runs on the
control-plane runtime (the WorkerActor has no data-plane override).
StreamCompute
Tensor/Python work on the StreamActor data-plane runtime.
Test
Test-only GIL use.
Trait Implementations§
impl Copy for GilSite
impl Eq for GilSite
impl StructuralPartialEq for GilSite
Auto Trait Implementations§
impl Freeze for GilSite
impl RefUnwindSafe for GilSite
impl Send for GilSite
impl Sync for GilSite
impl Unpin for GilSite
impl UnsafeUnpin for GilSite
impl UnwindSafe for GilSite
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
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>,
Layered].