Struct thalo_runtime::Runtime
source · pub struct Runtime { /* private fields */ }
Implementations§
source§impl Runtime
impl Runtime
pub async fn new( message_store: MessageStore, relay: Relay, modules_path: impl Into<PathBuf> ) -> Result<Self>
pub fn message_store(&self) -> &MessageStore
pub async fn execute( &self, name: Category<'static>, id: ID<'static>, command: String, payload: Value ) -> Result<Vec<GenericMessage<'static>>>
pub async fn save_module( &self, name: Category<'static>, module: impl AsRef<[u8]> ) -> Result<()>
pub async fn start_projection( &self, tx: Sender<GenericMessage<'static>>, name: String, events: Vec<String> ) -> Result<()>
pub fn subscribe_events(&self) -> Receiver<GenericMessage<'static>>
pub async fn acknowledge_event( &self, name: impl Into<String>, global_id: u64 ) -> Result<()>
Trait Implementations§
source§impl CommandCenter for Runtime
impl CommandCenter for Runtime
fn execute<'life0, 'async_trait>( &'life0 self, request: Request<ExecuteCommand> ) -> Pin<Box<dyn Future<Output = Result<Response<ExecuteResponse>, Status>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn publish<'life0, 'async_trait>( &'life0 self, request: Request<PublishModule> ) -> Pin<Box<dyn Future<Output = Result<Response<PublishResponse>, Status>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
source§impl Projection for Runtime
impl Projection for Runtime
§type SubscribeToEventsStream = Pin<Box<dyn Stream<Item = Result<Message, Status>> + Send>>
type SubscribeToEventsStream = Pin<Box<dyn Stream<Item = Result<Message, Status>> + Send>>
Server streaming response type for the SubscribeToEvents method.
fn subscribe_to_events<'life0, 'async_trait>( &'life0 self, request: Request<SubscriptionRequest> ) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeToEventsStream>, Status>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
fn acknowledge_event<'life0, 'async_trait>( &'life0 self, request: Request<Acknowledgement> ) -> Pin<Box<dyn Future<Output = Result<Response<AckResponse>, Status>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for Runtime
impl Send for Runtime
impl Sync for Runtime
impl Unpin for Runtime
impl !UnwindSafe for Runtime
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
§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.§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§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request