Struct HermesRuntimeComponents

Source
pub struct HermesRuntimeComponents;

Trait Implementations§

Source§

impl DelegateComponent<ChannelCreatorComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ChannelOnceCreatorComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ChannelOnceTypeComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ChannelOnceUserComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ChannelTypeComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ChannelUserComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ChildProcessStarterComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ChildProcessTypeComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ChildProcessWaiterComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<CommandExecutorComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<CommandWithEnvsExecutorComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ConcurrentTaskRunnerComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<DirCreatorComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<FileAsStringReaderComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<FileCopierComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<FilePathTypeComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<MutexComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<RandomGeneratorComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<ReceiverStreamerComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<SenderClonerComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<SleeperComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<StreamMapperComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<StreamTypeComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<StringToFileWriterComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<SubscriptionComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<TaskSpawnerComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<TcpPortReserverComponent> for HermesRuntimeComponents

Source§

impl DelegateComponent<TimeComponent> for HermesRuntimeComponents

Source§

impl ErrorRaiser<HermesRuntime, ChannelClosedError> for HermesRuntimeComponents

Source§

impl ErrorRaiser<HermesRuntime, Error> for HermesRuntimeComponents

Source§

impl ErrorRaiser<HermesRuntime, ExecCommandFailure> for HermesRuntimeComponents

Source§

impl ErrorRaiser<HermesRuntime, ExitStatus> for HermesRuntimeComponents

Source§

impl ErrorRaiser<HermesRuntime, PrematureChildProcessExitError> for HermesRuntimeComponents

Source§

impl ErrorRaiser<HermesRuntime, Utf8Error> for HermesRuntimeComponents

Source§

impl ProvideErrorType<HermesRuntime> for HermesRuntimeComponents

Source§

type Error = TokioRuntimeError

The Error associated type is also required to implement Debug. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Runtime, Component, Delegate> BoxedStreamTypeProvider<Runtime> for Component
where Runtime: Async, Component: DelegateComponent<StreamTypeComponent, Delegate = Delegate>, Delegate: BoxedStreamTypeProvider<Runtime>,

Source§

fn to_boxed_stream<Item>( stream: <Component as ProvideStreamType<Runtime>>::Stream<Item>, ) -> Pin<Box<dyn Stream<Item = Item> + Sync + Send>>
where Item: Async,

Source§

fn from_boxed_stream<Item>( stream: Pin<Box<dyn Stream<Item = Item> + Sync + Send>>, ) -> <Component as ProvideStreamType<Runtime>>::Stream<Item>
where Item: Async,

Source§

impl<Component, Runtime> ChannelCreator<Runtime> for Component

Source§

fn new_channel<T>() -> (<Runtime as HasChannelTypes>::Sender<T>, <Runtime as HasChannelTypes>::Receiver<T>)
where T: Async,

Given a generic payload type T, create a Sender<T> and Receiver<T> pair that are connected. Read more
Source§

impl<Component, Runtime> ChannelOnceCreator<Runtime> for Component

Source§

fn new_channel_once<T>() -> (<Runtime as HasChannelOnceTypes>::SenderOnce<T>, <Runtime as HasChannelOnceTypes>::ReceiverOnce<T>)
where T: Async,

Source§

impl<Component, Runtime> ChannelOnceUser<Runtime> for Component

Source§

fn send_once<T>( sender: <Runtime as HasChannelOnceTypes>::SenderOnce<T>, value: T, ) -> Result<(), <Runtime as HasErrorType>::Error>
where T: Async,

Source§

async fn receive_once<T>( receiver: <Runtime as HasChannelOnceTypes>::ReceiverOnce<T>, ) -> Result<T, <Runtime as HasErrorType>::Error>
where T: Async,

Source§

impl<Component, Runtime> ChannelUser<Runtime> for Component

Source§

async fn send<T>( sender: &<Runtime as HasChannelTypes>::Sender<T>, value: T, ) -> Result<(), <Runtime as HasErrorType>::Error>
where T: Async,

Given a reference to Sender<T>, send a message payload of type T over the sender. Read more
Source§

async fn receive<T>( receiver: &mut <Runtime as HasChannelTypes>::Receiver<T>, ) -> Result<T, <Runtime as HasErrorType>::Error>
where T: Async,

