Struct tonic::transport::channel::Endpoint[][src]

pub struct Endpoint { /* fields omitted */ }

Channel builder.

This struct is used to build and configure HTTP/2 channels.

Implementations

impl Endpoint[src]

pub fn from_static(s: &'static str) -> Self[src]

Convert an Endpoint from a static string.

Endpoint::from_static("https://example.com");

pub fn from_shared(s: impl Into<Bytes>) -> Result<Self, InvalidUri>[src]

Convert an Endpoint from shared bytes.

Endpoint::from_shared("https://example.com".to_string());

pub fn timeout(self, dur: Duration) -> Self[src]

Apply a timeout to each request.

builder.timeout(Duration::from_secs(5));

pub fn tcp_keepalive(self, tcp_keepalive: Option<Duration>) -> Self[src]

Set whether TCP keepalive messages are enabled on accepted connections.

If None is specified, keepalive is disabled, otherwise the duration specified will be the time to remain idle before sending TCP keepalive probes.

Default is no keepalive (None)

pub fn concurrency_limit(self, limit: usize) -> Self[src]

Apply a concurrency limit to each request.

builder.concurrency_limit(256);

pub fn rate_limit(self, limit: u64, duration: Duration) -> Self[src]

Apply a rate limit to each request.

builder.rate_limit(32, Duration::from_secs(1));

pub fn initial_stream_window_size(self, sz: impl Into<Option<u32>>) -> Self[src]

Sets the SETTINGS_INITIAL_WINDOW_SIZE option for HTTP2 stream-level flow control.

Default is 65,535

pub fn initial_connection_window_size(self, sz: impl Into<Option<u32>>) -> Self[src]

Sets the max connection-level flow control for HTTP2

Default is 65,535

pub fn tls_config(self, tls_config: ClientTlsConfig) -> Result<Self, Error>[src]

Configures TLS for the endpoint.

pub fn tcp_nodelay(self, enabled: bool) -> Self[src]

Set the value of TCP_NODELAY option for accepted connections. Enabled by default.

pub fn http2_keep_alive_interval(self, interval: Duration) -> Self[src]

Set http2 KEEP_ALIVE_INTERVAL. Uses hyper’s default otherwise.

pub fn keep_alive_timeout(self, duration: Duration) -> Self[src]

Set http2 KEEP_ALIVE_TIMEOUT. Uses hyper’s default otherwise.

pub fn keep_alive_while_idle(self, enabled: bool) -> Self[src]

Set http2 KEEP_ALIVE_WHILE_IDLE. Uses hyper’s default otherwise.

pub async fn connect(&self) -> Result<Channel, Error>[src]

Create a channel from this config.

pub fn connect_lazy(&self) -> Result<Channel, Error>[src]

Create a channel from this config.

The channel returned by this method does not attempt to connect to the endpoint until first use.

pub async fn connect_with_connector<C>(
    &self,
    connector: C
) -> Result<Channel, Error> where
    C: MakeConnection<Uri> + Send + 'static,
    C::Connection: Unpin + Send + 'static,
    C::Future: Send + 'static,
    Box<dyn Error + Send + Sync>: From<C::Error> + Send + 'static, 
[src]

Connect with a custom connector.

pub fn uri(&self) -> &Uri[src]

Get the endpoint uri.

let endpoint = Endpoint::from_static("https://example.com");

assert_eq!(endpoint.uri(), &Uri::from_static("https://example.com"));

Trait Implementations

impl Clone for Endpoint[src]

impl Debug for Endpoint[src]

impl From<Uri> for Endpoint[src]

impl TryFrom<&'static str> for Endpoint[src]

type Error = Never

The type returned in the event of a conversion error.

impl TryFrom<Bytes> for Endpoint[src]

type Error = InvalidUri

The type returned in the event of a conversion error.

impl TryFrom<String> for Endpoint[src]

type Error = InvalidUri

The type returned in the event of a conversion error.

Auto Trait Implementations

impl !RefUnwindSafe for Endpoint

impl Send for Endpoint

impl Sync for Endpoint

impl Unpin for Endpoint

impl !UnwindSafe for Endpoint

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<T> WithSubscriber for T[src]