pub trait TorProvider: Send {
    // Required methods
    fn update(&mut self) -> Result<Vec<TorEvent>, Error>;
    fn bootstrap(&mut self) -> Result<(), Error>;
    fn add_client_auth(
        &mut self,
        service_id: &V3OnionServiceId,
        client_auth: &X25519PrivateKey
    ) -> Result<(), Error>;
    fn remove_client_auth(
        &mut self,
        service_id: &V3OnionServiceId
    ) -> Result<(), Error>;
    fn connect(
        &mut self,
        service_id: &V3OnionServiceId,
        virt_port: u16,
        circuit: Option<CircuitToken>
    ) -> Result<OnionStream, Error>;
    fn listener(
        &mut self,
        private_key: &Ed25519PrivateKey,
        virt_port: u16,
        authorized_clients: Option<&[X25519PublicKey]>
    ) -> Result<OnionListener, Error>;
    fn generate_token(&mut self) -> CircuitToken;
    fn release_token(&mut self, token: CircuitToken);
}

Required Methods§

source

fn update(&mut self) -> Result<Vec<TorEvent>, Error>

source

fn bootstrap(&mut self) -> Result<(), Error>

source

fn add_client_auth( &mut self, service_id: &V3OnionServiceId, client_auth: &X25519PrivateKey ) -> Result<(), Error>

source

fn remove_client_auth( &mut self, service_id: &V3OnionServiceId ) -> Result<(), Error>

source

fn connect( &mut self, service_id: &V3OnionServiceId, virt_port: u16, circuit: Option<CircuitToken> ) -> Result<OnionStream, Error>

source

fn listener( &mut self, private_key: &Ed25519PrivateKey, virt_port: u16, authorized_clients: Option<&[X25519PublicKey]> ) -> Result<OnionListener, Error>

source

fn generate_token(&mut self) -> CircuitToken

source

fn release_token(&mut self, token: CircuitToken)

Implementors§