Struct tor_rtcompat::tokio::TokioNativeTlsRuntime
source · [−]pub struct TokioNativeTlsRuntime { /* private fields */ }
Expand description
A Runtime
built around a Handle to a tokio runtime, and native_tls
.
Limitations
Note that Arti requires that the runtime should have working implementations for Tokio’s time, net, and io facilities, but we have no good way to check that when creating this object.
Implementations
sourceimpl TokioNativeTlsRuntime
impl TokioNativeTlsRuntime
sourcepub fn create() -> IoResult<Self>
pub fn create() -> IoResult<Self>
Create a new TokioNativeTlsRuntime
.
The return value will own the underlying Tokio runtime object, which will be dropped when the last copy of this handle is freed.
If you want to use a currently running runtime instead, call
TokioNativeTlsRuntime::current()
.
sourcepub fn current() -> IoResult<Self>
pub fn current() -> IoResult<Self>
Return a TokioNativeTlsRuntime
wrapping the currently running
Tokio runtime.
Usage note
We should never call this from inside other Arti crates, or from library
crates that want to support multiple runtimes! This function is for
Arti users who want to wrap some existing Tokio runtime as a
Runtime
. It is not for library crates that want to work with
multiple runtimes.
Once you have a runtime returned by this function, you should just
create more handles to it via Clone
.
Trait Implementations
sourceimpl BlockOn for TokioNativeTlsRuntime
impl BlockOn for TokioNativeTlsRuntime
sourceimpl Clone for TokioNativeTlsRuntime
impl Clone for TokioNativeTlsRuntime
sourcefn clone(&self) -> TokioNativeTlsRuntime
fn clone(&self) -> TokioNativeTlsRuntime
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for TokioNativeTlsRuntime
impl Debug for TokioNativeTlsRuntime
sourceimpl From<Handle> for TokioNativeTlsRuntime
impl From<Handle> for TokioNativeTlsRuntime
sourceimpl SleepProvider for TokioNativeTlsRuntime
impl SleepProvider for TokioNativeTlsRuntime
type SleepFuture = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as SleepProvider>::SleepFuture
type SleepFuture = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as SleepProvider>::SleepFuture
A future returned by SleepProvider::sleep()
sourcefn sleep(&self, duration: Duration) -> Self::SleepFuture
fn sleep(&self, duration: Duration) -> Self::SleepFuture
Return a future that will be ready after duration
has
elapsed. Read more
sourcefn wallclock(&self) -> SystemTime
fn wallclock(&self) -> SystemTime
Return the SleepProvider’s view of the current wall-clock time. Read more
sourcefn block_advance<T: Into<String>>(&self, _reason: T)
fn block_advance<T: Into<String>>(&self, _reason: T)
Signify that a test running under mock time shouldn’t advance time yet, with a given unique reason string. This is useful for making sure (mock) time doesn’t advance while things that might require some (real-world) time to complete do so, such as spawning a task on another thread. Read more
sourcefn release_advance<T: Into<String>>(&self, _reason: T)
fn release_advance<T: Into<String>>(&self, _reason: T)
Signify that the reason to withhold time advancing provided in a call to block_advance
no
longer exists, and it’s fine to move time forward if nothing else is blocking advances. Read more
sourcefn allow_one_advance(&self, _dur: Duration)
fn allow_one_advance(&self, _dur: Duration)
Allow a test running under mock time to advance time by the provided duration, even if the
above block_advance
API has been used. Read more
sourceimpl Spawn for TokioNativeTlsRuntime
impl Spawn for TokioNativeTlsRuntime
sourceimpl TcpProvider for TokioNativeTlsRuntime
impl TcpProvider for TokioNativeTlsRuntime
type TcpStream = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as TcpProvider>::TcpStream
type TcpStream = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as TcpProvider>::TcpStream
The type for the TCP connections returned by Self::connect()
.
type TcpListener = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as TcpProvider>::TcpListener
type TcpListener = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as TcpProvider>::TcpListener
The type for the TCP listeners returned by Self::listen()
.
sourcefn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 SocketAddr
) -> Pin<Box<dyn Future<Output = Result<Self::TcpStream>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 SocketAddr
) -> Pin<Box<dyn Future<Output = Result<Self::TcpStream>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Launch a TCP connection to a given socket address. Read more
sourcefn listen<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 SocketAddr
) -> Pin<Box<dyn Future<Output = Result<Self::TcpListener>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn listen<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 SocketAddr
) -> Pin<Box<dyn Future<Output = Result<Self::TcpListener>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Open a TCP listener on a given socket address.
sourceimpl<S> TlsProvider<S> for TokioNativeTlsRuntime where
S: AsyncRead + AsyncWrite + Unpin + Send + 'static,
impl<S> TlsProvider<S> for TokioNativeTlsRuntime where
S: AsyncRead + AsyncWrite + Unpin + Send + 'static,
type Connector = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as TlsProvider<S>>::Connector
type Connector = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as TlsProvider<S>>::Connector
The Connector object that this provider can return.
type TlsStream = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as TlsProvider<S>>::TlsStream
type TlsStream = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as TlsProvider<S>>::TlsStream
The type of the stream returned by that connector.
sourcefn tls_connector(&self) -> Self::Connector
fn tls_connector(&self) -> Self::Connector
Return a TLS connector for use with this runtime.
sourceimpl UdpProvider for TokioNativeTlsRuntime
impl UdpProvider for TokioNativeTlsRuntime
type UdpSocket = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as UdpProvider>::UdpSocket
type UdpSocket = <CompoundRuntime<TokioRuntimeHandle, TokioRuntimeHandle, TokioRuntimeHandle, NativeTlsProvider, TokioRuntimeHandle> as UdpProvider>::UdpSocket
The type of Udp Socket returned by Self::bind()
Auto Trait Implementations
impl !RefUnwindSafe for TokioNativeTlsRuntime
impl Send for TokioNativeTlsRuntime
impl Sync for TokioNativeTlsRuntime
impl Unpin for TokioNativeTlsRuntime
impl !UnwindSafe for TokioNativeTlsRuntime
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Sp> SpawnExt for Sp where
Sp: Spawn + ?Sized,
impl<Sp> SpawnExt for Sp where
Sp: Spawn + ?Sized,
sourcefn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError> where
Fut: 'static + Future<Output = ()> + Send,
fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError> where
Fut: 'static + Future<Output = ()> + Send,
Spawns a task that polls the given future with output ()
to
completion. Read more
sourcefn spawn_with_handle<Fut>(
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError> where
Fut: 'static + Future + Send,
<Fut as Future>::Output: Send,
fn spawn_with_handle<Fut>(
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError> where
Fut: 'static + Future + Send,
<Fut as Future>::Output: Send,
Spawns a task that polls the given future to completion and returns a future that resolves to the spawned future’s output. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more