pub struct Runner<S>where
S: KeyValueStorageWithColumnFamilies<ColumnFamilyIdentifier = ColumnFamilies, Error = StorageError> + Send + Sync + 'static,{ /* private fields */ }Expand description
Handle to launch the domain runtime.
The domain runtime is the event loop that processes events and executes
operations. Without launching it, actions performed by the
DomainClient cannot be executed, and
reading state from Views is not guaranteed to be
correct until initialization completes.
Implementations§
Source§impl<S> Runner<S>where
S: KeyValueStorageWithColumnFamilies<ColumnFamilyIdentifier = ColumnFamilies, Error = StorageError> + Send + Sync + 'static,
impl<S> Runner<S>where
S: KeyValueStorageWithColumnFamilies<ColumnFamilyIdentifier = ColumnFamilies, Error = StorageError> + Send + Sync + 'static,
Sourcepub async fn run(self) -> Result<(), Error>
pub async fn run(self) -> Result<(), Error>
Launch the domain runtime until completion.
This method runs the domain runtime’s event loop and does not return
until shutdown or error. Callers typically tokio::spawn this for more
control over the task.
Note that initialization happens asynchronously after this method
starts; Views may not return correct data until
initialization completes. Use
run_in_background if you need to wait for
initialization.
If the admin-api feature is enabled, also launches the Admin API.
Sourcepub async fn run_in_background(&self) -> Result<(), Error>
pub async fn run_in_background(&self) -> Result<(), Error>
Launch the domain runtime in the background.
Spawns the domain runtime’s event loop and returns once initialization
is complete. This is the recommended approach for tests and when you
need to use Views immediately after starting
the domain.
Unlike run, callers don’t have control over the spawned
task.
If the admin-api feature is enabled, also launches the Admin API.
Trait Implementations§
Auto Trait Implementations§
impl<S> Freeze for Runner<S>
impl<S> !RefUnwindSafe for Runner<S>
impl<S> Send for Runner<S>
impl<S> Sync for Runner<S>
impl<S> Unpin for Runner<S>
impl<S> !UnwindSafe for Runner<S>
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
§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request