Given a reference to Receiver<T>, asynchronously receive a message payload of type T that is sent over the sender end. Read more
Source§

fn try_receive<T>( receiver: &mut <Runtime as HasChannelTypes>::Receiver<T>, ) -> Result<Option<T>, <Runtime as HasErrorType>::Error>
where T: Async,

Source§

impl<Component, Runtime> ChildProcessStarter<Runtime> for Component

Source§

async fn start_child_process( runtime: &Runtime, command_path: &<Runtime as HasFilePathType>::FilePath, command_args: &[&str], envs: &[(&str, &str)], stdout_path: Option<&<Runtime as HasFilePathType>::FilePath>, stderr_path: Option<&<Runtime as HasFilePathType>::FilePath>, ) -> Result<<Runtime as HasChildProcessType>::ChildProcess, <Runtime as HasErrorType>::Error>

Source§

impl<Component, Runtime> ChildProcessWaiter<Runtime> for Component

Source§

async fn wait_child_process( child_process: <Runtime as HasChildProcessType>::ChildProcess, ) -> Result<(), <Runtime as HasErrorType>::Error>

Source§

impl<Component, Runtime> CommandExecutor<Runtime> for Component

Source§

async fn exec_command( runtime: &Runtime, command_path: &<Runtime as HasFilePathType>::FilePath, args: &[&str], ) -> Result<ExecOutput, <Runtime as HasErrorType>::Error>

Source§

impl<Component, Runtime> CommandWithEnvsExecutor<Runtime> for Component

Source§

async fn exec_command_with_envs( runtime: &Runtime, command_path: &<Runtime as HasFilePathType>::FilePath, args: &[&str], envs: &[(&str, &str)], ) -> Result<ExecOutput, <Runtime as HasErrorType>::Error>

Source§

impl<Component, Runtime> ConcurrentTaskRunner<Runtime> for Component

Source§

async fn run_concurrent_tasks<T>(runtime: &Runtime, tasks: Vec<T>)
where T: Task,

Source§

async fn run_concurrent_task_stream<T>( runtime: &Runtime, tasks: <Runtime as HasStreamType>::Stream<T>, )
where T: Task,

Source§

impl<Component, Runtime> DirCreator<Runtime> for Component

Source§

async fn create_dir( runtime: &Runtime, dir_path: &<Runtime as HasFilePathType>::FilePath, ) -> Result<(), <Runtime as HasErrorType>::Error>

Source§

impl<Component, Runtime> FileAsStringReader<Runtime> for Component

Source§

async fn read_file_as_string( runtime: &Runtime, file_path: &<Runtime as HasFilePathType>::FilePath, ) -> Result<String, <Runtime as HasErrorType>::Error>

Source§

impl<Component, Runtime> FileCopier<Runtime> for Component

Source§

async fn copy_file( runtime: &Runtime, source_path: &<Runtime as HasFilePathType>::FilePath, destination_path: &<Runtime as HasFilePathType>::FilePath, ) -> Result<(), <Runtime as HasErrorType>::Error>

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<Runtime, Component, Delegate> OneShotChannelTypeProvider<Runtime> for Component
where Component: DelegateComponent<ChannelOnceTypeComponent, Delegate = Delegate>, Delegate: OneShotChannelTypeProvider<Runtime>,

Source§

fn from_oneshot_sender<T>( sender: Sender<T>, ) -> <Component as ProvideChannelOnceType<Runtime>>::SenderOnce<T>
where T: Async,

Source§

fn from_oneshot_receiver<T>( receiver: Receiver<T>, ) -> <Component as ProvideChannelOnceType<Runtime>>::ReceiverOnce<T>
where T: Async,

Source§

fn to_oneshot_sender<T>( sender: <Component as ProvideChannelOnceType<Runtime>>::SenderOnce<T>, ) -> Sender<T>
where T: Async,

Source§

fn to_oneshot_receiver<T>( receiver: <Component as ProvideChannelOnceType<Runtime>>::ReceiverOnce<T>, ) -> Receiver<T>
where T: Async,

Source§

impl<Component, Runtime> ProvideChannelOnceType<Runtime> for Component

Source§

impl<Component, Runtime> ProvideChannelType<Runtime> for Component

Source§

type Sender<T: Async> = <<Component as DelegateComponent<ChannelTypeComponent>>::Delegate as ProvideChannelType<Runtime>>::Sender<T>

