pub struct CRiAppBuilder { /* private fields */ }Expand description
Opaque C wrapper structure for RiAppBuilder.
Provides C-compatible interface to the Rust application builder implementation. The builder uses the fluent builder pattern to construct Ri applications with proper dependency injection and lifecycle management.
§Builder Responsibilities
The application builder handles:
- Service registration and dependency management
- Middleware composition and ordering
- Configuration propagation to components
- Lifecycle event registration
- Application initialization and startup coordination
§Builder Pattern
The builder implements a fluent interface allowing method chaining:
ri_app_builder_register_module(builder, module_a);
ri_app_builder_register_module(builder, module_b);
ri_app_builder_configure(builder, config);
ri_app_builder_with_middleware(builder, middleware_1);
ri_app_builder_with_middleware(builder, middleware_2);§Thread Safety
The builder is not thread-safe. All builder operations should occur from a single thread before application startup. Concurrent builder access results in undefined behavior.
Auto Trait Implementations§
impl Freeze for CRiAppBuilder
impl !RefUnwindSafe for CRiAppBuilder
impl Send for CRiAppBuilder
impl Sync for CRiAppBuilder
impl Unpin for CRiAppBuilder
impl UnsafeUnpin for CRiAppBuilder
impl !UnwindSafe for CRiAppBuilder
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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::RequestSource§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