SYMBOL INDEX (44 symbols across 7 files) FILE: src/auth.rs type Authenticator (line 12) | pub struct Authenticator(Hmac); method new (line 16) | pub fn new(secret: &str) -> Self { method answer (line 22) | pub fn answer(&self, challenge: &Uuid) -> String { method validate (line 40) | pub fn validate(&self, challenge: &Uuid, tag: &str) -> bool { method server_handshake (line 51) | pub async fn server_handshake( method client_handshake (line 67) | pub async fn client_handshake( FILE: src/client.rs type Client (line 14) | pub struct Client { method new (line 36) | pub async fn new( method remote_port (line 73) | pub fn remote_port(&self) -> u16 { method listen (line 78) | pub async fn listen(mut self) -> Result<()> { method handle_connection (line 105) | async fn handle_connection(&self, id: Uuid) -> Result<()> { function connect_with_timeout (line 121) | async fn connect_with_timeout(to: &str, port: u16) -> Result { FILE: src/main.rs type Args (line 9) | struct Args { type Command (line 15) | enum Command { function run (line 64) | async fn run(command: Command) -> Result<()> { function main (line 99) | fn main() -> Result<()> { FILE: src/server.rs type Server (line 18) | pub struct Server { method new (line 37) | pub fn new(port_range: RangeInclusive, secret: Option<&str>) -> S... method set_bind_addr (line 49) | pub fn set_bind_addr(&mut self, bind_addr: IpAddr) { method set_bind_tunnels (line 54) | pub fn set_bind_tunnels(&mut self, bind_tunnels: IpAddr) { method listen (line 59) | pub async fn listen(self) -> Result<()> { method create_listener (line 81) | async fn create_listener(&self, port: u16) -> Result Result<()> { FILE: src/shared.rs constant CONTROL_PORT (line 15) | pub const CONTROL_PORT: u16 = 7835; constant MAX_FRAME_LENGTH (line 18) | pub const MAX_FRAME_LENGTH: usize = 256; constant NETWORK_TIMEOUT (line 21) | pub const NETWORK_TIMEOUT: Duration = Duration::from_secs(3); type ClientMessage (line 25) | pub enum ClientMessage { type ServerMessage (line 38) | pub enum ServerMessage { type Delimited (line 56) | pub struct Delimited(Framed); function new (line 60) | pub fn new(stream: U) -> Self { function recv (line 66) | pub async fn recv(&mut self) -> Result> { function recv_timeout (line 82) | pub async fn recv_timeout(&mut self) -> Result(&mut self, msg: T) -> Result<()> { function into_parts (line 96) | pub fn into_parts(self) -> FramedParts { FILE: tests/auth_test.rs function auth_handshake (line 6) | async fn auth_handshake() -> Result<()> { function auth_handshake_fail (line 22) | async fn auth_handshake_fail() { FILE: tests/e2e_test.rs function spawn_server (line 19) | async fn spawn_server(secret: Option<&str>) { function spawn_client (line 25) | async fn spawn_client(secret: Option<&str>) -> Result<(TcpListener, Sock... function basic_proxy (line 36) | async fn basic_proxy(#[values(None, Some(""), Some("abc"))] secret: Opti... function mismatched_secret (line 73) | async fn mismatched_secret( function invalid_address (line 84) | async fn invalid_address() -> Result<()> { function very_long_frame (line 104) | async fn very_long_frame() -> Result<()> { function empty_port_range (line 123) | fn empty_port_range() { function half_closed_tcp_stream (line 130) | async fn half_closed_tcp_stream() -> Result<()> {