The sender end of a channel with payload type T.

Source§

type Receiver<T: Async> = <<Component as DelegateComponent<ChannelTypeComponent>>::Delegate as ProvideChannelType<Runtime>>::Receiver<T>

The receiver end of a channel with payload type T.

Source§

impl<Component, Runtime> ProvideChildProcessType<Runtime> for Component

Source§

impl<Component, Runtime> ProvideFilePathType<Runtime> for Component

Source§

type FilePath = <<Component as DelegateComponent<FilePathTypeComponent>>::Delegate as ProvideFilePathType<Runtime>>::FilePath

Source§

fn file_path_from_string( path: &str, ) -> <Component as ProvideFilePathType<Runtime>>::FilePath

Source§

fn file_path_to_string( path: &<Component as ProvideFilePathType<Runtime>>::FilePath, ) -> String

Source§

fn join_file_path( path1: &<Component as ProvideFilePathType<Runtime>>::FilePath, path2: &<Component as ProvideFilePathType<Runtime>>::FilePath, ) -> <Component as ProvideFilePathType<Runtime>>::FilePath

Source§

impl<Component, Runtime> ProvideMutex<Runtime> for Component
where Runtime: Async, Component: DelegateComponent<MutexComponent>, <Component as DelegateComponent<MutexComponent>>::Delegate: ProvideMutex<Runtime>,

Source§

type Mutex<T: Async> = <<Component as DelegateComponent<MutexComponent>>::Delegate as ProvideMutex<Runtime>>::Mutex<T>

Source§

type MutexGuard<'a, T: Async> = <<Component as DelegateComponent<MutexComponent>>::Delegate as ProvideMutex<Runtime>>::MutexGuard<'a, T>

Source§

fn new_mutex<T>(item: T) -> <Component as ProvideMutex<Runtime>>::Mutex<T>
where T: Async,

Source§

async fn acquire_mutex<'a, T>( mutex: &'a <Component as ProvideMutex<Runtime>>::Mutex<T>, ) -> <Component as ProvideMutex<Runtime>>::MutexGuard<'a, T>
where T: Async,

Source§

impl<Component, Runtime> ProvideStreamType<Runtime> for Component

Source§

type Stream<Item: Async> = <<Component as DelegateComponent<StreamTypeComponent>>::Delegate as ProvideStreamType<Runtime>>::Stream<Item>

Source§

impl<Component, Runtime> ProvideSubscription<Runtime> for Component

Source§

type Subscription<Item: Async> = <<Component as DelegateComponent<SubscriptionComponent>>::Delegate as ProvideSubscription<Runtime>>::Subscription<Item>

Source§

async fn subscribe<T>( subcription: &<Component as ProvideSubscription<Runtime>>::Subscription<T>, ) -> Option<<Runtime as HasStreamType>::Stream<T>>
where T: Async,

Source§

impl<Component, Runtime> ProvideTime<Runtime> for Component
where Runtime: Async, Component: DelegateComponent<TimeComponent>, <Component as DelegateComponent<TimeComponent>>::Delegate: ProvideTime<Runtime>,

Source§

type Time = <<Component as DelegateComponent<TimeComponent>>::Delegate as ProvideTime<Runtime>>::Time

Source§

fn now(runtime: &Runtime) -> <Component as ProvideTime<Runtime>>::Time

Source§

fn duration_since( current_time: &<Component as ProvideTime<Runtime>>::Time, other_time: &<Component as ProvideTime<Runtime>>::Time, ) -> Duration

Source§

impl<Component, Runtime, T> RandomGenerator<Runtime, T> for Component

Source§

async fn generate_random(runtime: &Runtime) -> T

Source§

async fn random_range(runtime: &Runtime, min: T, max: T) -> T

Source§

impl<Component, Runtime> ReceiverStreamer<Runtime> for Component

Source§

fn receiver_to_stream<T>( receiver: <Runtime as HasChannelTypes>::Receiver<T>, ) -> <Runtime as HasStreamType>::Stream<T>
where T: Async,

Source§

impl<Component, Runtime> SenderCloner<Runtime> for Component

Source§

fn clone_sender<T>( sender: &<Runtime as HasChannelTypes>::Sender<T>, ) -> <Runtime as HasChannelTypes>::Sender<T>
where T: Async,

