pub trait KernelHandleInner: Send + Sync {
Show 13 methods
// Required methods
fn kernel_id_num(&self) -> u64;
fn current_timestamp(&self) -> HlcTimestamp;
fn activate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn deactivate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn terminate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn send_envelope<'life0, 'async_trait>(
&'life0 self,
envelope: MessageEnvelope,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn receive<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<MessageEnvelope>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn receive_timeout<'life0, 'async_trait>(
&'life0 self,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<MessageEnvelope>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn try_receive(&self) -> Result<MessageEnvelope>;
fn receive_correlated<'life0, 'async_trait>(
&'life0 self,
correlation: CorrelationId,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<MessageEnvelope>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn status(&self) -> KernelStatus;
fn metrics(&self) -> KernelMetrics;
fn wait<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Inner trait for kernel handle implementation.
This is implemented by each backend to provide the actual functionality.
Required Methods§
Sourcefn kernel_id_num(&self) -> u64
fn kernel_id_num(&self) -> u64
Get numeric kernel ID.
Sourcefn current_timestamp(&self) -> HlcTimestamp
fn current_timestamp(&self) -> HlcTimestamp
Get current timestamp.
Sourcefn activate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn activate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Activate kernel.
Sourcefn deactivate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn deactivate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Deactivate kernel.
Sourcefn terminate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn terminate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Terminate kernel.
Sourcefn send_envelope<'life0, 'async_trait>(
&'life0 self,
envelope: MessageEnvelope,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_envelope<'life0, 'async_trait>(
&'life0 self,
envelope: MessageEnvelope,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send message envelope.
Sourcefn receive<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<MessageEnvelope>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn receive<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<MessageEnvelope>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Receive message.
Sourcefn receive_timeout<'life0, 'async_trait>(
&'life0 self,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<MessageEnvelope>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn receive_timeout<'life0, 'async_trait>(
&'life0 self,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<MessageEnvelope>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Receive with timeout.
Sourcefn try_receive(&self) -> Result<MessageEnvelope>
fn try_receive(&self) -> Result<MessageEnvelope>
Try receive (non-blocking).
Receive correlated response.
Sourcefn status(&self) -> KernelStatus
fn status(&self) -> KernelStatus
Get status.
Sourcefn metrics(&self) -> KernelMetrics
fn metrics(&self) -> KernelMetrics
Get metrics.