pub struct Client {
pub default_address: Option<Arc<String>>,
pub default_signature: Option<Arc<String>>,
/* private fields */
}Expand description
The viewer HTTP client. Constructed once at process startup; all
send_* methods take &self so the client is shared across the
app via Arc<Client>.
Fields§
§default_address: Option<Arc<String>>Fallback address used when a send_* call’s address is
None. Set from the constructor’s address argument, or from
VIEWER_ADDRESS if address is None and the env feature
is enabled.
default_signature: Option<Arc<String>>Fallback signature used when a send_* call’s signature is
None. Set from the constructor’s signature argument, or
from VIEWER_SIGNATURE if signature is None and the env
feature is enabled.
Implementations§
Source§impl Client
impl Client
Sourcepub fn new(
http_client: Client,
address: Option<impl Into<String>>,
signature: Option<impl Into<String>>,
backoff_current_interval: Duration,
backoff_initial_interval: Duration,
backoff_randomization_factor: f64,
backoff_multiplier: f64,
backoff_max_interval: Duration,
backoff_max_elapsed_time: Duration,
) -> Self
pub fn new( http_client: Client, address: Option<impl Into<String>>, signature: Option<impl Into<String>>, backoff_current_interval: Duration, backoff_initial_interval: Duration, backoff_randomization_factor: f64, backoff_multiplier: f64, backoff_max_interval: Duration, backoff_max_elapsed_time: Duration, ) -> Self
Construct a new client and spawn its background task.
address / signature defaults: an explicit Some(...) wins.
When None, and the env feature is enabled, falls back to
the VIEWER_ADDRESS / VIEWER_SIGNATURE env vars. When both
the argument and the env var are missing, the client has no
default — every send_* call must supply its own address,
or the request is dropped.
Backoff parameters tune the backoff::ExponentialBackoff
the background task uses for retry. max_elapsed_time caps
how long the task keeps retrying a single failed request
before giving up.
pub fn send_agent_completion_begin( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, id: String, request: Arc<AgentCompletionCreateParams>, )
pub fn send_agent_completion_continue( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, chunk: AgentCompletionChunk, )
pub fn send_agent_completion_error( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, id: String, error: ResponseError, )
pub fn send_function_execution_begin( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, id: String, request: Arc<FunctionExecutionCreateParams>, )
pub fn send_function_execution_continue( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, chunk: FunctionExecutionChunk, )
pub fn send_function_execution_error( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, id: String, error: ResponseError, )
pub fn send_function_invention_recursive_begin( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, id: String, request: Arc<FunctionInventionRecursiveCreateParams>, )
pub fn send_function_invention_recursive_continue( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, chunk: FunctionInventionRecursiveChunk, )
pub fn send_function_invention_recursive_error( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, id: String, error: ResponseError, )
pub fn send_laboratory_execution_begin( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, id: String, request: Arc<LaboratoryExecutionCreateParams>, )
pub fn send_laboratory_execution_continue( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, chunk: LaboratoryExecutionChunk, )
pub fn send_laboratory_execution_error( &self, address: Option<Arc<String>>, signature: Option<Arc<String>>, id: String, error: ResponseError, )
Auto Trait Implementations§
impl Freeze for Client
impl RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnsafeUnpin for Client
impl UnwindSafe for Client
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> 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 more