pub struct SubprocessCallbackInvoker { /* private fields */ }Expand description
Subprocess-backed CallbackInvoker.
Spawns a fresh child per invocation. The protocol is intentionally
minimal: stdin receives a single JSON-serialized
DispatchEnvelope (carrying the crate::CallbackRequest and
any opaque PayloadEnvelope bodies); stdout returns a single
JSON-serialized CallbackResponse. The child must exit zero on
success. Anything outside that contract surfaces as a typed
SubprocessInvokerError.
§Payload bodies
Payload bodies flow through the subprocess channel inside the
DispatchEnvelope (issue #22). Bodies are transported verbatim:
Lifeloop never parses body or dereferences body_ref. Clients
receive the same envelopes a caller passed to
CallbackInvoker::invoke.
Implementations§
Source§impl SubprocessCallbackInvoker
impl SubprocessCallbackInvoker
pub fn new(config: SubprocessInvokerConfig) -> Self
pub fn config(&self) -> &SubprocessInvokerConfig
Trait Implementations§
Source§impl CallbackInvoker for SubprocessCallbackInvoker
impl CallbackInvoker for SubprocessCallbackInvoker
Source§type Error = SubprocessInvokerError
type Error = SubprocessInvokerError
Error produced by the callback transport. Kept generic so a
renderer-backed impl, an in-process impl, and a future
network impl can each carry their own diagnostic shape.
Source§fn invoke(
&self,
plan: &RoutingPlan,
payloads: &[PayloadEnvelope],
) -> Result<CallbackResponse, Self::Error>
fn invoke( &self, plan: &RoutingPlan, payloads: &[PayloadEnvelope], ) -> Result<CallbackResponse, Self::Error>
Invoke the client callback for a routed event. Read more
Source§impl Clone for SubprocessCallbackInvoker
impl Clone for SubprocessCallbackInvoker
Source§fn clone(&self) -> SubprocessCallbackInvoker
fn clone(&self) -> SubprocessCallbackInvoker
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SubprocessCallbackInvoker
impl RefUnwindSafe for SubprocessCallbackInvoker
impl Send for SubprocessCallbackInvoker
impl Sync for SubprocessCallbackInvoker
impl Unpin for SubprocessCallbackInvoker
impl UnsafeUnpin for SubprocessCallbackInvoker
impl UnwindSafe for SubprocessCallbackInvoker
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