pub struct TimelyConfig {
pub workers: usize,
pub process: usize,
pub addresses: Vec<String>,
pub arrangement_exert_proportionality: u32,
pub enable_zero_copy: bool,
pub enable_zero_copy_lgalloc: bool,
pub zero_copy_limit: Option<usize>,
pub enable_create_sockets_v2: bool,
}
Expand description
Configuration of the cluster we will spin up
Fields§
§workers: usize
Number of per-process worker threads
process: usize
Identity of this process
addresses: Vec<String>
Addresses of all processes
arrangement_exert_proportionality: u32
Proportionality value that decides whether to exert additional arrangement merge effort.
Specifically, additional merge effort is exerted when the size of the second-largest batch
in an arrangement is within a factor of arrangement_exert_proportionality
of the size of
the largest batch, or when a merge is already in progress.
The higher the proportionality value, the more eagerly arrangement batches are merged. A
value of 0
(or 1
) disables eager merging.
enable_zero_copy: bool
Whether to use the zero copy allocator.
enable_zero_copy_lgalloc: bool
Whether to use lgalloc to back the zero copy allocator.
zero_copy_limit: Option<usize>
Optional limit on the number of empty buffers retained by the zero copy allocator.
enable_create_sockets_v2: bool
Whether to enable the new version of create_sockets
.
This flag exists to facilitate a slow rollout and is expected to be temporary.
Implementations§
Source§impl TimelyConfig
impl TimelyConfig
Sourcepub fn split_command(&self, parts: usize) -> Vec<Self>
pub fn split_command(&self, parts: usize) -> Vec<Self>
Split the timely configuration into parts
pieces, each with a different process
number.
Trait Implementations§
Source§impl Arbitrary for TimelyConfig
impl Arbitrary for TimelyConfig
Source§type Parameters = (<usize as Arbitrary>::Parameters, <usize as Arbitrary>::Parameters, <Vec<String> as Arbitrary>::Parameters, <u32 as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters, <Option<usize> as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters)
type Parameters = (<usize as Arbitrary>::Parameters, <usize as Arbitrary>::Parameters, <Vec<String> as Arbitrary>::Parameters, <u32 as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters, <Option<usize> as Arbitrary>::Parameters, <bool as Arbitrary>::Parameters)
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.Source§type Strategy = Map<(<usize as Arbitrary>::Strategy, <usize as Arbitrary>::Strategy, <Vec<String> as Arbitrary>::Strategy, <u32 as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy, <Option<usize> as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy), fn(_: (usize, usize, Vec<String>, u32, bool, bool, Option<usize>, bool)) -> TimelyConfig>
type Strategy = Map<(<usize as Arbitrary>::Strategy, <usize as Arbitrary>::Strategy, <Vec<String> as Arbitrary>::Strategy, <u32 as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy, <Option<usize> as Arbitrary>::Strategy, <bool as Arbitrary>::Strategy), fn(_: (usize, usize, Vec<String>, u32, bool, bool, Option<usize>, bool)) -> TimelyConfig>
Strategy
used to generate values of type Self
.Source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
Source§impl Clone for TimelyConfig
impl Clone for TimelyConfig
Source§fn clone(&self) -> TimelyConfig
fn clone(&self) -> TimelyConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TimelyConfig
impl Debug for TimelyConfig
Source§impl Default for TimelyConfig
impl Default for TimelyConfig
Source§fn default() -> TimelyConfig
fn default() -> TimelyConfig
Source§impl<'de> Deserialize<'de> for TimelyConfig
impl<'de> Deserialize<'de> for TimelyConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for TimelyConfig
impl PartialEq for TimelyConfig
Source§impl RustType<ProtoTimelyConfig> for TimelyConfig
impl RustType<ProtoTimelyConfig> for TimelyConfig
Source§fn into_proto(&self) -> ProtoTimelyConfig
fn into_proto(&self) -> ProtoTimelyConfig
Self
into a Proto
value.Source§fn from_proto(proto: ProtoTimelyConfig) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoTimelyConfig) -> Result<Self, TryFromProtoError>
Source§fn into_proto_owned(self) -> Proto
fn into_proto_owned(self) -> Proto
Self::into_proto
that types can
optionally implement, otherwise, the default implementation
delegates to Self::into_proto
.Source§impl Serialize for TimelyConfig
impl Serialize for TimelyConfig
impl StructuralPartialEq for TimelyConfig
Auto Trait Implementations§
impl Freeze for TimelyConfig
impl RefUnwindSafe for TimelyConfig
impl Send for TimelyConfig
impl Sync for TimelyConfig
impl Unpin for TimelyConfig
impl UnwindSafe for TimelyConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 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>
T
in a tonic::Request
Source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
Source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
RustType::from_proto
.Source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.Source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
std::ops::AddAssign
, for types that do not implement AddAssign
.