pub struct Ctx {
pub id: String,
pub component_id: Arc<str>,
pub workload_id: Arc<str>,
pub table: ResourceTable,
pub ctx: WasiCtx,
pub http: WasiHttpCtx,
/* private fields */
}Expand description
The context for a component store and linker, providing access to implementations of:
- wasi@0.2 interfaces
- wasi:http@0.2 interfaces
Fields§
§id: StringUnique identifier for this component context. This is a uuid::Uuid::new_v4 string.
component_id: Arc<str>The unique identifier for the workload component this instance belongs to
workload_id: Arc<str>The unique identifier for the workload this component belongs to
table: ResourceTableThe resource table used to manage resources in the Wasmtime store.
ctx: WasiCtxThe WASI context used to provide WASI functionality to the components using this context.
http: WasiHttpCtxThe HTTP context used to provide HTTP functionality to the component.
Implementations§
Source§impl Ctx
impl Ctx
Sourcepub fn get_plugin<T: HostPlugin + 'static>(
&self,
plugin_id: &str,
) -> Option<Arc<T>>
pub fn get_plugin<T: HostPlugin + 'static>( &self, plugin_id: &str, ) -> Option<Arc<T>>
Get a plugin by its string ID and downcast to the expected type
Trait Implementations§
Source§impl IoView for Ctx
impl IoView for Ctx
Source§fn table(&mut self) -> &mut ResourceTable
fn table(&mut self) -> &mut ResourceTable
Yields mutable access to the internal resource management that this
context contains. Read more
Source§impl WasiHttpView for Ctx
impl WasiHttpView for Ctx
Source§fn ctx(&mut self) -> &mut WasiHttpCtx
fn ctx(&mut self) -> &mut WasiHttpCtx
Returns a mutable reference to the WASI HTTP context.
Source§fn new_incoming_request<B>(
&mut self,
scheme: Scheme,
req: Request<B>,
) -> Result<Resource<HostIncomingRequest>, Error>
fn new_incoming_request<B>( &mut self, scheme: Scheme, req: Request<B>, ) -> Result<Resource<HostIncomingRequest>, Error>
Create a new incoming request resource.
Source§fn new_response_outparam(
&mut self,
result: Sender<Result<Response<BoxBody<Bytes, ErrorCode>>, ErrorCode>>,
) -> Result<Resource<HostResponseOutparam>, Error>
fn new_response_outparam( &mut self, result: Sender<Result<Response<BoxBody<Bytes, ErrorCode>>, ErrorCode>>, ) -> Result<Resource<HostResponseOutparam>, Error>
Create a new outgoing response resource.
Source§fn send_request(
&mut self,
request: Request<BoxBody<Bytes, ErrorCode>>,
config: OutgoingRequestConfig,
) -> Result<HostFutureIncomingResponse, HttpError>
fn send_request( &mut self, request: Request<BoxBody<Bytes, ErrorCode>>, config: OutgoingRequestConfig, ) -> Result<HostFutureIncomingResponse, HttpError>
Send an outgoing request.
Source§fn is_forbidden_header(&mut self, _name: &HeaderName) -> bool
fn is_forbidden_header(&mut self, _name: &HeaderName) -> bool
Whether a given header should be considered forbidden and not allowed.
Source§fn outgoing_body_buffer_chunks(&mut self) -> usize
fn outgoing_body_buffer_chunks(&mut self) -> usize
Number of distinct write calls to the outgoing body’s output-stream
that the implementation will buffer.
Default: 1.
Source§fn outgoing_body_chunk_size(&mut self) -> usize
fn outgoing_body_chunk_size(&mut self) -> usize
Maximum size allowed in a write call to the outgoing body’s output-stream.
Default: 1024 * 1024.
Auto Trait Implementations§
impl !RefUnwindSafe for Ctx
impl !Sync for Ctx
impl !UnwindSafe for Ctx
impl Freeze for Ctx
impl Send for Ctx
impl Unpin for Ctx
impl UnsafeUnpin for Ctx
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<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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 more