Skip to main content

Module runtime

Module runtime 

Source
Expand description

Application runtime and builder for constructing Ri applications Copyright © 2025-2026 Wenze Wei. All Rights Reserved.

This file is part of Ri. The Ri project belongs to the Dunimd Team.

Licensed under the Apache License, Version 2.0 (the “License”); You may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

§Application Runtime and Builder

This module provides the application runtime and builder for constructing Ri applications. The RiAppBuilder follows the builder pattern for fluent configuration, while the RiAppRuntime manages the application lifecycle and module execution.

§Key Components

  • RiAppBuilder: Fluent API for configuring and building Ri applications
  • RiAppRuntime: Manages the application lifecycle and module execution

§Design Principles

  1. Builder Pattern: The RiAppBuilder provides a fluent API for configuring applications
  2. Module Lifecycle: Modules go through a well-defined lifecycle with init, start, and shutdown phases
  3. Dependency Resolution: Modules are sorted based on dependencies and priority
  4. Async Support: Full support for both synchronous and asynchronous modules
  5. Fault Tolerance: Non-critical modules can fail without crashing the entire application

Re-exports§

pub use super::app_builder::RiAppBuilder;
pub use super::app_runtime::RiAppRuntime;