Skip to main content

ClientBuilder

Struct ClientBuilder 

Source
pub struct ClientBuilder { /* private fields */ }
Expand description

A builder for Write.

§Example

let builder = Write::builder();
let client = builder
    .with_endpoint("https://bigquerystorage.googleapis.com")
    .build()
    .await?;

Implementations§

Source§

impl ClientBuilder

Source

pub async fn build(self) -> BuilderResult<Write>

Creates a new client.

§Example
let client = Write::builder().build().await?;
Source

pub fn with_endpoint<V: Into<String>>(self, v: V) -> Self

Sets the endpoint.

§Example
let client = Write::builder()
    .with_endpoint("https://private.googleapis.com")
    .build()
    .await?;
Source

pub fn with_universe_domain<V: Into<String>>(self, v: V) -> Self

Configure the universe domain.

The universe domain is the default service domain for a given cloud universe. The default value is “googleapis.com”.

§Example
let client = Write::builder()
    .with_universe_domain("googleapis.com")
    .build()
    .await?;
Source

pub fn with_credentials<V: Into<Credentials>>(self, v: V) -> Self

Configures the authentication credentials.

More information about valid credentials types can be found in the google-cloud-auth crate documentation.

§Example
use google_cloud_auth::credentials::mds;
let client = Write::builder()
    .with_credentials(
        mds::Builder::default()
            .with_scopes(["https://www.googleapis.com/auth/bigquery"])
            .build()?)
    .build()
    .await?;
Source

pub fn with_grpc_subchannel_count(self, v: usize) -> Self

Configure the number of subchannels used by the client.

§Example
let count = std::thread::available_parallelism()?.get();
let client = Write::builder()
    .with_grpc_subchannel_count(count)
    .build()
    .await?;

gRPC-based clients may exhibit high latency if many requests need to be demuxed over a single HTTP/2 connection (often called a subchannel in gRPC).

Consider using more subchannels if your application creates many writers. Consider using fewer subchannels if your application needs the file descriptors for other purposes.

Source

pub fn with_pool_size_limit(self, v: usize) -> Self

Configure the maximum streams in the client’s multiplexed stream pool.

§Example
let count = std::thread::available_parallelism()?.get();
let client = Write::builder()
    .with_pool_size_limit(count)
    .build()
    .await?;

This stream pool is shared by default writers with multiplexing enabled.

The client scales the stream pool up to this limit as the streams in the pool encounter load.

Note that until background stream rebalancing (#6866) is implemented, stream assignment and pool scale-up only occur when a writer is built. If multiple writers are created all at once before writes are in flight, they will all share the same initial stream. To scale across multiple streams, stagger writer creation so writes are in flight when new writers are built.

The default is 8 streams.

Trait Implementations§

Source§

impl Debug for ClientBuilder

Source§

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

Formats the value using the given formatter. 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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self> ⓘ

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more