TcpStreamExt

Trait TcpStreamExt 

Source
pub trait TcpStreamExt {
    // Required method
    fn cap_connect<A: ToSocketAddrs>(
        agent: &mut CapNetAgent,
        addrs: A,
    ) -> Result<TcpStream>;
}
Expand description

Adds extra features to std::net::TcpStream that require Casper.

Required Methods§

Source

fn cap_connect<A: ToSocketAddrs>( agent: &mut CapNetAgent, addrs: A, ) -> Result<TcpStream>

Open a TCP connection to a remote host, connecting via a cap_net service.

§Examples
use std::{io, str::FromStr, net::TcpStream };

use capsicum::casper::Casper;
use capsicum_net::{CasperExt, std::TcpStreamExt};

// Safe because we are single-threaded
let mut casper = unsafe { Casper::new().unwrap() };
let mut cap_net = casper.net().unwrap();

let sock = TcpStream::cap_connect(&mut cap_net, "8.8.8.8:53").unwrap();

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl TcpStreamExt for TcpStream

Source§

fn cap_connect<A: ToSocketAddrs>( agent: &mut CapNetAgent, addrs: A, ) -> Result<TcpStream>

Implementors§