Struct Dial9ConfigBuilder
pub struct Dial9ConfigBuilder<S = Empty>where
S: State,{ /* private fields */ }dial9 only.Expand description
Use builder syntax to set the inputs and finish with build().
Implementations§
§impl<S> Dial9ConfigBuilder<S>where
S: State,
impl<S> Dial9ConfigBuilder<S>where
S: State,
pub fn build(self) -> Result<Dial9Config, Dial9ConfigBuilderError>where
S: IsComplete,
pub fn build(self) -> Result<Dial9Config, Dial9ConfigBuilderError>where
S: IsComplete,
Finishes building and performs the requested action.
pub fn enabled(self, value: bool) -> Dial9ConfigBuilder<SetEnabled<S>>where
<S as State>::Enabled: IsUnset,
pub fn enabled(self, value: bool) -> Dial9ConfigBuilder<SetEnabled<S>>where
<S as State>::Enabled: IsUnset,
pub fn maybe_enabled(
self,
value: Option<bool>,
) -> Dial9ConfigBuilder<SetEnabled<S>>where
<S as State>::Enabled: IsUnset,
pub fn maybe_enabled(
self,
value: Option<bool>,
) -> Dial9ConfigBuilder<SetEnabled<S>>where
<S as State>::Enabled: IsUnset,
pub fn base_path(
self,
value: impl Into<PathBuf>,
) -> Dial9ConfigBuilder<SetBasePath<S>>where
<S as State>::BasePath: IsUnset,
pub fn base_path(
self,
value: impl Into<PathBuf>,
) -> Dial9ConfigBuilder<SetBasePath<S>>where
<S as State>::BasePath: IsUnset,
pub fn maybe_base_path(
self,
value: Option<impl Into<PathBuf>>,
) -> Dial9ConfigBuilder<SetBasePath<S>>where
<S as State>::BasePath: IsUnset,
pub fn maybe_base_path(
self,
value: Option<impl Into<PathBuf>>,
) -> Dial9ConfigBuilder<SetBasePath<S>>where
<S as State>::BasePath: IsUnset,
pub fn max_file_size(self, value: u64) -> Dial9ConfigBuilder<SetMaxFileSize<S>>where
<S as State>::MaxFileSize: IsUnset,
pub fn max_file_size(self, value: u64) -> Dial9ConfigBuilder<SetMaxFileSize<S>>where
<S as State>::MaxFileSize: IsUnset,
pub fn maybe_max_file_size(
self,
value: Option<u64>,
) -> Dial9ConfigBuilder<SetMaxFileSize<S>>where
<S as State>::MaxFileSize: IsUnset,
pub fn maybe_max_file_size(
self,
value: Option<u64>,
) -> Dial9ConfigBuilder<SetMaxFileSize<S>>where
<S as State>::MaxFileSize: IsUnset,
pub fn max_total_size(
self,
value: u64,
) -> Dial9ConfigBuilder<SetMaxTotalSize<S>>where
<S as State>::MaxTotalSize: IsUnset,
pub fn max_total_size(
self,
value: u64,
) -> Dial9ConfigBuilder<SetMaxTotalSize<S>>where
<S as State>::MaxTotalSize: IsUnset,
pub fn maybe_max_total_size(
self,
value: Option<u64>,
) -> Dial9ConfigBuilder<SetMaxTotalSize<S>>where
<S as State>::MaxTotalSize: IsUnset,
pub fn maybe_max_total_size(
self,
value: Option<u64>,
) -> Dial9ConfigBuilder<SetMaxTotalSize<S>>where
<S as State>::MaxTotalSize: IsUnset,
pub fn rotation_period(
self,
value: Duration,
) -> Dial9ConfigBuilder<SetRotationPeriod<S>>where
<S as State>::RotationPeriod: IsUnset,
pub fn rotation_period(
self,
value: Duration,
) -> Dial9ConfigBuilder<SetRotationPeriod<S>>where
<S as State>::RotationPeriod: IsUnset,
pub fn maybe_rotation_period(
self,
value: Option<Duration>,
) -> Dial9ConfigBuilder<SetRotationPeriod<S>>where
<S as State>::RotationPeriod: IsUnset,
pub fn maybe_rotation_period(
self,
value: Option<Duration>,
) -> Dial9ConfigBuilder<SetRotationPeriod<S>>where
<S as State>::RotationPeriod: IsUnset,
§impl<S> Dial9ConfigBuilder<S>where
S: State,
impl<S> Dial9ConfigBuilder<S>where
S: State,
pub fn with_tokio<F>(self, f: F) -> Dial9ConfigBuilder<S>
pub fn with_tokio<F>(self, f: F) -> Dial9ConfigBuilder<S>
Queue a configurator for the underlying [tokio::runtime::Builder].
The closure receives a fresh builder by mutable reference — use any
tokio knob (worker_threads, thread_name, thread_stack_size,
global_queue_interval, etc.). The builder is pre-seeded with
new_multi_thread() and enable_all(). To switch flavors, replace
the whole builder inside the closure:
*t = tokio::runtime::Builder::new_current_thread(); t.enable_all();.
Can be called multiple times; configurators are applied in call
order each time the runtime is materialized. The closure must be
Fn + Send + Sync + 'static so that
build_or_disabled can preserve the
configurators on the disabled-fallback variant.
§Warning
Setting any of the 8 Tokio runtime hooks (on_thread_start,
on_thread_stop, on_thread_park, on_thread_unpark,
on_task_spawn, on_task_terminate, on_before_task_poll,
on_after_task_poll) via this closure will be silently overwritten
by dial9’s internal hooks. Use
with_runtime + TracedRuntimeBuilder::with_tokio_hooks
to compose user callbacks with dial9’s hooks instead.
pub fn with_runtime<F, N>(self, f: F) -> Dial9ConfigBuilder<S>where
F: FnOnce(TracedRuntimeBuilder<HasTracePath>) -> TracedRuntimeBuilder<HasTracePath, N> + 'static,
N: Send + 'static,
pub fn with_runtime<F, N>(self, f: F) -> Dial9ConfigBuilder<S>where
F: FnOnce(TracedRuntimeBuilder<HasTracePath>) -> TracedRuntimeBuilder<HasTracePath, N> + 'static,
N: Send + 'static,
Set the configurator for the dial9 TracedRuntimeBuilder.
The closure receives the staged builder by value and must return it.
Use this to access runtime configuration methods like
with_runtime_name, with_task_tracking, with_s3_uploader, or
with_custom_pipeline; see TracedRuntimeBuilder for the full list.
The closure may transition the builder’s pipeline-mode marker
(e.g. by calling .with_s3_uploader(...) or
.with_custom_pipeline(...)); the resulting mode is preserved
through to runtime construction.
The configurator is applied during build() once base_path is
known. When .enabled(false) is set the configurator is ignored.
Calling this method more than once replaces the prior closure.
§impl<S> Dial9ConfigBuilder<S>where
S: IsComplete,
impl<S> Dial9ConfigBuilder<S>where
S: IsComplete,
pub fn build_or_disabled(self) -> Dial9Config
pub fn build_or_disabled(self) -> Dial9Config
Finish into a Dial9Config that never reports a build error.
On any Dial9ConfigBuilderError (validation failure or writer
I/O probe failure) logs an error and returns a Dial9Config
in its disabled state with the user’s with_tokio configurators
preserved. The resulting config builds a plain tokio runtime
when handed to crate::TracedRuntime::try_new.
§Panics (debug builds only)
Panics on missing required fields to surface misconfigurations during development.
Lenient counterpart to build. Use
build instead when you want validation and
writer-I/O failures to surface as
Dial9ConfigBuilderError.
Auto Trait Implementations§
impl<S = Empty> !RefUnwindSafe for Dial9ConfigBuilder<S>
impl<S = Empty> !Send for Dial9ConfigBuilder<S>
impl<S = Empty> !Sync for Dial9ConfigBuilder<S>
impl<S = Empty> !UnwindSafe for Dial9ConfigBuilder<S>
impl<S> Freeze for Dial9ConfigBuilder<S>
impl<S> Unpin for Dial9ConfigBuilder<S>
impl<S> UnsafeUnpin for Dial9ConfigBuilder<S>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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> ⓘ
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> ⓘ
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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more