pub struct NanoServiceAction {
pub module: String,
pub memory_limit: usize,
pub execution_timeout_ms: u64,
}Expand description
A WASM route handler (nano-service) action (DW-106,
routes[].action with type: nano_service). The gateway loads the
named WASM module, calls its handle export with the serialized
request (method, path, headers, body), and returns the response the
module produces (status, headers, body). No upstream is contacted.
module is the filesystem path to the .wasm module (checked for
existence and readability at config publish time). memory_limit is
the maximum linear memory in bytes the module may allocate (must be
positive and at most 64 MiB). execution_timeout_ms is the maximum
wall-clock time the handle call may run (must be positive and at
most 5000ms); a module that exceeds it is interrupted and the route
answers 504.
Fields§
§module: StringFilesystem path to the .wasm module. Must exist and be
readable at config publish time.
memory_limit: usizeMaximum linear memory the module may allocate, in bytes. Must be
0 and <= 67108864 (64 MiB). Default: 1048576 (1 MiB).
execution_timeout_ms: u64Maximum wall-clock execution time for the handle call, in
milliseconds. Must be > 0 and <= 5000. Default: 100.
Trait Implementations§
Source§impl Clone for NanoServiceAction
impl Clone for NanoServiceAction
Source§fn clone(&self) -> NanoServiceAction
fn clone(&self) -> NanoServiceAction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NanoServiceAction
impl Debug for NanoServiceAction
Source§impl<'de> Deserialize<'de> for NanoServiceAction
impl<'de> Deserialize<'de> for NanoServiceAction
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for NanoServiceAction
impl JsonSchema for NanoServiceAction
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for NanoServiceAction
impl PartialEq for NanoServiceAction
Source§impl Serialize for NanoServiceAction
impl Serialize for NanoServiceAction
impl StructuralPartialEq for NanoServiceAction
Auto Trait Implementations§
impl Freeze for NanoServiceAction
impl RefUnwindSafe for NanoServiceAction
impl Send for NanoServiceAction
impl Sync for NanoServiceAction
impl Unpin for NanoServiceAction
impl UnwindSafe for NanoServiceAction
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§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