pub enum TransportListener {
Debug {
span_context: Context,
respond: GhostRespond<TransportListenerHandlerResult<Value>>,
},
BoundUrl {
span_context: Context,
respond: GhostRespond<TransportListenerHandlerResult<Url2>>,
},
CreateChannel {
span_context: Context,
respond: GhostRespond<TransportListenerHandlerResult<(Url2, TransportChannelWrite, TransportChannelRead)>>,
url: Url2,
},
}
Expand description
Represents a transport binding for establishing connections. This api was designed mainly around supporting the QUIC transport. It should be applicable to other transports, but with some assumptions:
- Keep alive logic should be handled internally.
- Transport encryption is handled internally.
- See light-weight comments below on
create_channel
api.
Variants
Debug
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<TransportListenerHandlerResult<Value>>
Response callback - respond to the request.
Grab a debugging internal state dump.
BoundUrl
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<TransportListenerHandlerResult<Url2>>
Response callback - respond to the request.
Retrieve the current url (address) this listener is bound to.
CreateChannel
Fields
span_context: Context
Tracing span from request invocation.
respond: GhostRespond<TransportListenerHandlerResult<(Url2, TransportChannelWrite, TransportChannelRead)>>
Response callback - respond to the request.
url: Url2
Input parameter.
Attempt to establish an outgoing channel to a remote. Channels are expected to be very light-weight. This API was designed around QUIC bi-streams. If your low-level channels are not light-weight, consider implementing pooling/multiplex virtual channels to make this api light weight.
Trait Implementations
sourceimpl Debug for TransportListener
impl Debug for TransportListener
sourceimpl<H: TransportListenerHandler> GhostDispatch<H> for TransportListener
impl<H: TransportListenerHandler> GhostDispatch<H> for TransportListener
sourcefn ghost_actor_dispatch(self, h: &mut H)
fn ghost_actor_dispatch(self, h: &mut H)
Process a dispatch event with a given GhostHandler.
impl GhostEvent for TransportListener
Auto Trait Implementations
impl !RefUnwindSafe for TransportListener
impl Send for TransportListener
impl Sync for TransportListener
impl Unpin for TransportListener
impl !UnwindSafe for TransportListener
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. 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>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more