pub trait NativeStreamEndpoint: Debug {
// Required methods
fn capability_id(&self) -> &'static str;
fn descriptor_version(&self) -> &'static str;
fn operations(&self) -> &'static [&'static str];
fn open(
&self,
operation: &str,
request: Box<dyn Any>,
context: InvocationContext,
) -> LocalBoxFuture<'static, Result<Result<Box<dyn NativeStreamSession>, Box<dyn Any>>, RuntimeFailure>>;
}Expand description
Adapter-facing endpoint for one or more bidirectional stream Operations.
Required Methods§
Sourcefn capability_id(&self) -> &'static str
fn capability_id(&self) -> &'static str
Stable Capability series identity.
Sourcefn descriptor_version(&self) -> &'static str
fn descriptor_version(&self) -> &'static str
Exact Descriptor version implemented by this endpoint.
Sourcefn operations(&self) -> &'static [&'static str]
fn operations(&self) -> &'static [&'static str]
Exact stable stream Operation names implemented by this endpoint.
Sourcefn open(
&self,
operation: &str,
request: Box<dyn Any>,
context: InvocationContext,
) -> LocalBoxFuture<'static, Result<Result<Box<dyn NativeStreamSession>, Box<dyn Any>>, RuntimeFailure>>
fn open( &self, operation: &str, request: Box<dyn Any>, context: InvocationContext, ) -> LocalBoxFuture<'static, Result<Result<Box<dyn NativeStreamSession>, Box<dyn Any>>, RuntimeFailure>>
Opens one stream without serializing its typed Rust payload.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".