Struct ConnectRequest
#[non_exhaustive]pub struct ConnectRequest {
pub authority: HostWithPort,
pub extensions: Extensions,
pub application_protocol: Option<Protocol>,
pub transport_protocol: Option<TransportProtocol>,
}net only.Expand description
A protocol-independent request to establish a client connection.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.extensions: Extensions§application_protocol: Option<Protocol>§transport_protocol: Option<TransportProtocol>Implementations§
§impl ConnectRequest
impl ConnectRequest
pub fn new(authority: HostWithPort) -> ConnectRequest
pub fn new(authority: HostWithPort) -> ConnectRequest
Create a new ConnectRequest with default Extensions.
pub const fn new_with_extensions(
authority: HostWithPort,
extensions: Extensions,
) -> ConnectRequest
pub const fn new_with_extensions( authority: HostWithPort, extensions: Extensions, ) -> ConnectRequest
Create a new ConnectRequest with given Extensions.
pub fn maybe_with_application_protocol(
self,
protocol: Option<Protocol>,
) -> ConnectRequest
pub fn maybe_with_application_protocol( self, protocol: Option<Protocol>, ) -> ConnectRequest
Define the application Protocol to this ConnectRequest
requested for this connection.
By default the flow context will define the used application protocol.
pub fn maybe_set_application_protocol(
&mut self,
protocol: Option<Protocol>,
) -> &mut ConnectRequest
pub fn maybe_set_application_protocol( &mut self, protocol: Option<Protocol>, ) -> &mut ConnectRequest
Define the application Protocol to this ConnectRequest
requested for this connection.
By default the flow context will define the used application protocol.
pub fn with_application_protocol(self, protocol: Protocol) -> ConnectRequest
pub fn with_application_protocol(self, protocol: Protocol) -> ConnectRequest
Define the application Protocol to this ConnectRequest
requested for this connection.
By default the flow context will define the used application protocol.
pub fn set_application_protocol(
&mut self,
protocol: Protocol,
) -> &mut ConnectRequest
pub fn set_application_protocol( &mut self, protocol: Protocol, ) -> &mut ConnectRequest
Define the application Protocol to this ConnectRequest
requested for this connection.
By default the flow context will define the used application protocol.
pub fn without_application_protocol(self) -> ConnectRequest
pub fn without_application_protocol(self) -> ConnectRequest
Define the application Protocol to this ConnectRequest
requested for this connection.
By default the flow context will define the used application protocol.
pub fn unset_application_protocol(&mut self) -> &mut ConnectRequest
pub fn unset_application_protocol(&mut self) -> &mut ConnectRequest
Define the application Protocol to this ConnectRequest
requested for this connection.
By default the flow context will define the used application protocol.
pub fn maybe_with_transport_protocol(
self,
protocol: Option<TransportProtocol>,
) -> ConnectRequest
pub fn maybe_with_transport_protocol( self, protocol: Option<TransportProtocol>, ) -> ConnectRequest
Define the TransportProtocol to this ConnectRequest
requested for this connection.
By default it will defined by the flow receiver itself.
pub fn maybe_set_transport_protocol(
&mut self,
protocol: Option<TransportProtocol>,
) -> &mut ConnectRequest
pub fn maybe_set_transport_protocol( &mut self, protocol: Option<TransportProtocol>, ) -> &mut ConnectRequest
Define the TransportProtocol to this ConnectRequest
requested for this connection.
By default it will defined by the flow receiver itself.
pub fn with_transport_protocol(
self,
protocol: TransportProtocol,
) -> ConnectRequest
pub fn with_transport_protocol( self, protocol: TransportProtocol, ) -> ConnectRequest
Define the TransportProtocol to this ConnectRequest
requested for this connection.
By default it will defined by the flow receiver itself.
pub fn set_transport_protocol(
&mut self,
protocol: TransportProtocol,
) -> &mut ConnectRequest
pub fn set_transport_protocol( &mut self, protocol: TransportProtocol, ) -> &mut ConnectRequest
Define the TransportProtocol to this ConnectRequest
requested for this connection.
By default it will defined by the flow receiver itself.
pub fn without_transport_protocol(self) -> ConnectRequest
pub fn without_transport_protocol(self) -> ConnectRequest
Define the TransportProtocol to this ConnectRequest
requested for this connection.
By default it will defined by the flow receiver itself.
pub fn unset_transport_protocol(&mut self) -> &mut ConnectRequest
pub fn unset_transport_protocol(&mut self) -> &mut ConnectRequest
Define the TransportProtocol to this ConnectRequest
requested for this connection.
By default it will defined by the flow receiver itself.
Trait Implementations§
§impl AuthorityInputExt for ConnectRequest
impl AuthorityInputExt for ConnectRequest
host[:port]), or None if none is resolvable.§fn host_as_domain(&self) -> Option<Domain>
fn host_as_domain(&self) -> Option<Domain>
Domain, or None if absent or not a domain
(e.g. an IP literal).§impl Clone for ConnectRequest
impl Clone for ConnectRequest
§fn clone(&self) -> ConnectRequest
fn clone(&self) -> ConnectRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ConnectRequest
impl Debug for ConnectRequest
§impl ExtensionsRef for ConnectRequest
impl ExtensionsRef for ConnectRequest
§fn extensions(&self) -> &Extensions
fn extensions(&self) -> &Extensions
Extensions store§impl Fork for ConnectRequest
impl Fork for ConnectRequest
§fn fork(&self) -> ConnectRequest
fn fork(&self) -> ConnectRequest
§impl HttpVersionInputExt for ConnectRequest
Available on crate feature http only.
impl HttpVersionInputExt for ConnectRequest
http only.§fn http_version(&self) -> Option<Version>
fn http_version(&self) -> Option<Version>
None for non-HTTP inputs.§impl ProtocolInputExt for ConnectRequest
impl ProtocolInputExt for ConnectRequest
§impl<S, P> Service<ConnectRequest> for SystemProxyConnectService<S, P>where
S: Service<ConnectRequest>,
<S as Service<ConnectRequest>>::Error: Into<Box<dyn Error + Send + Sync>>,
P: SystemProxyPacService,
impl<S, P> Service<ConnectRequest> for SystemProxyConnectService<S, P>where
S: Service<ConnectRequest>,
<S as Service<ConnectRequest>>::Error: Into<Box<dyn Error + Send + Sync>>,
P: SystemProxyPacService,
§type Output = <S as Service<ConnectRequest>>::Output
type Output = <S as Service<ConnectRequest>>::Output
§async fn serve(
&self,
input: ConnectRequest,
) -> Result<<SystemProxyConnectService<S, P> as Service<ConnectRequest>>::Output, <SystemProxyConnectService<S, P> as Service<ConnectRequest>>::Error>
async fn serve( &self, input: ConnectRequest, ) -> Result<<SystemProxyConnectService<S, P> as Service<ConnectRequest>>::Output, <SystemProxyConnectService<S, P> as Service<ConnectRequest>>::Error>
§fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
§impl TargetHttpVersionInputExt for ConnectRequest
Available on crate feature http only.
impl TargetHttpVersionInputExt for ConnectRequest
http only.§impl TransportProtocolInputExt for ConnectRequest
impl TransportProtocolInputExt for ConnectRequest
§fn transport_protocol(&self) -> Option<TransportProtocol>
fn transport_protocol(&self) -> Option<TransportProtocol>
Auto Trait Implementations§
impl !Freeze for ConnectRequest
impl RefUnwindSafe for ConnectRequest
impl Send for ConnectRequest
impl Sync for ConnectRequest
impl Unpin for ConnectRequest
impl UnsafeUnpin for ConnectRequest
impl UnwindSafe for ConnectRequest
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> ConnectorTargetInputExt for T
impl<T> ConnectorTargetInputExt for T
§fn connector_target(&self) -> Option<HostWithPort>
fn connector_target(&self) -> Option<HostWithPort>
host:port to connect to: the authority’s port if set, else the
protocol’s default port. None when no host (or no port) resolves. Read more§fn connector_target_with_default_port(
&self,
default_port: u16,
) -> Option<HostWithPort>
fn connector_target_with_default_port( &self, default_port: u16, ) -> Option<HostWithPort>
connector_target but with default_port as
the ultimate fallback (ConnectorTarget → authority port → protocol default → default_port),
so it yields Some whenever an authority resolves at all. Read more§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more