pub struct ExtensionContext<'a> { /* private fields */ }Implementations§
Source§impl<'a> ExtensionContext<'a>
impl<'a> ExtensionContext<'a>
pub fn snapshot(&self) -> ExtensionSnapshot
pub fn namespace(&self) -> &str
pub fn ownership(&self) -> &OwnershipScope
pub fn ext_event(&self, payload: Vec<u8>) -> EventFrame
pub fn ext_event_wire( &self, payload: Vec<u8>, ) -> Result<EventFrame, SidecarError>
Sourcepub fn emit_event_wire(
&self,
event: EventFrame,
) -> Result<Option<EventFrame>, SidecarError>
pub fn emit_event_wire( &self, event: EventFrame, ) -> Result<Option<EventFrame>, SidecarError>
Emit a wire event frame to the host live (see
ExtensionSnapshot::emit_event_wire).
Sourcepub fn emit_ext_event(
&self,
payload: Vec<u8>,
) -> Result<Option<EventFrame>, SidecarError>
pub fn emit_ext_event( &self, payload: Vec<u8>, ) -> Result<Option<EventFrame>, SidecarError>
Build a namespaced ext-event from payload and emit it live (see
ExtensionSnapshot::emit_ext_event).
pub fn invoke_callback( &self, payload: Vec<u8>, timeout: Duration, ) -> Result<Vec<u8>, SidecarError>
pub async fn spawn_process( &mut self, request: ExecuteRequest, ) -> Result<ProcessStartedResponse, SidecarError>
pub async fn spawn_process_wire( &mut self, request: ExecuteRequest, ) -> Result<ProcessStartedResponse, SidecarError>
pub async fn write_stdin( &mut self, request: WriteStdinRequest, ) -> Result<StdinWrittenResponse, SidecarError>
pub async fn write_stdin_wire( &mut self, request: WriteStdinRequest, ) -> Result<StdinWrittenResponse, SidecarError>
pub async fn close_stdin( &mut self, request: CloseStdinRequest, ) -> Result<StdinClosedResponse, SidecarError>
pub async fn close_stdin_wire( &mut self, request: CloseStdinRequest, ) -> Result<StdinClosedResponse, SidecarError>
pub async fn kill_process( &mut self, request: KillProcessRequest, ) -> Result<ProcessKilledResponse, SidecarError>
pub async fn kill_process_wire( &mut self, request: KillProcessRequest, ) -> Result<ProcessKilledResponse, SidecarError>
pub async fn poll_event( &mut self, timeout: Duration, ) -> Result<Option<EventFrame>, SidecarError>
pub async fn poll_event_wire( &mut self, timeout: Duration, ) -> Result<Option<EventFrame>, SidecarError>
pub async fn guest_filesystem_call( &mut self, request: GuestFilesystemCallRequest, ) -> Result<GuestFilesystemResultResponse, SidecarError>
Sourcepub async fn projected_agents(
&mut self,
) -> Result<Vec<ProjectedAgentLaunchEntry>, SidecarError>
pub async fn projected_agents( &mut self, ) -> Result<Vec<ProjectedAgentLaunchEntry>, SidecarError>
Enumerate the VM’s projected agent packages (id + launch surface) from
sidecar-owned state. This is the agent source of truth for extensions;
it reflects ConfigureVm and live LinkPackage updates.
pub async fn guest_filesystem_call_wire( &mut self, request: GuestFilesystemCallRequest, ) -> Result<GuestFilesystemResultResponse, SidecarError>
pub async fn bind_process_to_session( &mut self, ext_session_id: impl Into<String>, process_id: impl Into<String>, ) -> Result<(), SidecarError>
pub async fn bind_vm_to_session( &mut self, ext_session_id: impl Into<String>, ) -> Result<(), SidecarError>
pub async fn dispose_session_resources( &mut self, ext_session_id: impl Into<String>, ) -> Result<Vec<EventFrame>, SidecarError>
pub async fn dispose_session_resources_wire( &mut self, ext_session_id: impl Into<String>, ) -> Result<Vec<EventFrame>, SidecarError>
pub async fn start_buffering_process_output( &mut self, process_id: impl Into<String>, ) -> Result<(), SidecarError>
pub async fn handoff_buffered_process_output( &mut self, ext_session_id: impl Into<String>, process_id: impl Into<String>, timeout: Duration, ) -> Result<ExtensionBufferedProcessOutput, SidecarError>
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for ExtensionContext<'a>
impl<'a> !Send for ExtensionContext<'a>
impl<'a> !Sync for ExtensionContext<'a>
impl<'a> !UnwindSafe for ExtensionContext<'a>
impl<'a> Freeze for ExtensionContext<'a>
impl<'a> Unpin for ExtensionContext<'a>
impl<'a> UnsafeUnpin for ExtensionContext<'a>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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 moreCreates a shared type from an unshared type.