Source§

impl<Component, Runtime> Sleeper<Runtime> for Component
where Runtime: Async, Component: DelegateComponent<SleeperComponent>, <Component as DelegateComponent<SleeperComponent>>::Delegate: Sleeper<Runtime>,

Source§

async fn sleep(runtime: &Runtime, duration: Duration)

Source§

impl<Component, Runtime> StreamMapper<Runtime> for Component

Source§

fn map_stream<T, U, M>( stream: <Runtime as HasStreamType>::Stream<T>, mapper: M, ) -> <Runtime as HasStreamType>::Stream<U>
where T: Async, U: Async, M: Fn(T) -> U + Async,

Source§

impl<Component, Runtime> StringToFileWriter<Runtime> for Component

Source§

async fn write_string_to_file( runtime: &Runtime, path: &<Runtime as HasFilePathType>::FilePath, content: &str, ) -> Result<(), <Runtime as HasErrorType>::Error>

Source§

impl<Component, Runtime> TaskSpawner<Runtime> for Component

Source§

fn spawn_task<T>(runtime: &Runtime, task: T)
where T: Task,

Source§

impl<Component, Runtime> TcpPortReserver<Runtime> for Component

Source§

async fn reserve_tcp_port( runtime: &Runtime, ) -> Result<u16, <Runtime as HasErrorType>::Error>

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<Runtime, Component, Delegate> UnboundedChannelTypeProvider<Runtime> for Component
where Runtime: Async, Component: DelegateComponent<ChannelTypeComponent, Delegate = Delegate>, Delegate: UnboundedChannelTypeProvider<Runtime>,

Source§

fn from_unbounded_sender<T>( sender: Arc<Mutex<UnboundedSender<T>>>, ) -> <Component as ProvideChannelType<Runtime>>::Sender<T>
where T: Async,

Source§

fn from_unbounded_receiver<T>( receiver: UnboundedReceiver<T>, ) -> <Component as ProvideChannelType<Runtime>>::Receiver<T>
where T: Async,

Source§

fn to_unbounded_receiver<T>( receiver: <Component as ProvideChannelType<Runtime>>::Receiver<T>, ) -> UnboundedReceiver<T>
where T: Async,

Source§

fn to_unbounded_sender_ref<T>( sender: &<Component as ProvideChannelType<Runtime>>::Sender<T>, ) -> &Arc<Mutex<UnboundedSender<T>>>
where T: Async,

Source§

fn to_unbounded_receiver_ref<T>( receiver: &mut <Component as ProvideChannelType<Runtime>>::Receiver<T>, ) -> &mut UnboundedReceiver<T>
where T: Async,

Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<A> Async for A
where A: Send + Sync + 'static,

Source§

impl<Components> DelegatesToTokioParallelRuntimeComponents for Components
where Components: DelegateComponent<ConcurrentTaskRunnerComponent, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents, Delegate = TokioParallelRuntimeComponents> + DelegateComponent<ChannelOnceCreatorComponent> + DelegateComponent<ChannelOnceUserComponent> + DelegateComponent<TaskSpawnerComponent> + DelegateComponent<FilePathTypeComponent> + DelegateComponent<StreamTypeComponent> + DelegateComponent<ChildProcessTypeComponent> + DelegateComponent<ChannelTypeComponent> + DelegateComponent<ChildProcessStarterComponent> + DelegateComponent<TimeComponent> + DelegateComponent<ChildProcessWaiterComponent> + DelegateComponent<ChannelCreatorComponent> + DelegateComponent<FileAsStringReaderComponent> + DelegateComponent<StreamMapperComponent> + DelegateComponent<DirCreatorComponent> + DelegateComponent<ChannelUserComponent> + DelegateComponent<FileCopierComponent> + DelegateComponent<SleeperComponent> + DelegateComponent<CommandWithEnvsExecutorComponent> + DelegateComponent<ReceiverStreamerComponent> + DelegateComponent<CommandExecutorComponent> + DelegateComponent<SubscriptionComponent> + DelegateComponent<StringToFileWriterComponent> + DelegateComponent<SenderClonerComponent> + DelegateComponent<TcpPortReserverComponent> + DelegateComponent<MutexComponent> + DelegateComponent<RandomGeneratorComponent> + DelegateComponent<ChannelOnceTypeComponent>,