Skip to main content

WorkerConfig

Struct WorkerConfig 

Source
pub struct WorkerConfig {
    pub max_event_latency: Duration,
    pub max_instances: usize,
    pub max_cmds_per_iter: usize,
    pub max_events_per_iter: usize,
}
Expand description

Configuration for the shared FFI worker thread.

Applies only on the first init or init_with_config call. All subsequent calls reuse the already running worker thread and ignore this parameter entirely.

Fields§

§max_event_latency: Duration

Maximum permissible event latency. Controls how long the worker thread may sleep between polling cycles when all chats are idle. The sleep interval grows linearly from zero up to this value as idle time accumulates. Sending any command resets the interval immediately by waking the thread. Default: 1sec

§max_instances: usize

Maximum number of chat instances the worker thread will serve simultaneously. init returns CallError::Failure when this limit is reached. Passing 0 is valid but prevents any chat from ever being created. Default: 20

§max_cmds_per_iter: usize

Maximum number of commands executed per chat instance per scheduling iteration. Higher values improve throughput under command bursts at the cost of increased latency for other chat instances. Default: 3

§max_events_per_iter: usize

Maximum number of events drained per chat instance per scheduling iteration. Higher values reduce event latency under event bursts at the cost of increased command latency for other chat instances. Default 6

Implementations§

Source§

impl WorkerConfig

Source

pub fn new() -> Self

Source

pub fn with_event_latency(self, duration: Duration) -> Self

Source

pub fn max_instances(self, max_instances: usize) -> Self

Source

pub fn max_cmds_per_iter(self, max_cmds: usize) -> Self

Source

pub fn max_events_per_iter(self, max_events: usize) -> Self

Trait Implementations§

Source§

impl Clone for WorkerConfig

Source§

fn clone(&self) -> WorkerConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WorkerConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for WorkerConfig

Source§

fn default() -> Self

Returns the “default value” for a type. 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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.