pub trait JaegerTraceRuntime: RuntimeChannel + Debug {
    type Socket: Debug + Send + Sync;

    // Required methods
    fn create_socket<T: ToSocketAddrs>(
        &self,
        endpoint: T
    ) -> Result<Self::Socket>;
    fn write_to_socket<'life0, 'life1, 'async_trait>(
        &'life0 self,
        socket: &'life1 Self::Socket,
        payload: Vec<u8>
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Jaeger Trace Runtime is an extension to RuntimeChannel.

Required Associated Types§

source

type Socket: Debug + Send + Sync

A communication socket between Jaeger client and agent.

Required Methods§

source

fn create_socket<T: ToSocketAddrs>(&self, endpoint: T) -> Result<Self::Socket>

Create a new communication socket.

source

fn write_to_socket<'life0, 'life1, 'async_trait>( &'life0 self, socket: &'life1 Self::Socket, payload: Vec<u8> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Send payload over the socket.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl JaegerTraceRuntime for AsyncStd

Available on crate feature rt-async-std only.
§

type Socket = UdpSocket

source§

fn create_socket<T: ToSocketAddrs>(&self, endpoint: T) -> Result<Self::Socket>

source§

fn write_to_socket<'life0, 'life1, 'async_trait>( &'life0 self, socket: &'life1 Self::Socket, payload: Vec<u8> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source§

impl JaegerTraceRuntime for Tokio

Available on crate feature rt-tokio only.
§

type Socket = UdpSocket

source§

fn create_socket<T: ToSocketAddrs>(&self, endpoint: T) -> Result<Self::Socket>

source§

fn write_to_socket<'life0, 'life1, 'async_trait>( &'life0 self, socket: &'life1 Self::Socket, payload: Vec<u8> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source§

impl JaegerTraceRuntime for TokioCurrentThread

Available on crate feature rt-tokio-current-thread only.
§

type Socket = UdpSocket

source§

fn create_socket<T: ToSocketAddrs>(&self, endpoint: T) -> Result<Self::Socket>

source§

fn write_to_socket<'life0, 'life1, 'async_trait>( &'life0 self, socket: &'life1 Self::Socket, payload: Vec<u8> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Implementors§