All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env_logger::init
      Src: /src/tungstenite-rs/tests/client_headers.rs:20,1
    - Dst: '&str::parse'
      Src: /src/tungstenite-rs/tests/client_headers.rs:21,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:21,1
    - Dst: ClientRequestBuilder::new
      Src: /src/tungstenite-rs/tests/client_headers.rs:25,1
    - Dst: Self::with_header
      Src: /src/tungstenite-rs/tests/client_headers.rs:25,1
    - Dst: to_owned
      Src: /src/tungstenite-rs/tests/client_headers.rs:26,1
    - Dst: Self::with_sub_protocol
      Src: /src/tungstenite-rs/tests/client_headers.rs:25,1
    - Dst: Self::to_owned
      Src: /src/tungstenite-rs/tests/client_headers.rs:27,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/client_headers.rs:29,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/client_headers.rs:30,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/client_headers.rs:30,1
    - Dst: 'std::

        process::exit'
      Src: /src/tungstenite-rs/tests/client_headers.rs:32,1
    - Dst: TcpListener::bind
      Src: /src/tungstenite-rs/tests/client_headers.rs:35,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:35,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/client_headers.rs:37,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/client_headers.rs:38,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:38,1
    - Dst: StdResult::send
      Src: /src/tungstenite-rs/tests/client_headers.rs:39,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/client_headers.rs:39,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/client_headers.rs:39,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:39,1
    - Dst: StdResult::read
      Src: /src/tungstenite-rs/tests/client_headers.rs:41,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:41,1
    - Dst: StdResult::read
      Src: /src/tungstenite-rs/tests/client_headers.rs:44,1
    - Dst: io::Result::unwrap_err
      Src: /src/tungstenite-rs/tests/client_headers.rs:44,1
    - Dst: '&str::to_ascii_lowercase'
      Src: /src/tungstenite-rs/tests/client_headers.rs:55,1
    - Dst: '&str::to_ascii_lowercase'
      Src: /src/tungstenite-rs/tests/client_headers.rs:56,1
    - Dst: headers
      Src: /src/tungstenite-rs/tests/client_headers.rs:58,1
    - Dst: Self::to_string
      Src: /src/tungstenite-rs/tests/client_headers.rs:60,1
    - Dst: Self::to_string
      Src: /src/tungstenite-rs/tests/client_headers.rs:64,1
    - Dst: Result::headers_mut
      Src: /src/tungstenite-rs/tests/client_headers.rs:69,1
    - Dst: append
      Src: /src/tungstenite-rs/tests/client_headers.rs:69,1
    - Dst: Self::parse
      Src: /src/tungstenite-rs/tests/client_headers.rs:71,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:71,1
    - Dst: Ok
      Src: /src/tungstenite-rs/tests/client_headers.rs:74,1
    - Dst: incoming
      Src: /src/tungstenite-rs/tests/client_headers.rs:77,1
    - Dst: next
      Src: /src/tungstenite-rs/tests/client_headers.rs:77,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:77,1
    - Dst: accept_hdr
      Src: /src/tungstenite-rs/tests/client_headers.rs:78,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:78,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:78,1
    - Dst: close
      Src: /src/tungstenite-rs/tests/client_headers.rs:80,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:80,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/client_headers.rs:83,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:83,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/client_headers.rs:88,1
    - Dst: unwrap_err
      Src: /src/tungstenite-rs/tests/client_headers.rs:88,1
    - Dst: drop
      Src: /src/tungstenite-rs/tests/client_headers.rs:94,1
    - Dst: join
      Src: /src/tungstenite-rs/tests/client_headers.rs:96,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/client_headers.rs:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 124
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 19
    functionDepth: 11
    functionLinenumber: 19
    functionLinenumberEnd: 97
    functionName: test_headers
    functionSourceFile: /src/tungstenite-rs/tests/client_headers.rs
    functionUses: 0
    functionsReached:
    - ClientRequestBuilder::new
    - 'std::

      thread::spawn'
    - Self::with_header
    - StdResult::read
    - unwrap
    - to_owned
    - Self::to_string
    - read
    - io::Result::unwrap_err
    - close
    - Self::parse
    - accept_hdr
    - 'std::

      thread::sleep'
    - next
    - headers
    - drop
    - io::Result::unwrap
    - Result::headers_mut
    - join
    - Ok
    - Self::to_owned
    - Result::unwrap
    - append
    - TcpListener::bind
    - tungstenite::connect
    - unwrap_err
    - '&str::parse'
    - StdResult::send
    - '&str::into'
    - '&str::to_ascii_lowercase'
    - Self::with_sub_protocol
    - Message::Text
    - env_logger::init
    - incoming
    - Duration::from_secs
    - 'std::

      process::exit'
    linkageType: ''
    returnType: void
    signature: fn test_headers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env_logger::init
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:17,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:19,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:20,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:20,1
    - Dst: 'std::

        process::exit'
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:22,1
    - Dst: TcpListener::bind
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:25,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:25,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:27,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:28,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:28,1
    - Dst: StdResult::send
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:30,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:30,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:30,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:30,1
    - Dst: StdResult::read
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:32,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:32,1
    - Dst: StdResult::read
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:35,1
    - Dst: io::Result::unwrap_err
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:35,1
    - Dst: incoming
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:42,1
    - Dst: next
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:42,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:42,1
    - Dst: tungstenite::accept
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:43,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:43,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:43,1
    - Dst: close
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:45,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:45,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:48,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:48,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:53,1
    - Dst: unwrap_err
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:53,1
    - Dst: drop
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:59,1
    - Dst: join
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:61,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/receive_after_init_close.rs:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 16
    functionDepth: 12
    functionLinenumber: 16
    functionLinenumberEnd: 62
    functionName: test_receive_after_init_close
    functionSourceFile: /src/tungstenite-rs/tests/receive_after_init_close.rs
    functionUses: 0
    functionsReached:
    - 'std::

      thread::spawn'
    - StdResult::read
    - unwrap
    - 'std::

      process::exit'
    - read
    - io::Result::unwrap_err
    - close
    - 'std::

      thread::sleep'
    - next
    - drop
    - io::Result::unwrap
    - join
    - Result::unwrap
    - TcpListener::bind
    - tungstenite::connect
    - unwrap_err
    - tungstenite::accept
    - StdResult::send
    - '&str::into'
    - Message::Text
    - env_logger::init
    - Duration::from_secs
    - incoming
    linkageType: ''
    returnType: void
    signature: fn test_receive_after_init_close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env_logger::try_init
      Src: /src/tungstenite-rs/tests/connection_reset.rs:23,1
    - Dst: ok
      Src: /src/tungstenite-rs/tests/connection_reset.rs:23,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:25,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:26,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/connection_reset.rs:26,1
    - Dst: 'std::

        process::exit'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:28,1
    - Dst: TcpListener::bind
      Src: /src/tungstenite-rs/tests/connection_reset.rs:32,1
    - Dst: expect
      Src: /src/tungstenite-rs/tests/connection_reset.rs:32,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:34,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/connection_reset.rs:36,1
    - Dst: Result::expect
      Src: /src/tungstenite-rs/tests/connection_reset.rs:36,1
    - Dst: client_task
      Src: /src/tungstenite-rs/tests/connection_reset.rs:38,1
    - Dst: incoming
      Src: /src/tungstenite-rs/tests/connection_reset.rs:41,1
    - Dst: next
      Src: /src/tungstenite-rs/tests/connection_reset.rs:41,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:41,1
    - Dst: tungstenite::accept
      Src: /src/tungstenite-rs/tests/connection_reset.rs:42,1
    - Dst: Socket::from
      Src: /src/tungstenite-rs/tests/connection_reset.rs:42,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:42,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:42,1
    - Dst: server_task
      Src: /src/tungstenite-rs/tests/connection_reset.rs:44,1
    - Dst: join
      Src: /src/tungstenite-rs/tests/connection_reset.rs:46,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 3
    argNames:
    - port
    - client_task
    - server_task
    argTypes:
    - u16
    - CT
    - ST
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 14
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: do_test
    functionSourceFile: /src/tungstenite-rs/tests/connection_reset.rs
    functionUses: 3
    functionsReached:
    - 'std::

      thread::spawn'
    - env_logger::try_init
    - unwrap
    - 'std::

      process::exit'
    - expect
    - 'std::

      thread::sleep'
    - Socket::from
    - Result::expect
    - next
    - server_task
    - join
    - Result::unwrap
    - TcpListener::bind
    - tungstenite::connect
    - client_task
    - tungstenite::accept
    - ok
    - Duration::from_secs
    - incoming
    linkageType: ''
    returnType: void
    signature: 'fn do_test<CT, ST>(port: u16, client_task: CT, server_task: ST)whereCT:
      FnOnce(Sock) + Send + ''static,ST: FnOnce(WebSocket<Socket>),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/tungstenite-rs/tests/connection_reset.rs:51,1
    - Dst: send
      Src: /src/tungstenite-rs/tests/connection_reset.rs:54,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/connection_reset.rs:54,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:54,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:54,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:56,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:56,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:59,1
    - Dst: unwrap_err
      Src: /src/tungstenite-rs/tests/connection_reset.rs:59,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:66,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:66,1
    - Dst: close
      Src: /src/tungstenite-rs/tests/connection_reset.rs:69,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:69,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:71,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:71,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:74,1
    - Dst: unwrap_err
      Src: /src/tungstenite-rs/tests/connection_reset.rs:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 15
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: test_server_close
    functionSourceFile: /src/tungstenite-rs/tests/connection_reset.rs
    functionUses: 0
    functionsReached:
    - do_test
    - close
    - Message::Text
    - unwrap
    - read
    - send
    - '&str::into'
    - unwrap_err
    linkageType: ''
    returnType: void
    signature: fn test_server_close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/tungstenite-rs/tests/connection_reset.rs:85,1
    - Dst: send
      Src: /src/tungstenite-rs/tests/connection_reset.rs:88,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/connection_reset.rs:88,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:88,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:88,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:90,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/connection_reset.rs:90,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:92,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:92,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:95,1
    - Dst: unwrap_err
      Src: /src/tungstenite-rs/tests/connection_reset.rs:95,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:102,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:102,1
    - Dst: close
      Src: /src/tungstenite-rs/tests/connection_reset.rs:105,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:105,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:107,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:107,1
    - Dst: get_mut
      Src: /src/tungstenite-rs/tests/connection_reset.rs:110,1
    - Dst: set_linger
      Src: /src/tungstenite-rs/tests/connection_reset.rs:110,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/connection_reset.rs:110,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/connection_reset.rs:110,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:110,1
    - Dst: drop
      Src: /src/tungstenite-rs/tests/connection_reset.rs:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 15
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: test_evil_server_close
    functionSourceFile: /src/tungstenite-rs/tests/connection_reset.rs
    functionUses: 0
    functionsReached:
    - do_test
    - close
    - Message::Text
    - 'std::

      thread::sleep'
    - get_mut
    - set_linger
    - drop
    - unwrap
    - Some
    - read
    - Duration::from_secs
    - send
    - '&str::into'
    - unwrap_err
    linkageType: ''
    returnType: void
    signature: fn test_evil_server_close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/tungstenite-rs/tests/connection_reset.rs:118,1
    - Dst: send
      Src: /src/tungstenite-rs/tests/connection_reset.rs:121,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/connection_reset.rs:121,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:121,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:121,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:123,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:123,1
    - Dst: close
      Src: /src/tungstenite-rs/tests/connection_reset.rs:126,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:126,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:128,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:128,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:131,1
    - Dst: unwrap_err
      Src: /src/tungstenite-rs/tests/connection_reset.rs:131,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:138,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:138,1
    - Dst: send
      Src: /src/tungstenite-rs/tests/connection_reset.rs:141,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/connection_reset.rs:141,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/connection_reset.rs:141,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:141,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:143,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/connection_reset.rs:143,1
    - Dst: read
      Src: /src/tungstenite-rs/tests/connection_reset.rs:146,1
    - Dst: unwrap_err
      Src: /src/tungstenite-rs/tests/connection_reset.rs:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 117
    functionDepth: 15
    functionLinenumber: 117
    functionLinenumberEnd: 153
    functionName: test_client_close
    functionSourceFile: /src/tungstenite-rs/tests/connection_reset.rs
    functionUses: 0
    functionsReached:
    - do_test
    - close
    - Message::Text
    - unwrap
    - read
    - send
    - '&str::into'
    - unwrap_err
    linkageType: ''
    returnType: void
    signature: fn test_client_close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/wss_fails_when_no_tls.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 6
    functionDepth: 14
    functionLinenumber: 6
    functionLinenumberEnd: 10
    functionName: wss_url_fails_when_no_tls_support
    functionSourceFile: /src/tungstenite-rs/tests/wss_fails_when_no_tls.rs
    functionUses: 0
    functionsReached:
    - tungstenite::connect
    linkageType: ''
    returnType: void
    signature: fn wss_url_fails_when_no_tls_support()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/tungstenite-rs/benches/write.rs:20,1
    - Dst: io::Error::new
      Src: /src/tungstenite-rs/benches/write.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames: []
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: MockWrite::read
    functionSourceFile: /src/tungstenite-rs/benches/write.rs
    functionUses: 0
    functionsReached:
    - Err
    - io::Error::new
    linkageType: ''
    returnType: io::Result
    signature: 'fn read(&mut self, _: &mut [u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tungstenite-rs/benches/write.rs:25,1
    - Dst: Result::len
      Src: /src/tungstenite-rs/benches/write.rs:25,1
    - Dst: MockWrite::flush
      Src: /src/tungstenite-rs/benches/write.rs:26,1
    - Dst: spin
      Src: /src/tungstenite-rs/benches/write.rs:29,1
    - Dst: Duration::from_nanos
      Src: /src/tungstenite-rs/benches/write.rs:29,1
    - Dst: extend
      Src: /src/tungstenite-rs/benches/write.rs:30,1
    - Dst: Ok
      Src: /src/tungstenite-rs/benches/write.rs:31,1
    - Dst: Result::len
      Src: /src/tungstenite-rs/benches/write.rs:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: MockWrite::write
    functionSourceFile: /src/tungstenite-rs/benches/write.rs
    functionUses: 0
    functionsReached:
    - Duration::from_nanos
    - extend
    - Ok
    - spin
    - MockWrite::flush
    - len
    - Result::len
    linkageType: ''
    returnType: io::Result
    signature: 'fn write(&mut self, buf: &[u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/tungstenite-rs/benches/write.rs:35,1
    - Dst: spin
      Src: /src/tungstenite-rs/benches/write.rs:37,1
    - Dst: Duration::from_micros
      Src: /src/tungstenite-rs/benches/write.rs:37,1
    - Dst: clear
      Src: /src/tungstenite-rs/benches/write.rs:38,1
    - Dst: Ok
      Src: /src/tungstenite-rs/benches/write.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: MockWrite::flush
    functionSourceFile: /src/tungstenite-rs/benches/write.rs
    functionUses: 1
    functionsReached:
    - Duration::from_micros
    - spin
    - Ok
    - is_empty
    - clear
    linkageType: ''
    returnType: io::Result
    signature: fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:70,1
    - Dst: MockWrite::default
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:70,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:73,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:73,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:81,1
    - Dst: io::Result::unwrap_err
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:81,1
    - Dst: FrameHeader::parse
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:91,1
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:91,1
    - Dst: Self::get_ref
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:91,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:91,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:91,1
    - Dst: Self::get_ref
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:93,1
    - Dst: clone
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:93,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:100,1
    - Dst: io::Result::unwrap_err
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:100,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:112,1
    - Dst: io::Result::unwrap_err
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:112,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:123,1
    - Dst: io::Result::unwrap_err
      Src: /src/tungstenite-rs/tests/auto_pong_flush.rs:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 68
    functionDepth: 7
    functionLinenumber: 68
    functionLinenumberEnd: 127
    functionName: read_usage_auto_pong_flush
    functionSourceFile: /src/tungstenite-rs/tests/auto_pong_flush.rs
    functionUses: 0
    functionsReached:
    - io::Result::unwrap_err
    - MockWrite::default
    - Cursor::new
    - FrameHeader::parse
    - Result::unwrap
    - unwrap
    - Self::read
    - io::Result::unwrap
    - Self::get_ref
    - clone
    - WebSocket::from_raw_socket
    linkageType: ''
    returnType: void
    signature: fn read_usage_auto_pong_flush()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse::<http::Uri>
      Src: /src/tungstenite-rs/tests/handshake.rs:18,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:18,1
    - Dst: '&str::authority'
      Src: /src/tungstenite-rs/tests/handshake.rs:20,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:20,1
    - Dst: as_str
      Src: /src/tungstenite-rs/tests/handshake.rs:20,1
    - Dst: find
      Src: /src/tungstenite-rs/tests/handshake.rs:22,1
    - Dst: map
      Src: /src/tungstenite-rs/tests/handshake.rs:22,1
    - Dst: split_at
      Src: /src/tungstenite-rs/tests/handshake.rs:22,1
    - Dst: unwrap_or_else
      Src: /src/tungstenite-rs/tests/handshake.rs:22,1
    - Dst: is_empty
      Src: /src/tungstenite-rs/tests/handshake.rs:24,1
    - Dst: http::Request::builder
      Src: /src/tungstenite-rs/tests/handshake.rs:28,1
    - Dst: method
      Src: /src/tungstenite-rs/tests/handshake.rs:28,1
    - Dst: header
      Src: /src/tungstenite-rs/tests/handshake.rs:28,1
    - Dst: header
      Src: /src/tungstenite-rs/tests/handshake.rs:28,1
    - Dst: header
      Src: /src/tungstenite-rs/tests/handshake.rs:28,1
    - Dst: header
      Src: /src/tungstenite-rs/tests/handshake.rs:28,1
    - Dst: header
      Src: /src/tungstenite-rs/tests/handshake.rs:28,1
    - Dst: 'tungstenite::

        handshake::

        client::generate_key'
      Src: /src/tungstenite-rs/tests/handshake.rs:34,1
    - Dst: header
      Src: /src/tungstenite-rs/tests/handshake.rs:37,1
    - Dst: join
      Src: /src/tungstenite-rs/tests/handshake.rs:37,1
    - Dst: uri
      Src: /src/tungstenite-rs/tests/handshake.rs:40,1
    - Dst: body
      Src: /src/tungstenite-rs/tests/handshake.rs:40,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 2
    argNames:
    - uri
    - subprotocols
    argTypes:
    - '&str'
    - Option<Vec<String>>
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 6
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: create_http_request
    functionSourceFile: /src/tungstenite-rs/tests/handshake.rs
    functionUses: 6
    functionsReached:
    - find
    - as_str
    - body
    - is_empty
    - parse::<http::Uri>
    - unwrap
    - '&str::authority'
    - uri
    - header
    - map
    - join
    - http::Request::builder
    - method
    - unwrap_or_else
    - split_at
    - 'tungstenite::

      handshake::

      client::generate_key'
    linkageType: ''
    returnType: http::Request
    signature: 'fn create_http_request(uri: &str, subprotocols: Option<Vec<String>>)
      -> http::Request<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/handshake.rs:44,1
    - Dst: TcpListener::bind
      Src: /src/tungstenite-rs/tests/handshake.rs:45,1
    - Dst: expect
      Src: /src/tungstenite-rs/tests/handshake.rs:45,1
    - Dst: Result::headers_mut
      Src: /src/tungstenite-rs/tests/handshake.rs:50,1
    - Dst: append
      Src: /src/tungstenite-rs/tests/handshake.rs:51,1
    - Dst: join
      Src: /src/tungstenite-rs/tests/handshake.rs:51,1
    - Dst: parse
      Src: /src/tungstenite-rs/tests/handshake.rs:51,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:51,1
    - Dst: Ok
      Src: /src/tungstenite-rs/tests/handshake.rs:53,1
    - Dst: incoming
      Src: /src/tungstenite-rs/tests/handshake.rs:56,1
    - Dst: next
      Src: /src/tungstenite-rs/tests/handshake.rs:56,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:56,1
    - Dst: accept_hdr
      Src: /src/tungstenite-rs/tests/handshake.rs:57,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:57,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:57,1
    - Dst: close
      Src: /src/tungstenite-rs/tests/handshake.rs:58,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - port
    - server_subprotocols
    argTypes:
    - u16
    - Option<Vec<String>>
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 17
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: server_thread
    functionSourceFile: /src/tungstenite-rs/tests/handshake.rs
    functionUses: 6
    functionsReached:
    - close
    - accept_hdr
    - Result::unwrap
    - 'std::

      thread::spawn'
    - parse
    - next
    - unwrap
    - Result::headers_mut
    - join
    - expect
    - Ok
    - append
    - incoming
    - TcpListener::bind
    linkageType: ''
    returnType: void
    signature: 'fn server_thread(port: u16, server_subprotocols: Option<Vec<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_thread
      Src: /src/tungstenite-rs/tests/handshake.rs:64,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/handshake.rs:65,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/handshake.rs:65,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/handshake.rs:68,1
    - Dst: create_http_request
      Src: /src/tungstenite-rs/tests/handshake.rs:68,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:68,1
    - Dst: Result::unwrap_err
      Src: /src/tungstenite-rs/tests/handshake.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 18
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: test_server_send_no_subprotocol
    functionSourceFile: /src/tungstenite-rs/tests/handshake.rs
    functionUses: 0
    functionsReached:
    - server_thread
    - 'std::

      thread::sleep'
    - Duration::from_secs
    - Result::unwrap_err
    - Some
    - tungstenite::connect
    - create_http_request
    linkageType: ''
    returnType: void
    signature: fn test_server_send_no_subprotocol()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_thread
      Src: /src/tungstenite-rs/tests/handshake.rs:81,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:81,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/handshake.rs:82,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/handshake.rs:82,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/handshake.rs:84,1
    - Dst: create_http_request
      Src: /src/tungstenite-rs/tests/handshake.rs:84,1
    - Dst: Result::unwrap_err
      Src: /src/tungstenite-rs/tests/handshake.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 18
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: test_server_sent_subprotocol_none_requested
    functionSourceFile: /src/tungstenite-rs/tests/handshake.rs
    functionUses: 0
    functionsReached:
    - server_thread
    - 'std::

      thread::sleep'
    - Duration::from_secs
    - Result::unwrap_err
    - Some
    - tungstenite::connect
    - create_http_request
    linkageType: ''
    returnType: void
    signature: fn test_server_sent_subprotocol_none_requested()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_thread
      Src: /src/tungstenite-rs/tests/handshake.rs:96,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:96,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/handshake.rs:97,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/handshake.rs:97,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/handshake.rs:99,1
    - Dst: create_http_request
      Src: /src/tungstenite-rs/tests/handshake.rs:99,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:101,1
    - Dst: Result::unwrap_err
      Src: /src/tungstenite-rs/tests/handshake.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 18
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: test_invalid_subprotocol
    functionSourceFile: /src/tungstenite-rs/tests/handshake.rs
    functionUses: 0
    functionsReached:
    - server_thread
    - 'std::

      thread::sleep'
    - Duration::from_secs
    - Result::unwrap_err
    - Some
    - tungstenite::connect
    - create_http_request
    linkageType: ''
    returnType: void
    signature: fn test_invalid_subprotocol()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_thread
      Src: /src/tungstenite-rs/tests/handshake.rs:115,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:115,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/handshake.rs:116,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/handshake.rs:116,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/handshake.rs:117,1
    - Dst: create_http_request
      Src: /src/tungstenite-rs/tests/handshake.rs:117,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:119,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 18
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: test_request_multiple_subprotocols
    functionSourceFile: /src/tungstenite-rs/tests/handshake.rs
    functionUses: 0
    functionsReached:
    - server_thread
    - Result::unwrap
    - 'std::

      thread::sleep'
    - Duration::from_secs
    - Some
    - tungstenite::connect
    - create_http_request
    linkageType: ''
    returnType: void
    signature: fn test_request_multiple_subprotocols()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_thread
      Src: /src/tungstenite-rs/tests/handshake.rs:135,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:135,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/handshake.rs:136,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/handshake.rs:136,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/handshake.rs:137,1
    - Dst: create_http_request
      Src: /src/tungstenite-rs/tests/handshake.rs:137,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:139,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 18
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: test_request_multiple_subprotocols_with_initial_unknown
    functionSourceFile: /src/tungstenite-rs/tests/handshake.rs
    functionUses: 0
    functionsReached:
    - server_thread
    - Result::unwrap
    - 'std::

      thread::sleep'
    - Duration::from_secs
    - Some
    - tungstenite::connect
    - create_http_request
    linkageType: ''
    returnType: void
    signature: fn test_request_multiple_subprotocols_with_initial_unknown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_thread
      Src: /src/tungstenite-rs/tests/handshake.rs:151,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:151,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/handshake.rs:152,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/handshake.rs:152,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/handshake.rs:154,1
    - Dst: create_http_request
      Src: /src/tungstenite-rs/tests/handshake.rs:154,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/handshake.rs:156,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/handshake.rs:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 18
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: test_request_single_subprotocol
    functionSourceFile: /src/tungstenite-rs/tests/handshake.rs
    functionUses: 0
    functionsReached:
    - server_thread
    - Result::unwrap
    - 'std::

      thread::sleep'
    - Duration::from_secs
    - Some
    - tungstenite::connect
    - create_http_request
    linkageType: ''
    returnType: void
    signature: fn test_request_single_subprotocol()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env_logger::init
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:18,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:20,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:21,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:21,1
    - Dst: 'std::

        process::exit'
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:23,1
    - Dst: TcpListener::bind
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:26,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:26,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:28,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:29,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:29,1
    - Dst: StdResult::read
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:31,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:31,1
    - Dst: StdResult::read
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:34,1
    - Dst: io::Result::unwrap_err
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:34,1
    - Dst: incoming
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:41,1
    - Dst: next
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:41,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:41,1
    - Dst: tungstenite::accept
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:42,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:42,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:42,1
    - Dst: close
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:44,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:44,1
    - Dst: send
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:46,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:46,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:46,1
    - Dst: unwrap_err
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:50,1
    - Dst: drop
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:55,1
    - Dst: join
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:57,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/no_send_after_close.rs:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 17
    functionDepth: 14
    functionLinenumber: 17
    functionLinenumberEnd: 58
    functionName: test_no_send_after_close
    functionSourceFile: /src/tungstenite-rs/tests/no_send_after_close.rs
    functionUses: 0
    functionsReached:
    - 'std::

      thread::spawn'
    - StdResult::read
    - unwrap
    - 'std::

      process::exit'
    - send
    - io::Result::unwrap_err
    - close
    - 'std::

      thread::sleep'
    - next
    - drop
    - io::Result::unwrap
    - join
    - Result::unwrap
    - TcpListener::bind
    - tungstenite::connect
    - unwrap_err
    - tungstenite::accept
    - '&str::into'
    - Message::Text
    - env_logger::init
    - Duration::from_secs
    - incoming
    linkageType: ''
    returnType: void
    signature: fn test_no_send_after_close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env_logger::init
      Src: /src/tungstenite-rs/tests/url_feature.rs:21,1
    - Dst: url::Url::parse
      Src: /src/tungstenite-rs/tests/url_feature.rs:24,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/url_feature.rs:24,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/url_feature.rs:26,1
    - Dst: 'std::

        thread::sleep'
      Src: /src/tungstenite-rs/tests/url_feature.rs:27,1
    - Dst: Duration::from_secs
      Src: /src/tungstenite-rs/tests/url_feature.rs:27,1
    - Dst: 'std::

        process::exit'
      Src: /src/tungstenite-rs/tests/url_feature.rs:29,1
    - Dst: TcpListener::bind
      Src: /src/tungstenite-rs/tests/url_feature.rs:32,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/url_feature.rs:32,1
    - Dst: 'std::

        thread::spawn'
      Src: /src/tungstenite-rs/tests/url_feature.rs:34,1
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/tests/url_feature.rs:35,1
    - Dst: incoming
      Src: /src/tungstenite-rs/tests/url_feature.rs:39,1
    - Dst: next
      Src: /src/tungstenite-rs/tests/url_feature.rs:39,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/url_feature.rs:39,1
    - Dst: accept_hdr
      Src: /src/tungstenite-rs/tests/url_feature.rs:42,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/tests/url_feature.rs:42,1
    - Dst: Ok
      Src: /src/tungstenite-rs/tests/url_feature.rs:42,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/url_feature.rs:42,1
    - Dst: close
      Src: /src/tungstenite-rs/tests/url_feature.rs:42,1
    - Dst: join
      Src: /src/tungstenite-rs/tests/url_feature.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 20
    functionDepth: 14
    functionLinenumber: 20
    functionLinenumberEnd: 47
    functionName: test_with_url
    functionSourceFile: /src/tungstenite-rs/tests/url_feature.rs
    functionUses: 0
    functionsReached:
    - close
    - Duration::from_secs
    - accept_hdr
    - 'std::

      thread::spawn'
    - 'std::

      thread::sleep'
    - next
    - unwrap
    - env_logger::init
    - incoming
    - Ok
    - join
    - tungstenite::connect
    - Result::unwrap
    - TcpListener::bind
    - 'std::

      process::exit'
    - url::Url::parse
    linkageType: ''
    returnType: void
    signature: fn test_with_url()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/tests/write.rs:37,1
    - Dst: MockWrite::default
      Src: /src/tungstenite-rs/tests/write.rs:38,1
    - Dst: Some
      Src: /src/tungstenite-rs/tests/write.rs:40,1
    - Dst: WebSocketConfig::default
      Src: /src/tungstenite-rs/tests/write.rs:40,1
    - Dst: Self::write_buffer_size
      Src: /src/tungstenite-rs/tests/write.rs:40,1
    - Dst: Self::send
      Src: /src/tungstenite-rs/tests/write.rs:48,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/write.rs:48,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/write.rs:48,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/tests/write.rs:48,1
    - Dst: map
      Src: /src/tungstenite-rs/tests/write.rs:54,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/tests/write.rs:54,1
    - Dst: '&str::into'
      Src: /src/tungstenite-rs/tests/write.rs:54,1
    - Dst: Self::write
      Src: /src/tungstenite-rs/tests/write.rs:55,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/tests/write.rs:55,1
    - Dst: Self::flush
      Src: /src/tungstenite-rs/tests/write.rs:64,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/tests/write.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 32
    functionDepth: 7
    functionLinenumber: 32
    functionLinenumberEnd: 68
    functionName: write_flush_behaviour
    functionSourceFile: /src/tungstenite-rs/tests/write.rs
    functionUses: 0
    functionsReached:
    - MockWrite::default
    - Self::flush
    - Result::unwrap
    - Message::Text
    - WebSocketConfig::default
    - Self::send
    - Self::write_buffer_size
    - io::Result::unwrap
    - Self::write
    - map
    - WebSocket::from_raw_socket
    - Some
    - '&str::into'
    linkageType: ''
    returnType: void
    signature: fn write_flush_behaviour()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/tls.rs:167,1
    - Dst: MaybeTlsStream::Plain
      Src: /src/tungstenite-rs/src/tls.rs:167,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/tls.rs:168,1
    - Dst: Error::Url
      Src: /src/tungstenite-rs/src/tls.rs:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - socket
    - mode
    argTypes:
    - S
    - Mode
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: encryption::wrap_stream
    functionSourceFile: /src/tungstenite-rs/src/tls.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Error::Url
    - Err
    - MaybeTlsStream::Plain
    linkageType: ''
    returnType: Result
    signature: 'pub fn wrap_stream<S>(socket: S, mode: Mode) -> Result<MaybeTlsStream<S>>whereS:
      Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_tls_with_config
      Src: /src/tungstenite-rs/src/tls.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - request
    - stream
    argTypes:
    - R
    - S
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 18
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: client_tls
    functionSourceFile: /src/tungstenite-rs/src/tls.rs
    functionUses: 0
    functionsReached:
    - client_tls_with_config
    linkageType: ''
    returnType: Result
    signature: 'pub fn client_tls<R, S>(request: R,stream: S,) -> Result<(WebSocket<MaybeTlsStream<S>>,
      Response), TlsHandshakeError<S>>whereR: IntoClientRequest,S: Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::Request::into_client_request
      Src: /src/tungstenite-rs/src/tls.rs:204,1
    - Dst: http::Request::uri
      Src: /src/tungstenite-rs/src/tls.rs:207,1
    - Dst: host
      Src: /src/tungstenite-rs/src/tls.rs:207,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/tls.rs:208,1
    - Dst: io::Result::to_string
      Src: /src/tungstenite-rs/src/tls.rs:208,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/tls.rs:209,1
    - Dst: Error::Url
      Src: /src/tungstenite-rs/src/tls.rs:209,1
    - Dst: '{

        client::uri_mode'
      Src: /src/tungstenite-rs/src/tls.rs:212,1
    - Dst: http::Request::uri
      Src: /src/tungstenite-rs/src/tls.rs:212,1
    - Dst: self::encryption::native_tls::wrap_stream
      Src: /src/tungstenite-rs/src/tls.rs:218,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/tls.rs:218,1
    - Dst: self::encryption::rustls::wrap_stream
      Src: /src/tungstenite-rs/src/tls.rs:222,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/tls.rs:222,1
    - Dst: self::encryption::plain::wrap_stream
      Src: /src/tungstenite-rs/src/tls.rs:224,1
    - Dst: self::encryption::native_tls::wrap_stream
      Src: /src/tungstenite-rs/src/tls.rs:229,1
    - Dst: self::encryption::rustls::wrap_stream
      Src: /src/tungstenite-rs/src/tls.rs:233,1
    - Dst: self::encryption::plain::wrap_stream
      Src: /src/tungstenite-rs/src/tls.rs:237,1
    - Dst: '{

        client::client_with_config'
      Src: /src/tungstenite-rs/src/tls.rs:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - request
    - stream
    - config
    - connector
    argTypes:
    - R
    - S
    - Option<WebSocketConfig>
    - Option<Connector>
    constantsTouched: []
    func_position:
      end: 243
      start: 194
    functionDepth: 17
    functionLinenumber: 194
    functionLinenumberEnd: 243
    functionName: client_tls_with_config
    functionSourceFile: /src/tungstenite-rs/src/tls.rs
    functionUses: 2
    functionsReached:
    - Error::Url
    - self::encryption::rustls::wrap_stream
    - self::encryption::plain::wrap_stream
    - http::Request::uri
    - Err
    - self::encryption::native_tls::wrap_stream
    - http::Request::into_client_request
    - Some
    - io::Result::to_string
    - Ok
    - '{

      client::uri_mode'
    - host
    - '{

      client::client_with_config'
    linkageType: ''
    returnType: Result
    signature: 'pub fn client_tls_with_config<R, S>(request: R,stream: S,config: Option<WebSocketConfig>,connector:
      Option<Connector>,) -> Result<(WebSocket<MaybeTlsStream<S>>, Response), TlsHandshakeError<S>>whereR:
      IntoClientRequest,S: Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accept_hdr_with_config
      Src: /src/tungstenite-rs/src/server.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stream
    - config
    argTypes:
    - S
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 16
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: accept_with_config
    functionSourceFile: /src/tungstenite-rs/src/server.rs
    functionUses: 1
    functionsReached:
    - accept_hdr_with_config
    linkageType: ''
    returnType: Result
    signature: 'pub fn accept_with_config<S: Read + Write>(stream: S,config: Option<WebSocketConfig>,)
      -> Result<WebSocket<S>, HandshakeError<ServerHandshake<S, NoCallback>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accept_with_config
      Src: /src/tungstenite-rs/src/server.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 17
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: accept
    functionSourceFile: /src/tungstenite-rs/src/server.rs
    functionUses: 5
    functionsReached:
    - accept_with_config
    linkageType: ''
    returnType: Result
    signature: 'pub fn accept<S: Read + Write>(stream: S,) -> Result<WebSocket<S>,
      HandshakeError<ServerHandshake<S, NoCallback>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ServerHandshake::start
      Src: /src/tungstenite-rs/src/server.rs:55,1
    - Dst: MidHandshake::handshake
      Src: /src/tungstenite-rs/src/server.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - callback
    - config
    argTypes:
    - S
    - C
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 15
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: accept_hdr_with_config
    functionSourceFile: /src/tungstenite-rs/src/server.rs
    functionUses: 4
    functionsReached:
    - ServerHandshake::start
    - MidHandshake::handshake
    linkageType: ''
    returnType: Result
    signature: 'pub fn accept_hdr_with_config<S: Read + Write, C: Callback>(stream:
      S,callback: C,config: Option<WebSocketConfig>,) -> Result<WebSocket<S>, HandshakeError<ServerHandshake<S,
      C>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accept_hdr_with_config
      Src: /src/tungstenite-rs/src/server.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stream
    - callback
    argTypes:
    - S
    - C
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 16
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: accept_hdr
    functionSourceFile: /src/tungstenite-rs/src/server.rs
    functionUses: 3
    functionsReached:
    - accept_hdr_with_config
    linkageType: ''
    returnType: Result
    signature: 'pub fn accept_hdr<S: Read + Write, C: Callback>(stream: S,callback:
      C,) -> Result<WebSocket<S>, HandshakeError<ServerHandshake<S, C>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::Capacity
      Src: /src/tungstenite-rs/src/error.rs:129,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/error.rs:130,1
    - Dst: ProtocolError::HttparseError
      Src: /src/tungstenite-rs/src/error.rs:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - httparse::Error
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: Error::from
    functionSourceFile: /src/tungstenite-rs/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::Protocol
    - Error::Capacity
    - ProtocolError::HttparseError
    linkageType: ''
    returnType: Self
    signature: 'fn from(err: httparse::Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::Rustls
      Src: /src/tungstenite-rs/src/error.rs:316,1
    - Dst: into
      Src: /src/tungstenite-rs/src/error.rs:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - rustls::Error
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: TlsError::from
    functionSourceFile: /src/tungstenite-rs/src/error.rs
    functionUses: 0
    functionsReached:
    - Self::Rustls
    - into
    linkageType: ''
    returnType: Self
    signature: 'fn from(e: rustls::Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::mem::size_of::<crate::Error>
      Src: /src/tungstenite-rs/src/error.rs:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: test::error_size
    functionSourceFile: /src/tungstenite-rs/src/error.rs
    functionUses: 0
    functionsReached:
    - std::mem::size_of::<crate::Error>
    linkageType: ''
    returnType: void
    signature: fn error_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::mem::size_of::<crate::error::TlsError>
      Src: /src/tungstenite-rs/src/error.rs:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: test::tls_error_size
    functionSourceFile: /src/tungstenite-rs/src/error.rs
    functionUses: 0
    functionsReached:
    - std::mem::size_of::<crate::error::TlsError>
    linkageType: ''
    returnType: void
    signature: fn tls_error_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::mem::size_of::<crate::error::ProtocolError>
      Src: /src/tungstenite-rs/src/error.rs:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: test::protocol_error_size
    functionSourceFile: /src/tungstenite-rs/src/error.rs
    functionUses: 0
    functionsReached:
    - std::mem::size_of::<crate::error::ProtocolError>
    linkageType: ''
    returnType: void
    signature: fn protocol_error_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::Request::uri
      Src: /src/tungstenite-rs/src/client.rs:52,1
    - Dst: uri_mode
      Src: /src/tungstenite-rs/src/client.rs:53,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/client.rs:57,1
    - Dst: Error::Url
      Src: /src/tungstenite-rs/src/client.rs:57,1
    - Dst: http::Request::uri
      Src: /src/tungstenite-rs/src/client.rs:60,1
    - Dst: host
      Src: /src/tungstenite-rs/src/client.rs:60,1
    - Dst: ok_or
      Src: /src/tungstenite-rs/src/client.rs:60,1
    - Dst: Error::Url
      Src: /src/tungstenite-rs/src/client.rs:60,1
    - Dst: starts_with
      Src: /src/tungstenite-rs/src/client.rs:61,1
    - Dst: len
      Src: /src/tungstenite-rs/src/client.rs:61,1
    - Dst: port_u16
      Src: /src/tungstenite-rs/src/client.rs:62,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/client.rs:62,1
    - Dst: to_socket_addrs
      Src: /src/tungstenite-rs/src/client.rs:66,1
    - Dst: connect_to_some
      Src: /src/tungstenite-rs/src/client.rs:67,1
    - Dst: as_slice
      Src: /src/tungstenite-rs/src/client.rs:67,1
    - Dst: http::Request::uri
      Src: /src/tungstenite-rs/src/client.rs:67,1
    - Dst: NoDelay::set_nodelay
      Src: /src/tungstenite-rs/src/client.rs:68,1
    - Dst: client_with_config
      Src: /src/tungstenite-rs/src/client.rs:71,1
    - Dst: MaybeTlsStream::Plain
      Src: /src/tungstenite-rs/src/client.rs:71,1
    - Dst: crate::tls::client_tls_with_config
      Src: /src/tungstenite-rs/src/client.rs:73,1
    - Dst: StdResult::map_err
      Src: /src/tungstenite-rs/src/client.rs:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 2
    argNames:
    - request
    - config
    argTypes:
    - Request
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 79
      start: 48
    functionDepth: 15
    functionLinenumber: 48
    functionLinenumberEnd: 79
    functionName: c::o::n::n::e::c::t::_::w::i::t::h::_::c::o::n::f::i::g::try_client_handshake
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - Error::Url
    - uri_mode
    - MaybeTlsStream::Plain
    - unwrap_or
    - http::Request::uri
    - as_slice
    - crate::tls::client_tls_with_config
    - StdResult::map_err
    - ok_or
    - client_with_config
    - connect_to_some
    - to_socket_addrs
    - port_u16
    - Err
    - len
    - starts_with
    - host
    - NoDelay::set_nodelay
    linkageType: ''
    returnType: Result
    signature: 'fn try_client_handshake(request: Request,config: Option<WebSocketConfig>,)
      -> Result<(WebSocket<MaybeTlsStream<TcpStream>>, Response)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Request::builder
      Src: /src/tungstenite-rs/src/client.rs:83,1
    - Dst: uri
      Src: /src/tungstenite-rs/src/client.rs:83,1
    - Dst: '&Uri::clone'
      Src: /src/tungstenite-rs/src/client.rs:83,1
    - Dst: method
      Src: /src/tungstenite-rs/src/client.rs:83,1
    - Dst: clone
      Src: /src/tungstenite-rs/src/client.rs:83,1
    - Dst: version
      Src: /src/tungstenite-rs/src/client.rs:83,1
    - Dst: headers_mut
      Src: /src/tungstenite-rs/src/client.rs:84,1
    - Dst: expect
      Src: /src/tungstenite-rs/src/client.rs:84,1
    - Dst: clone
      Src: /src/tungstenite-rs/src/client.rs:84,1
    - Dst: body
      Src: /src/tungstenite-rs/src/client.rs:85,1
    - Dst: expect
      Src: /src/tungstenite-rs/src/client.rs:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - parts
    - uri
    argTypes:
    - '&Parts'
    - '&Uri'
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: c::o::n::n::e::c::t::_::w::i::t::h::_::c::o::n::f::i::g::create_request
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - version
    - body
    - expect
    - '&Uri::clone'
    - Request::builder
    - uri
    - headers_mut
    - clone
    - method
    linkageType: ''
    returnType: Request
    signature: 'fn create_request(parts: &Parts, uri: &Uri) -> Request'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::Request::into_client_request
      Src: /src/tungstenite-rs/src/client.rs:88,1
    - Dst: into_parts
      Src: /src/tungstenite-rs/src/client.rs:88,1
    - Dst: clone
      Src: /src/tungstenite-rs/src/client.rs:89,1
    - Dst: create_request
      Src: /src/tungstenite-rs/src/client.rs:92,1
    - Dst: try_client_handshake
      Src: /src/tungstenite-rs/src/client.rs:94,1
    - Dst: status
      Src: /src/tungstenite-rs/src/client.rs:95,1
    - Dst: is_redirection
      Src: /src/tungstenite-rs/src/client.rs:95,1
    - Dst: headers
      Src: /src/tungstenite-rs/src/client.rs:96,1
    - Dst: get
      Src: /src/tungstenite-rs/src/client.rs:96,1
    - Dst: to_str
      Src: /src/tungstenite-rs/src/client.rs:97,1
    - Dst: to_str()?.parse::<Uri>
      Src: /src/tungstenite-rs/src/client.rs:97,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/client.rs:102,1
    - Dst: Error::Http
      Src: /src/tungstenite-rs/src/client.rs:102,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 127
    argCount: 3
    argNames:
    - request
    - config
    - max_redirects
    argTypes:
    - Req
    - Option<WebSocketConfig>
    - u8
    constantsTouched: []
    func_position:
      end: 110
      start: 43
    functionDepth: 12
    functionLinenumber: 43
    functionLinenumberEnd: 110
    functionName: connect_with_config
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 2
    functionsReached:
    - try_client_handshake
    - create_request
    - get
    - to_str
    - Err
    - is_redirection
    - headers
    - http::Request::into_client_request
    - into_parts
    - Error::Http
    - to_str()?.parse::<Uri>
    - clone
    - status
    linkageType: ''
    returnType: Result
    signature: 'pub fn connect_with_config<Req: IntoClientRequest>(request: Req,config:
      Option<WebSocketConfig>,max_redirects: u8,) -> Result<(WebSocket<MaybeTlsStream<TcpStream>>,
      Response)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connect_with_config
      Src: /src/tungstenite-rs/src/client.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - request
    argTypes:
    - Req
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 13
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: connect
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 16
    functionsReached:
    - connect_with_config
    linkageType: ''
    returnType: Result
    signature: 'pub fn connect<Req: IntoClientRequest>(request: Req,) -> Result<(WebSocket<MaybeTlsStream<TcpStream>>,
      Response)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TcpStream::connect
      Src: /src/tungstenite-rs/src/client.rs:133,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/client.rs:134,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/client.rs:137,1
    - Dst: Error::Url
      Src: /src/tungstenite-rs/src/client.rs:137,1
    - Dst: UrlError::UnableToConnect
      Src: /src/tungstenite-rs/src/client.rs:137,1
    - Dst: '&Uri::to_string'
      Src: /src/tungstenite-rs/src/client.rs:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - addrs
    - uri
    argTypes:
    - '&[SocketAddr]'
    - '&Uri'
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 14
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: connect_to_some
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 1
    functionsReached:
    - Error::Url
    - '&Uri::to_string'
    - Err
    - UrlError::UnableToConnect
    - TcpStream::connect
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn connect_to_some(addrs: &[SocketAddr], uri: &Uri) -> Result<TcpStream>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Uri::scheme_str'
      Src: /src/tungstenite-rs/src/client.rs:145,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/client.rs:146,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/client.rs:147,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/client.rs:148,1
    - Dst: Error::Url
      Src: /src/tungstenite-rs/src/client.rs:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - uri
    argTypes:
    - '&Uri'
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: uri_mode
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 3
    functionsReached:
    - Ok
    - Error::Url
    - Err
    - '&Uri::scheme_str'
    linkageType: ''
    returnType: Result
    signature: 'pub fn uri_mode(uri: &Uri) -> Result<Mode>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ClientHandshake::start
      Src: /src/tungstenite-rs/src/client.rs:167,1
    - Dst: http::Request::into_client_request
      Src: /src/tungstenite-rs/src/client.rs:167,1
    - Dst: handshake
      Src: /src/tungstenite-rs/src/client.rs:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - request
    - stream
    - config
    argTypes:
    - Req
    - Stream
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 16
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: client_with_config
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 3
    functionsReached:
    - http::Request::into_client_request
    - ClientHandshake::start
    - handshake
    linkageType: ''
    returnType: StdResult
    signature: 'pub fn client_with_config<Stream, Req>(request: Req,stream: Stream,config:
      Option<WebSocketConfig>,) -> StdResult<(WebSocket<Stream>, Response), HandshakeError<ClientHandshake<Stream>>>whereStream:
      Read + Write,Req: IntoClientRequest,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_with_config
      Src: /src/tungstenite-rs/src/client.rs:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - request
    - stream
    argTypes:
    - Req
    - Stream
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 17
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: client
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - client_with_config
    linkageType: ''
    returnType: StdResult
    signature: 'pub fn client<Stream, Req>(request: Req,stream: Stream,) -> StdResult<(WebSocket<Stream>,
      Response), HandshakeError<ClientHandshake<Stream>>>whereStream: Read + Write,Req:
      IntoClientRequest,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse::<Uri>
      Src: /src/tungstenite-rs/src/client.rs:201,1
    - Dst: into_client_request
      Src: /src/tungstenite-rs/src/client.rs:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: '&str::into_client_request'
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 5
    functionsReached:
    - parse::<Uri>
    - into_client_request
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <&str as IntoClientRequest>::into_client_request
      Src: /src/tungstenite-rs/src/client.rs:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '&String::into_client_request'
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - <&str as IntoClientRequest>::into_client_request
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <&str as IntoClientRequest>::into_client_request
      Src: /src/tungstenite-rs/src/client.rs:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: String::into_client_request
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - <&str as IntoClientRequest>::into_client_request
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Uri::clone'
      Src: /src/tungstenite-rs/src/client.rs:219,1
    - Dst: into_client_request
      Src: /src/tungstenite-rs/src/client.rs:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '&Uri::into_client_request'
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - into_client_request
    - '&Uri::clone'
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Uri::authority
      Src: /src/tungstenite-rs/src/client.rs:225,1
    - Dst: ok_or
      Src: /src/tungstenite-rs/src/client.rs:225,1
    - Dst: Error::Url
      Src: /src/tungstenite-rs/src/client.rs:225,1
    - Dst: as_str
      Src: /src/tungstenite-rs/src/client.rs:225,1
    - Dst: find
      Src: /src/tungstenite-rs/src/client.rs:226,1
    - Dst: map
      Src: /src/tungstenite-rs/src/client.rs:226,1
    - Dst: split_at
      Src: /src/tungstenite-rs/src/client.rs:228,1
    - Dst: unwrap_or_else
      Src: /src/tungstenite-rs/src/client.rs:226,1
    - Dst: is_empty
      Src: /src/tungstenite-rs/src/client.rs:231,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/client.rs:232,1
    - Dst: Error::Url
      Src: /src/tungstenite-rs/src/client.rs:232,1
    - Dst: Request::builder
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: method
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: header
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: header
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: header
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: header
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: header
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: '{

        handshake::client::generate_key'
      Src: /src/tungstenite-rs/src/client.rs:241,1
    - Dst: uri
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: body
      Src: /src/tungstenite-rs/src/client.rs:235,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/client.rs:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 6
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: Uri::into_client_request
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - Error::Url
    - find
    - '{

      handshake::client::generate_key'
    - as_str
    - body
    - is_empty
    - Uri::authority
    - ok_or
    - Request::builder
    - uri
    - header
    - map
    - Ok
    - Err
    - method
    - unwrap_or_else
    - split_at
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&url::Url::as_str'
      Src: /src/tungstenite-rs/src/client.rs:251,1
    - Dst: crate::Result::into_client_request
      Src: /src/tungstenite-rs/src/client.rs:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '&url::Url::into_client_request'
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - crate::Result::into_client_request
    - '&url::Url::as_str'
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: url::Url::as_str
      Src: /src/tungstenite-rs/src/client.rs:258,1
    - Dst: crate::Result::into_client_request
      Src: /src/tungstenite-rs/src/client.rs:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: url::Url::into_client_request
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - url::Url::as_str
    - crate::Result::into_client_request
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/client.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Request::into_client_request
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 3
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Request::from_httparse
      Src: /src/tungstenite-rs/src/client.rs:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: httparse::Request::into_client_request
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - Request::from_httparse
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/tungstenite-rs/src/client.rs:305,1
    - Dst: Vec::new
      Src: /src/tungstenite-rs/src/client.rs:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - Uri
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: ClientRequestBuilder::new
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 1
    functionsReached:
    - Vec::new
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new(uri: Uri) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/tungstenite-rs/src/client.rs:314,1
    - Dst: bool::into
      Src: /src/tungstenite-rs/src/client.rs:314,1
    - Dst: V::into
      Src: /src/tungstenite-rs/src/client.rs:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: ClientRequestBuilder::with_header
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - V::into
    - bool::into
    - push
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_header<K, V>(mut self, key: K, value: V) -> SelfwhereK:
      Into<String>,V: Into<String>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/tungstenite-rs/src/client.rs:323,1
    - Dst: into
      Src: /src/tungstenite-rs/src/client.rs:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - P
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: ClientRequestBuilder::with_sub_protocol
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - into
    - push
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_sub_protocol<P>(mut self, protocol: P) -> SelfwhereP:
      Into<String>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_client_request
      Src: /src/tungstenite-rs/src/client.rs:330,1
    - Dst: http::Request::headers_mut
      Src: /src/tungstenite-rs/src/client.rs:331,1
    - Dst: HeaderName::try_from
      Src: /src/tungstenite-rs/src/client.rs:333,1
    - Dst: parse
      Src: /src/tungstenite-rs/src/client.rs:334,1
    - Dst: append
      Src: /src/tungstenite-rs/src/client.rs:335,1
    - Dst: is_empty
      Src: /src/tungstenite-rs/src/client.rs:337,1
    - Dst: join
      Src: /src/tungstenite-rs/src/client.rs:338,1
    - Dst: parse
      Src: /src/tungstenite-rs/src/client.rs:338,1
    - Dst: append
      Src: /src/tungstenite-rs/src/client.rs:339,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/client.rs:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 5
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: ClientRequestBuilder::into_client_request
    functionSourceFile: /src/tungstenite-rs/src/client.rs
    functionUses: 0
    functionsReached:
    - HeaderName::try_from
    - parse
    - http::Request::headers_mut
    - into_client_request
    - join
    - Ok
    - append
    - is_empty
    linkageType: ''
    returnType: Result
    signature: fn into_client_request(self) -> Result<Request>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TcpStream::set_nodelay
      Src: /src/tungstenite-rs/src/stream.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - nodelay
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: TcpStream::set_nodelay
    functionSourceFile: /src/tungstenite-rs/src/stream.rs
    functionUses: 1
    functionsReached:
    - TcpStream::set_nodelay
    linkageType: ''
    returnType: IoResult
    signature: 'fn set_nodelay(&mut self, nodelay: bool) -> IoResult<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TlsStream::get_mut
      Src: /src/tungstenite-rs/src/stream.rs:45,1
    - Dst: '&mut HandshakeMachine::set_nodelay'
      Src: /src/tungstenite-rs/src/stream.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nodelay
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: TlsStream::set_nodelay
    functionSourceFile: /src/tungstenite-rs/src/stream.rs
    functionUses: 0
    functionsReached:
    - '&mut HandshakeMachine::set_nodelay'
    - TlsStream::get_mut
    linkageType: ''
    returnType: IoResult
    signature: 'fn set_nodelay(&mut self, nodelay: bool) -> IoResult<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_nodelay
      Src: /src/tungstenite-rs/src/stream.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nodelay
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: StreamOwned::set_nodelay
    functionSourceFile: /src/tungstenite-rs/src/stream.rs
    functionUses: 0
    functionsReached:
    - set_nodelay
    linkageType: ''
    returnType: IoResult
    signature: 'fn set_nodelay(&mut self, nodelay: bool) -> IoResult<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&HandshakeMachine::debug_tuple'
      Src: /src/tungstenite-rs/src/stream.rs:78,1
    - Dst: field
      Src: /src/tungstenite-rs/src/stream.rs:78,1
    - Dst: finish
      Src: /src/tungstenite-rs/src/stream.rs:78,1
    - Dst: '&HandshakeMachine::debug_tuple'
      Src: /src/tungstenite-rs/src/stream.rs:80,1
    - Dst: field
      Src: /src/tungstenite-rs/src/stream.rs:80,1
    - Dst: finish
      Src: /src/tungstenite-rs/src/stream.rs:80,1
    - Dst: '&HandshakeMachine::debug_struct'
      Src: /src/tungstenite-rs/src/stream.rs:89,1
    - Dst: field
      Src: /src/tungstenite-rs/src/stream.rs:89,1
    - Dst: field
      Src: /src/tungstenite-rs/src/stream.rs:89,1
    - Dst: finish
      Src: /src/tungstenite-rs/src/stream.rs:89,1
    - Dst: '&HandshakeMachine::debug_tuple'
      Src: /src/tungstenite-rs/src/stream.rs:96,1
    - Dst: field
      Src: /src/tungstenite-rs/src/stream.rs:96,1
    - Dst: RustlsStreamDebug
      Src: /src/tungstenite-rs/src/stream.rs:96,1
    - Dst: finish
      Src: /src/tungstenite-rs/src/stream.rs:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: MaybeTlsStream::fmt
    functionSourceFile: /src/tungstenite-rs/src/stream.rs
    functionUses: 0
    functionsReached:
    - '&HandshakeMachine::debug_struct'
    - finish
    - RustlsStreamDebug
    - field
    - '&HandshakeMachine::debug_tuple'
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tungstenite-rs/src/stream.rs:105,1
    - Dst: read
      Src: /src/tungstenite-rs/src/stream.rs:107,1
    - Dst: read
      Src: /src/tungstenite-rs/src/stream.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: MaybeTlsStream::read
    functionSourceFile: /src/tungstenite-rs/src/stream.rs
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: IoResult
    signature: 'fn read(&mut self, buf: &mut [u8]) -> IoResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/tungstenite-rs/src/stream.rs:117,1
    - Dst: write
      Src: /src/tungstenite-rs/src/stream.rs:119,1
    - Dst: write
      Src: /src/tungstenite-rs/src/stream.rs:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: MaybeTlsStream::write
    functionSourceFile: /src/tungstenite-rs/src/stream.rs
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: IoResult
    signature: 'fn write(&mut self, buf: &[u8]) -> IoResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/tungstenite-rs/src/stream.rs:127,1
    - Dst: flush
      Src: /src/tungstenite-rs/src/stream.rs:129,1
    - Dst: flush
      Src: /src/tungstenite-rs/src/stream.rs:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: MaybeTlsStream::flush
    functionSourceFile: /src/tungstenite-rs/src/stream.rs
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: IoResult
    signature: fn flush(&mut self) -> IoResult<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_nodelay
      Src: /src/tungstenite-rs/src/stream.rs:139,1
    - Dst: set_nodelay
      Src: /src/tungstenite-rs/src/stream.rs:141,1
    - Dst: set_nodelay
      Src: /src/tungstenite-rs/src/stream.rs:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - nodelay
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: MaybeTlsStream::set_nodelay
    functionSourceFile: /src/tungstenite-rs/src/stream.rs
    functionUses: 0
    functionsReached:
    - set_nodelay
    linkageType: ''
    returnType: IoResult
    signature: 'fn set_nodelay(&mut self, nodelay: bool) -> IoResult<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IoError::kind
      Src: /src/tungstenite-rs/src/util.rs:18,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/util.rs:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: IoError::into_non_blocking
    functionSourceFile: /src/tungstenite-rs/src/util.rs
    functionUses: 0
    functionsReached:
    - Some
    - IoError::kind
    linkageType: ''
    returnType: Option
    signature: fn into_non_blocking(self) -> Option<Self>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_non_blocking
      Src: /src/tungstenite-rs/src/util.rs:28,1
    - Dst: Option::map
      Src: /src/tungstenite-rs/src/util.rs:28,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/util.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: Error::into_non_blocking
    functionSourceFile: /src/tungstenite-rs/src/util.rs
    functionUses: 0
    functionsReached:
    - Option::map
    - Some
    - into_non_blocking
    linkageType: ''
    returnType: Option
    signature: fn into_non_blocking(self) -> Option<Self>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/util.rs:51,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/util.rs:51,1
    - Dst: into_non_blocking
      Src: /src/tungstenite-rs/src/util.rs:52,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/util.rs:53,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/util.rs:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: StdResult::no_block
    functionSourceFile: /src/tungstenite-rs/src/util.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Some
    - into_non_blocking
    - Err
    linkageType: ''
    returnType: Self::Result
    signature: fn no_block(self) -> Self::Result
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 34
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 34
    functionName: DecodeError::fmt
    functionSourceFile: /src/tungstenite-rs/src/utf8.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str::from_utf8
      Src: /src/tungstenite-rs/src/utf8.rs:52,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/utf8.rs:53,1
    - Dst: '&''_ [u8]::split_at'
      Src: /src/tungstenite-rs/src/utf8.rs:58,1
    - Dst: valid_up_to
      Src: /src/tungstenite-rs/src/utf8.rs:58,1
    - Dst: str::from_utf8_unchecked
      Src: /src/tungstenite-rs/src/utf8.rs:59,1
    - Dst: error_len
      Src: /src/tungstenite-rs/src/utf8.rs:61,1
    - Dst: split_at
      Src: /src/tungstenite-rs/src/utf8.rs:63,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/utf8.rs:64,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/utf8.rs:70,1
    - Dst: Incomplete::new
      Src: /src/tungstenite-rs/src/utf8.rs:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&''_ [u8]'
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: decode
    functionSourceFile: /src/tungstenite-rs/src/utf8.rs
    functionUses: 1
    functionsReached:
    - error_len
    - split_at
    - Incomplete::new
    - Err
    - '&''_ [u8]::split_at'
    - str::from_utf8
    - Ok
    - str::from_utf8_unchecked
    - valid_up_to
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn decode(input: &''_ [u8]) -> Result<&''_ str, DecodeError<''_>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tungstenite-rs/src/utf8.rs:80,1
    - Dst: copy_from_slice
      Src: /src/tungstenite-rs/src/utf8.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Incomplete::new
    functionSourceFile: /src/tungstenite-rs/src/utf8.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    - len
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new(bytes: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Incomplete::try_complete_offsets
      Src: /src/tungstenite-rs/src/utf8.rs:94,1
    - Dst: Incomplete::take_buffer
      Src: /src/tungstenite-rs/src/utf8.rs:97,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/utf8.rs:99,1
    - Dst: str::from_utf8_unchecked
      Src: /src/tungstenite-rs/src/utf8.rs:99,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/utf8.rs:100,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/utf8.rs:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&''input [u8]'
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: Incomplete::try_complete
    functionSourceFile: /src/tungstenite-rs/src/utf8.rs
    functionUses: 0
    functionsReached:
    - Err
    - str::from_utf8_unchecked
    - Incomplete::try_complete_offsets
    - Ok
    - Incomplete::take_buffer
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn try_complete<''input>(&mut self,input: &''input [u8],)
      -> Option<Completed<''_, ''input>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: Incomplete::take_buffer
    functionSourceFile: /src/tungstenite-rs/src/utf8.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn take_buffer(&mut self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp::min
      Src: /src/tungstenite-rs/src/utf8.rs:119,1
    - Dst: len
      Src: /src/tungstenite-rs/src/utf8.rs:119,1
    - Dst: '&[u8]::len'
      Src: /src/tungstenite-rs/src/utf8.rs:119,1
    - Dst: copy_from_slice
      Src: /src/tungstenite-rs/src/utf8.rs:120,1
    - Dst: str::from_utf8
      Src: /src/tungstenite-rs/src/utf8.rs:123,1
    - Dst: len
      Src: /src/tungstenite-rs/src/utf8.rs:125,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/utf8.rs:126,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/utf8.rs:126,1
    - Dst: valid_up_to
      Src: /src/tungstenite-rs/src/utf8.rs:129,1
    - Dst: checked_sub
      Src: /src/tungstenite-rs/src/utf8.rs:131,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/utf8.rs:131,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/utf8.rs:133,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/utf8.rs:133,1
    - Dst: error_len
      Src: /src/tungstenite-rs/src/utf8.rs:135,1
    - Dst: checked_sub
      Src: /src/tungstenite-rs/src/utf8.rs:138,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/utf8.rs:138,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/utf8.rs:140,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/utf8.rs:140,1
    - Dst: len
      Src: /src/tungstenite-rs/src/utf8.rs:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 80
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 150
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 150
    functionName: Incomplete::try_complete_offsets
    functionSourceFile: /src/tungstenite-rs/src/utf8.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    - error_len
    - cmp::min
    - checked_sub
    - Err
    - str::from_utf8
    - unwrap
    - Some
    - Ok
    - len
    - valid_up_to
    - '&[u8]::len'
    linkageType: ''
    returnType: (usize, Option
    signature: 'fn try_complete_offsets(&mut self, input: &[u8]) -> (usize, Option<Result<(),
      ()>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::with_capacity
      Src: /src/tungstenite-rs/src/buffer.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: ReadBuffer::new
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 1
    functionsReached:
    - Self::with_capacity
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_partially_read
      Src: /src/tungstenite-rs/src/buffer.rs:26,1
    - Dst: Vec::with_capacity
      Src: /src/tungstenite-rs/src/buffer.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: ReadBuffer::with_capacity
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - Vec::with_capacity
    - Self::from_partially_read
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_capacity(capacity: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/buffer.rs:31,1
    - Dst: Box::new
      Src: /src/tungstenite-rs/src/buffer.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - part
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: ReadBuffer::from_partially_read
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - Box::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_partially_read(part: Vec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: ReadBuffer::as_cursor
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: '&Cursor'
    signature: pub fn as_cursor(&self) -> &Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ReadBuffer::as_cursor_mut
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&mut Cursor'
    signature: pub fn as_cursor_mut(&mut self) -> &mut Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadBuffer::clean_up
      Src: /src/tungstenite-rs/src/buffer.rs:48,1
    - Dst: into_inner
      Src: /src/tungstenite-rs/src/buffer.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 13
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ReadBuffer::into_vec
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - into_inner
    - ReadBuffer::clean_up
    linkageType: ''
    returnType: Vec
    signature: pub fn into_vec(mut self) -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadBuffer::clean_up
      Src: /src/tungstenite-rs/src/buffer.rs:56,1
    - Dst: Result::read
      Src: /src/tungstenite-rs/src/buffer.rs:57,1
    - Dst: get_mut
      Src: /src/tungstenite-rs/src/buffer.rs:58,1
    - Dst: extend_from_slice
      Src: /src/tungstenite-rs/src/buffer.rs:58,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/buffer.rs:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - stream
    argTypes:
    - '&mut S'
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 13
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: ReadBuffer::read_from
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - Result::read
    - extend_from_slice
    - ReadBuffer::clean_up
    - Ok
    - get_mut
    linkageType: ''
    returnType: IoResult
    signature: 'pub fn read_from<S: Read>(&mut self, stream: &mut S) -> IoResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: position
      Src: /src/tungstenite-rs/src/buffer.rs:64,1
    - Dst: get_mut
      Src: /src/tungstenite-rs/src/buffer.rs:65,1
    - Dst: drain
      Src: /src/tungstenite-rs/src/buffer.rs:65,1
    - Dst: count
      Src: /src/tungstenite-rs/src/buffer.rs:65,1
    - Dst: set_position
      Src: /src/tungstenite-rs/src/buffer.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 12
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: ReadBuffer::clean_up
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 4
    functionsReached:
    - position
    - count
    - drain
    - set_position
    - get_mut
    linkageType: ''
    returnType: void
    signature: fn clean_up(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buf::remaining
      Src: /src/tungstenite-rs/src/buffer.rs:72,1
    - Dst: ReadBuffer::as_cursor
      Src: /src/tungstenite-rs/src/buffer.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: ReadBuffer::remaining
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - ReadBuffer::as_cursor
    - Buf::remaining
    linkageType: ''
    returnType: usize
    signature: fn remaining(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buf::chunk
      Src: /src/tungstenite-rs/src/buffer.rs:76,1
    - Dst: ReadBuffer::as_cursor
      Src: /src/tungstenite-rs/src/buffer.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: ReadBuffer::chunk
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - ReadBuffer::as_cursor
    - Buf::chunk
    linkageType: ''
    returnType: '&[u8]'
    signature: fn chunk(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buf::advance
      Src: /src/tungstenite-rs/src/buffer.rs:80,1
    - Dst: ReadBuffer::as_cursor_mut
      Src: /src/tungstenite-rs/src/buffer.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cnt
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: ReadBuffer::advance
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - ReadBuffer::as_cursor_mut
    - Buf::advance
    linkageType: ''
    returnType: void
    signature: 'fn advance(&mut self, cnt: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/tungstenite-rs/src/buffer.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: ReadBuffer::default
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/buffer.rs:96,1
    - Dst: '&str::to_vec'
      Src: /src/tungstenite-rs/src/buffer.rs:96,1
    - Dst: ReadBuffer::<4096>::new
      Src: /src/tungstenite-rs/src/buffer.rs:97,1
    - Dst: '&[u8]::read_from'
      Src: /src/tungstenite-rs/src/buffer.rs:98,1
    - Dst: IoResult::unwrap
      Src: /src/tungstenite-rs/src/buffer.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 14
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: tests::simple_reading
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - '&str::to_vec'
    - ReadBuffer::<4096>::new
    - '&[u8]::read_from'
    - IoResult::unwrap
    linkageType: ''
    returnType: void
    signature: fn simple_reading()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/buffer.rs:105,1
    - Dst: '&str::to_vec'
      Src: /src/tungstenite-rs/src/buffer.rs:105,1
    - Dst: ReadBuffer::<4>::new
      Src: /src/tungstenite-rs/src/buffer.rs:106,1
    - Dst: Result::read_from
      Src: /src/tungstenite-rs/src/buffer.rs:108,1
    - Dst: IoResult::unwrap
      Src: /src/tungstenite-rs/src/buffer.rs:108,1
    - Dst: Result::advance
      Src: /src/tungstenite-rs/src/buffer.rs:112,1
    - Dst: Result::read_from
      Src: /src/tungstenite-rs/src/buffer.rs:116,1
    - Dst: IoResult::unwrap
      Src: /src/tungstenite-rs/src/buffer.rs:116,1
    - Dst: Result::read_from
      Src: /src/tungstenite-rs/src/buffer.rs:121,1
    - Dst: IoResult::unwrap
      Src: /src/tungstenite-rs/src/buffer.rs:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 14
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: tests::reading_in_chunks
    functionSourceFile: /src/tungstenite-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - Result::read_from
    - Cursor::new
    - '&str::to_vec'
    - ReadBuffer::<4>::new
    - IoResult::unwrap
    - Result::advance
    linkageType: ''
    returnType: void
    signature: fn reading_in_chunks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::Request::method
      Src: /src/tungstenite-rs/src/handshake/server.rs:38,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:39,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:39,1
    - Dst: http::Request::version
      Src: /src/tungstenite-rs/src/handshake/server.rs:42,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:43,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:43,1
    - Dst: http::Request::headers
      Src: /src/tungstenite-rs/src/handshake/server.rs:46,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/server.rs:46,1
    - Dst: and_then
      Src: /src/tungstenite-rs/src/handshake/server.rs:46,1
    - Dst: io::Result::to_str
      Src: /src/tungstenite-rs/src/handshake/server.rs:49,1
    - Dst: ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:49,1
    - Dst: map
      Src: /src/tungstenite-rs/src/handshake/server.rs:46,1
    - Dst: io::Result::split
      Src: /src/tungstenite-rs/src/handshake/server.rs:50,1
    - Dst: any
      Src: /src/tungstenite-rs/src/handshake/server.rs:50,1
    - Dst: eq_ignore_ascii_case
      Src: /src/tungstenite-rs/src/handshake/server.rs:50,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/handshake/server.rs:46,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:53,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:53,1
    - Dst: http::Request::headers
      Src: /src/tungstenite-rs/src/handshake/server.rs:56,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/server.rs:56,1
    - Dst: and_then
      Src: /src/tungstenite-rs/src/handshake/server.rs:56,1
    - Dst: io::Result::to_str
      Src: /src/tungstenite-rs/src/handshake/server.rs:59,1
    - Dst: ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:59,1
    - Dst: map
      Src: /src/tungstenite-rs/src/handshake/server.rs:56,1
    - Dst: io::Result::eq_ignore_ascii_case
      Src: /src/tungstenite-rs/src/handshake/server.rs:60,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/handshake/server.rs:56,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:63,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:63,1
    - Dst: http::Request::headers
      Src: /src/tungstenite-rs/src/handshake/server.rs:66,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/server.rs:66,1
    - Dst: map
      Src: /src/tungstenite-rs/src/handshake/server.rs:66,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/handshake/server.rs:66,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:67,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:67,1
    - Dst: http::Request::headers
      Src: /src/tungstenite-rs/src/handshake/server.rs:70,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/server.rs:70,1
    - Dst: ok_or
      Src: /src/tungstenite-rs/src/handshake/server.rs:70,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:73,1
    - Dst: is_valid_sec_websocket_key
      Src: /src/tungstenite-rs/src/handshake/server.rs:75,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:76,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:76,1
    - Dst: Response::builder
      Src: /src/tungstenite-rs/src/handshake/server.rs:79,1
    - Dst: status
      Src: /src/tungstenite-rs/src/handshake/server.rs:79,1
    - Dst: version
      Src: /src/tungstenite-rs/src/handshake/server.rs:79,1
    - Dst: http::Request::version
      Src: /src/tungstenite-rs/src/handshake/server.rs:81,1
    - Dst: header
      Src: /src/tungstenite-rs/src/handshake/server.rs:79,1
    - Dst: header
      Src: /src/tungstenite-rs/src/handshake/server.rs:79,1
    - Dst: header
      Src: /src/tungstenite-rs/src/handshake/server.rs:79,1
    - Dst: derive_accept_key
      Src: /src/tungstenite-rs/src/handshake/server.rs:84,1
    - Dst: bool::as_bytes
      Src: /src/tungstenite-rs/src/handshake/server.rs:84,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 124
    argCount: 1
    argNames:
    - request
    argTypes:
    - '&HttpRequest<T>'
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: create_parts
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 2
    functionsReached:
    - Response::builder
    - http::Request::headers
    - unwrap_or
    - ok_or
    - io::Result::split
    - map
    - Error::Protocol
    - io::Result::to_str
    - and_then
    - eq_ignore_ascii_case
    - Ok
    - status
    - is_valid_sec_websocket_key
    - bool::as_bytes
    - version
    - header
    - http::Request::method
    - Err
    - derive_accept_key
    - any
    - io::Result::eq_ignore_ascii_case
    - get
    - ok
    - http::Request::version
    linkageType: ''
    returnType: Result
    signature: 'fn create_parts<T>(request: &HttpRequest<T>) -> Result<Builder>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::len
      Src: /src/tungstenite-rs/src/handshake/server.rs:90,1
    - Dst: decode
      Src: /src/tungstenite-rs/src/handshake/server.rs:94,1
    - Dst: bool::as_bytes
      Src: /src/tungstenite-rs/src/handshake/server.rs:94,1
    - Dst: len
      Src: /src/tungstenite-rs/src/handshake/server.rs:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&HeaderValue'
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: is_valid_sec_websocket_key
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 1
    functionsReached:
    - bool::as_bytes
    - decode
    - len
    - bool::len
    linkageType: ''
    returnType: bool
    signature: 'fn is_valid_sec_websocket_key(key: &HeaderValue) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:103,1
    - Dst: create_parts
      Src: /src/tungstenite-rs/src/handshake/server.rs:103,1
    - Dst: body
      Src: /src/tungstenite-rs/src/handshake/server.rs:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - '&Request'
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: create_response
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 3
    functionsReached:
    - Ok
    - body
    - create_parts
    linkageType: ''
    returnType: Result
    signature: 'pub fn create_response(request: &Request) -> Result<Response>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:111,1
    - Dst: create_parts
      Src: /src/tungstenite-rs/src/handshake/server.rs:111,1
    - Dst: body
      Src: /src/tungstenite-rs/src/handshake/server.rs:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - request
    - generate_body
    argTypes:
    - '&HttpRequest<T1>'
    - impl FnOnce() -> T2
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: create_response_with_body
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - Ok
    - body
    - create_parts
    linkageType: ''
    returnType: Result
    signature: 'pub fn create_response_with_body<T1, T2>(request: &HttpRequest<T1>,generate_body:
      impl FnOnce() -> T2,) -> Result<HttpResponse<T2>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::headers
      Src: /src/tungstenite-rs/src/handshake/server.rs:123,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - w
    - response
    argTypes:
    - impl io::Write
    - '&HttpResponse<T>'
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 12
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: write_response
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Result::headers
    linkageType: ''
    returnType: Result
    signature: 'pub fn write_response<T>(mut w: impl io::Write, response: &HttpResponse<T>)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httparse::Request::new
      Src: /src/tungstenite-rs/src/handshake/server.rs:135,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:136,1
    - Dst: Self::parse
      Src: /src/tungstenite-rs/src/handshake/server.rs:136,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/handshake/server.rs:138,1
    - Dst: Request::from_httparse
      Src: /src/tungstenite-rs/src/handshake/server.rs:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: Request::try_parse
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 3
    functionsReached:
    - Self::parse
    - httparse::Request::new
    - Ok
    - Some
    - Request::from_httparse
    linkageType: ''
    returnType: Result
    signature: 'fn try_parse(buf: &[u8]) -> Result<Option<(usize, Self)>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/tungstenite-rs/src/handshake/server.rs:145,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:146,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:146,1
    - Dst: expect
      Src: /src/tungstenite-rs/src/handshake/server.rs:149,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:150,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:150,1
    - Dst: HeaderMap::from_httparse
      Src: /src/tungstenite-rs/src/handshake/server.rs:153,1
    - Dst: Request::new
      Src: /src/tungstenite-rs/src/handshake/server.rs:155,1
    - Dst: http::Request::method_mut
      Src: /src/tungstenite-rs/src/handshake/server.rs:156,1
    - Dst: http::Request::headers_mut
      Src: /src/tungstenite-rs/src/handshake/server.rs:157,1
    - Dst: http::Request::uri_mut
      Src: /src/tungstenite-rs/src/handshake/server.rs:158,1
    - Dst: expect
      Src: /src/tungstenite-rs/src/handshake/server.rs:158,1
    - Dst: parse
      Src: /src/tungstenite-rs/src/handshake/server.rs:158,1
    - Dst: http::Request::version_mut
      Src: /src/tungstenite-rs/src/handshake/server.rs:161,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 1
    argNames:
    - raw
    argTypes:
    - httparse::Request<'h, 'b>
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: Request::from_httparse
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 2
    functionsReached:
    - parse
    - http::Request::version_mut
    - http::Request::headers_mut
    - Request::new
    - HeaderMap::from_httparse
    - expect
    - Err
    - Ok
    - Error::Protocol
    - http::Request::method_mut
    - http::Request::uri_mut
    linkageType: ''
    returnType: Result
    signature: 'fn from_httparse(raw: httparse::Request<''h, ''b>) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - request
    - response
    argTypes:
    - '&Request'
    - Response
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: F::on_request
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StdResult
    signature: 'fn on_request(self,request: &Request,response: Response,) -> StdResult<Response,
      ErrorResponse>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _request
    - response
    argTypes:
    - '&Request'
    - Response
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: NoCallback::on_request
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: StdResult
    signature: 'fn on_request(self,_request: &Request,response: Response,) -> StdResult<Response,
      ErrorResponse>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HandshakeMachine::start_read
      Src: /src/tungstenite-rs/src/handshake/server.rs:235,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/handshake/server.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - callback
    - config
    argTypes:
    - S
    - C
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 6
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: ServerHandshake::start
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 1
    functionsReached:
    - HandshakeMachine::start_read
    - Some
    linkageType: ''
    returnType: MidHandshake
    signature: 'pub fn start(stream: S, callback: C, config: Option<WebSocketConfig>)
      -> MidHandshake<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:255,1
    - Dst: is_empty
      Src: /src/tungstenite-rs/src/handshake/server.rs:257,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:258,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:258,1
    - Dst: create_response
      Src: /src/tungstenite-rs/src/handshake/server.rs:261,1
    - Dst: take
      Src: /src/tungstenite-rs/src/handshake/server.rs:262,1
    - Dst: on_request
      Src: /src/tungstenite-rs/src/handshake/server.rs:263,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/server.rs:265,1
    - Dst: write_response
      Src: /src/tungstenite-rs/src/handshake/server.rs:271,1
    - Dst: ProcessingResult::Continue
      Src: /src/tungstenite-rs/src/handshake/server.rs:272,1
    - Dst: HandshakeMachine::start_write
      Src: /src/tungstenite-rs/src/handshake/server.rs:272,1
    - Dst: status
      Src: /src/tungstenite-rs/src/handshake/server.rs:276,1
    - Dst: is_success
      Src: /src/tungstenite-rs/src/handshake/server.rs:276,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:277,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/server.rs:277,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/handshake/server.rs:280,1
    - Dst: as_ref
      Src: /src/tungstenite-rs/src/handshake/server.rs:281,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/server.rs:281,1
    - Dst: write_response
      Src: /src/tungstenite-rs/src/handshake/server.rs:284,1
    - Dst: body
      Src: /src/tungstenite-rs/src/handshake/server.rs:286,1
    - Dst: extend_from_slice
      Src: /src/tungstenite-rs/src/handshake/server.rs:287,1
    - Dst: Result::as_bytes
      Src: /src/tungstenite-rs/src/handshake/server.rs:287,1
    - Dst: ProcessingResult::Continue
      Src: /src/tungstenite-rs/src/handshake/server.rs:290,1
    - Dst: HandshakeMachine::start_write
      Src: /src/tungstenite-rs/src/handshake/server.rs:290,1
    - Dst: take
      Src: /src/tungstenite-rs/src/handshake/server.rs:296,1
    - Dst: into_parts
      Src: /src/tungstenite-rs/src/handshake/server.rs:299,1
    - Dst: Result::map
      Src: /src/tungstenite-rs/src/handshake/server.rs:300,1
    - Dst: as_bytes
      Src: /src/tungstenite-rs/src/handshake/server.rs:300,1
    - Dst: to_vec
      Src: /src/tungstenite-rs/src/handshake/server.rs:300,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/server.rs:301,1
    - Dst: Error::Http
      Src: /src/tungstenite-rs/src/handshake/server.rs:301,1
    - Dst: http::Response::from_parts
      Src: /src/tungstenite-rs/src/handshake/server.rs:301,1
    - Dst: into
      Src: /src/tungstenite-rs/src/handshake/server.rs:301,1
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/src/handshake/server.rs:304,1
    - Dst: ProcessingResult::Done
      Src: /src/tungstenite-rs/src/handshake/server.rs:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 91
    argCount: 1
    argNames:
    - finish
    argTypes:
    - StageResult<Self::IncomingData, Self::InternalStream>
    constantsTouched: []
    func_position:
      end: 309
      start: 251
    functionDepth: 13
    functionLinenumber: 251
    functionLinenumberEnd: 309
    functionName: ServerHandshake::stage_finished
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - to_vec
    - Result::map
    - write_response
    - unwrap
    - extend_from_slice
    - Error::Http
    - Error::Protocol
    - on_request
    - as_ref
    - take
    - into
    - into_parts
    - Ok
    - HandshakeMachine::start_write
    - status
    - is_success
    - Result::as_bytes
    - body
    - ProcessingResult::Continue
    - as_bytes
    - ProcessingResult::Done
    - http::Response::from_parts
    - Err
    - create_response
    - is_empty
    - WebSocket::from_raw_socket
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn stage_finished(&mut self,finish: StageResult<Self::IncomingData,
      Self::InternalStream>,) -> Result<ProcessingResult<Self::InternalStream, Self::FinalResult>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Request::try_parse
      Src: /src/tungstenite-rs/src/handshake/server.rs:329,1
    - Dst: Bytes::as_bytes
      Src: /src/tungstenite-rs/src/handshake/server.rs:329,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/server.rs:329,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/server.rs:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 331
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 331
    functionName: tests::request_with_key
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - Request::try_parse
    - Bytes::as_bytes
    - unwrap
    - Result::unwrap
    linkageType: ''
    returnType: Request
    signature: 'fn request_with_key(key: &str) -> Request'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: request_with_key
      Src: /src/tungstenite-rs/src/handshake/server.rs:334,1
    - Dst: create_response
      Src: /src/tungstenite-rs/src/handshake/server.rs:335,1
    - Dst: Result::unwrap_err
      Src: /src/tungstenite-rs/src/handshake/server.rs:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 6
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: tests::assert_invalid_sec_websocket_key
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - create_response
    - request_with_key
    - Result::unwrap_err
    linkageType: ''
    returnType: void
    signature: 'fn assert_invalid_sec_websocket_key(key: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Request::try_parse
      Src: /src/tungstenite-rs/src/handshake/server.rs:342,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/server.rs:342,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/server.rs:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: tests::request_parsing
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - Request::try_parse
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn request_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Request::try_parse
      Src: /src/tungstenite-rs/src/handshake/server.rs:357,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/server.rs:357,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/server.rs:357,1
    - Dst: create_response
      Src: /src/tungstenite-rs/src/handshake/server.rs:358,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/server.rs:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 348
    functionDepth: 6
    functionLinenumber: 348
    functionLinenumberEnd: 364
    functionName: tests::request_replying
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - Request::try_parse
    - Result::unwrap
    - create_response
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn request_replying()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invalid_sec_websocket_key
      Src: /src/tungstenite-rs/src/handshake/server.rs:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 7
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: tests::test_invalid_websocket_key_empty
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - assert_invalid_sec_websocket_key
    linkageType: ''
    returnType: void
    signature: fn test_invalid_websocket_key_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invalid_sec_websocket_key
      Src: /src/tungstenite-rs/src/handshake/server.rs:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 7
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: tests::test_invalid_websocket_key_too_long
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - assert_invalid_sec_websocket_key
    linkageType: ''
    returnType: void
    signature: fn test_invalid_websocket_key_too_long()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invalid_sec_websocket_key
      Src: /src/tungstenite-rs/src/handshake/server.rs:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 7
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: tests::test_invalid_websocket_key_base64_symbol
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - assert_invalid_sec_websocket_key
    linkageType: ''
    returnType: void
    signature: fn test_invalid_websocket_key_base64_symbol()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_invalid_sec_websocket_key
      Src: /src/tungstenite-rs/src/handshake/server.rs:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 7
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: tests::test_invalid_websocket_key_decoded_length
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - assert_invalid_sec_websocket_key
    linkageType: ''
    returnType: void
    signature: fn test_invalid_websocket_key_decoded_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: request_with_key
      Src: /src/tungstenite-rs/src/handshake/server.rs:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 6
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: tests::test_valid_websocket_key
    functionSourceFile: /src/tungstenite-rs/src/handshake/server.rs
    functionUses: 0
    functionsReached:
    - request_with_key
    linkageType: ''
    returnType: void
    signature: fn test_valid_websocket_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::Request::method
      Src: /src/tungstenite-rs/src/handshake/client.rs:47,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:48,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:48,1
    - Dst: http::Request::version
      Src: /src/tungstenite-rs/src/handshake/client.rs:51,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:52,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:52,1
    - Dst: crate::client::uri_mode
      Src: /src/tungstenite-rs/src/handshake/client.rs:56,1
    - Dst: http::Request::uri
      Src: /src/tungstenite-rs/src/handshake/client.rs:56,1
    - Dst: extract_subprotocols_from_request
      Src: /src/tungstenite-rs/src/handshake/client.rs:58,1
    - Dst: generate_request
      Src: /src/tungstenite-rs/src/handshake/client.rs:62,1
    - Dst: HandshakeMachine::start_write
      Src: /src/tungstenite-rs/src/handshake/client.rs:64,1
    - Dst: derive_accept_key
      Src: /src/tungstenite-rs/src/handshake/client.rs:67,1
    - Dst: bool::as_ref
      Src: /src/tungstenite-rs/src/handshake/client.rs:67,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - stream
    - request
    - config
    argTypes:
    - S
    - Request
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: ClientHandshake::start
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 1
    functionsReached:
    - HandshakeMachine::start_write
    - bool::as_ref
    - http::Request::uri
    - crate::client::uri_mode
    - http::Request::version
    - http::Request::method
    - Ok
    - Err
    - derive_accept_key
    - Error::Protocol
    - extract_subprotocols_from_request
    - generate_request
    linkageType: ''
    returnType: Result
    signature: 'pub fn start(stream: S,request: Request,config: Option<WebSocketConfig>,)
      -> Result<MidHandshake<Self>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:88,1
    - Dst: ProcessingResult::Continue
      Src: /src/tungstenite-rs/src/handshake/client.rs:90,1
    - Dst: HandshakeMachine::start_read
      Src: /src/tungstenite-rs/src/handshake/client.rs:90,1
    - Dst: verify_response
      Src: /src/tungstenite-rs/src/handshake/client.rs:93,1
    - Dst: body_mut
      Src: /src/tungstenite-rs/src/handshake/client.rs:96,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/handshake/client.rs:96,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:97,1
    - Dst: Error::Http
      Src: /src/tungstenite-rs/src/handshake/client.rs:97,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:99,1
    - Dst: WebSocket::from_partially_read
      Src: /src/tungstenite-rs/src/handshake/client.rs:104,1
    - Dst: ProcessingResult::Done
      Src: /src/tungstenite-rs/src/handshake/client.rs:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - finish
    argTypes:
    - StageResult<Self::IncomingData, Self::InternalStream>
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 13
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: ClientHandshake::stage_finished
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - WebSocket::from_partially_read
    - ProcessingResult::Continue
    - Err
    - ProcessingResult::Done
    - verify_response
    - Some
    - Error::Http
    - body_mut
    - Ok
    - HandshakeMachine::start_read
    linkageType: ''
    returnType: Result
    signature: 'fn stage_finished(&mut self,finish: StageResult<Self::IncomingData,
      Self::InternalStream>,) -> Result<ProcessingResult<Self::InternalStream, Self::FinalResult>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/tungstenite-rs/src/handshake/client.rs:113,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:114,1
    - Dst: http::Request::headers
      Src: /src/tungstenite-rs/src/handshake/client.rs:128,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/client.rs:128,1
    - Dst: ok_or_else
      Src: /src/tungstenite-rs/src/handshake/client.rs:128,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:132,1
    - Dst: ProtocolError::InvalidHeader
      Src: /src/tungstenite-rs/src/handshake/client.rs:132,1
    - Dst: HeaderName::from_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:133,1
    - Dst: as_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:133,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:133,1
    - Dst: into
      Src: /src/tungstenite-rs/src/handshake/client.rs:133,1
    - Dst: to_str
      Src: /src/tungstenite-rs/src/handshake/client.rs:128,1
    - Dst: to_owned
      Src: /src/tungstenite-rs/src/handshake/client.rs:128,1
    - Dst: http::Request::headers_mut
      Src: /src/tungstenite-rs/src/handshake/client.rs:146,1
    - Dst: remove
      Src: /src/tungstenite-rs/src/handshake/client.rs:148,1
    - Dst: ok_or_else
      Src: /src/tungstenite-rs/src/handshake/client.rs:148,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:149,1
    - Dst: ProtocolError::InvalidHeader
      Src: /src/tungstenite-rs/src/handshake/client.rs:149,1
    - Dst: HeaderName::from_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:150,1
    - Dst: Self::as_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:150,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:150,1
    - Dst: into
      Src: /src/tungstenite-rs/src/handshake/client.rs:150,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:153,1
    - Dst: iter
      Src: /src/tungstenite-rs/src/handshake/client.rs:167,1
    - Dst: any
      Src: /src/tungstenite-rs/src/handshake/client.rs:167,1
    - Dst: io::Result::eq_ignore_ascii_case
      Src: /src/tungstenite-rs/src/handshake/client.rs:167,1
    - Dst: Self::Result::as_str
      Src: /src/tungstenite-rs/src/handshake/client.rs:170,1
    - Dst: websocket_headers_contains
      Src: /src/tungstenite-rs/src/handshake/client.rs:174,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:175,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:175,1
    - Dst: ProtocolError::InvalidHeader
      Src: /src/tungstenite-rs/src/handshake/client.rs:175,1
    - Dst: Self::Result::clone
      Src: /src/tungstenite-rs/src/handshake/client.rs:175,1
    - Dst: into
      Src: /src/tungstenite-rs/src/handshake/client.rs:175,1
    - Dst: Self::extend_from_slice
      Src: /src/tungstenite-rs/src/handshake/client.rs:190,1
    - Dst: crate::Result::as_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:190,1
    - Dst: Self::extend_from_slice
      Src: /src/tungstenite-rs/src/handshake/client.rs:191,1
    - Dst: Self::extend_from_slice
      Src: /src/tungstenite-rs/src/handshake/client.rs:192,1
    - Dst: as_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:192,1
    - Dst: Self::extend_from_slice
      Src: /src/tungstenite-rs/src/handshake/client.rs:193,1
    - Dst: Self::extend_from_slice
      Src: /src/tungstenite-rs/src/handshake/client.rs:196,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 106
    argCount: 1
    argNames:
    - request
    argTypes:
    - Request
    constantsTouched: []
    func_position:
      end: 199
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 199
    functionName: generate_request
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 6
    functionsReached:
    - http::Request::headers
    - Vec::new
    - to_str
    - unwrap
    - to_owned
    - Self::as_bytes
    - iter
    - ok_or_else
    - Error::Protocol
    - Self::extend_from_slice
    - into
    - Ok
    - HeaderName::from_bytes
    - websocket_headers_contains
    - ProtocolError::InvalidHeader
    - as_bytes
    - crate::Result::as_bytes
    - Self::Result::as_str
    - Err
    - Self::Result::clone
    - any
    - io::Result::eq_ignore_ascii_case
    - remove
    - get
    - http::Request::headers_mut
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_request(mut request: Request) -> Result<(Vec<u8>,
      String)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::Request::headers
      Src: /src/tungstenite-rs/src/handshake/client.rs:202,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/client.rs:202,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:203,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/handshake/client.rs:203,1
    - Dst: to_str
      Src: /src/tungstenite-rs/src/handshake/client.rs:203,1
    - Dst: split
      Src: /src/tungstenite-rs/src/handshake/client.rs:203,1
    - Dst: map
      Src: /src/tungstenite-rs/src/handshake/client.rs:203,1
    - Dst: trim
      Src: /src/tungstenite-rs/src/handshake/client.rs:203,1
    - Dst: to_string
      Src: /src/tungstenite-rs/src/handshake/client.rs:203,1
    - Dst: collect
      Src: /src/tungstenite-rs/src/handshake/client.rs:203,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - request
    argTypes:
    - '&Request'
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: extract_subprotocols_from_request
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 1
    functionsReached:
    - trim
    - http::Request::headers
    - get
    - to_str
    - to_string
    - collect
    - split
    - map
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn extract_subprotocols_from_request(request: &Request) -> Result<Option<Vec<String>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::status
      Src: /src/tungstenite-rs/src/handshake/client.rs:223,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:224,1
    - Dst: Error::Http
      Src: /src/tungstenite-rs/src/handshake/client.rs:224,1
    - Dst: Result::into
      Src: /src/tungstenite-rs/src/handshake/client.rs:224,1
    - Dst: Result::headers
      Src: /src/tungstenite-rs/src/handshake/client.rs:227,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/client.rs:233,1
    - Dst: and_then
      Src: /src/tungstenite-rs/src/handshake/client.rs:233,1
    - Dst: io::Result::to_str
      Src: /src/tungstenite-rs/src/handshake/client.rs:235,1
    - Dst: ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:235,1
    - Dst: map
      Src: /src/tungstenite-rs/src/handshake/client.rs:233,1
    - Dst: io::Result::eq_ignore_ascii_case
      Src: /src/tungstenite-rs/src/handshake/client.rs:236,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/handshake/client.rs:233,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:239,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:239,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/client.rs:245,1
    - Dst: and_then
      Src: /src/tungstenite-rs/src/handshake/client.rs:245,1
    - Dst: io::Result::to_str
      Src: /src/tungstenite-rs/src/handshake/client.rs:247,1
    - Dst: ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:247,1
    - Dst: map
      Src: /src/tungstenite-rs/src/handshake/client.rs:245,1
    - Dst: io::Result::eq_ignore_ascii_case
      Src: /src/tungstenite-rs/src/handshake/client.rs:248,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/handshake/client.rs:245,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:251,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:251,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/client.rs:257,1
    - Dst: map
      Src: /src/tungstenite-rs/src/handshake/client.rs:257,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/handshake/client.rs:257,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:258,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:258,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/client.rs:272,1
    - Dst: is_none
      Src: /src/tungstenite-rs/src/handshake/client.rs:272,1
    - Dst: is_some
      Src: /src/tungstenite-rs/src/handshake/client.rs:272,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:273,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:273,1
    - Dst: ProtocolError::SecWebSocketSubProtocolError
      Src: /src/tungstenite-rs/src/handshake/client.rs:273,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/client.rs:278,1
    - Dst: is_some
      Src: /src/tungstenite-rs/src/handshake/client.rs:278,1
    - Dst: is_none
      Src: /src/tungstenite-rs/src/handshake/client.rs:278,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:279,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:279,1
    - Dst: ProtocolError::SecWebSocketSubProtocolError
      Src: /src/tungstenite-rs/src/handshake/client.rs:279,1
    - Dst: get
      Src: /src/tungstenite-rs/src/handshake/client.rs:284,1
    - Dst: contains
      Src: /src/tungstenite-rs/src/handshake/client.rs:286,1
    - Dst: to_str
      Src: /src/tungstenite-rs/src/handshake/client.rs:286,1
    - Dst: to_string
      Src: /src/tungstenite-rs/src/handshake/client.rs:286,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:287,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:287,1
    - Dst: ProtocolError::SecWebSocketSubProtocolError
      Src: /src/tungstenite-rs/src/handshake/client.rs:287,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:294,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 131
    argCount: 1
    argNames:
    - response
    argTypes:
    - Response
    constantsTouched: []
    func_position:
      end: 295
      start: 220
    functionDepth: 12
    functionLinenumber: 220
    functionLinenumberEnd: 295
    functionName: VerifyData::verify_response
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - is_some
    - unwrap_or
    - to_str
    - Error::Http
    - map
    - Error::Protocol
    - io::Result::to_str
    - Result::headers
    - Result::status
    - and_then
    - to_string
    - Result::into
    - Ok
    - ProtocolError::SecWebSocketSubProtocolError
    - contains
    - Err
    - io::Result::eq_ignore_ascii_case
    - get
    - ok
    - is_none
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_response(&self, response: Response) -> Result<Response>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httparse::Response::new
      Src: /src/tungstenite-rs/src/handshake/client.rs:301,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:302,1
    - Dst: Self::parse
      Src: /src/tungstenite-rs/src/handshake/client.rs:302,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/handshake/client.rs:304,1
    - Dst: Response::from_httparse
      Src: /src/tungstenite-rs/src/handshake/client.rs:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 5
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: Response::try_parse
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 1
    functionsReached:
    - Response::from_httparse
    - Self::parse
    - httparse::Response::new
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn try_parse(buf: &[u8]) -> Result<Option<(usize, Self)>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/tungstenite-rs/src/handshake/client.rs:311,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/client.rs:312,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/client.rs:312,1
    - Dst: HeaderMap::from_httparse
      Src: /src/tungstenite-rs/src/handshake/client.rs:315,1
    - Dst: Response::new
      Src: /src/tungstenite-rs/src/handshake/client.rs:317,1
    - Dst: Result::status_mut
      Src: /src/tungstenite-rs/src/handshake/client.rs:318,1
    - Dst: StatusCode::from_u16
      Src: /src/tungstenite-rs/src/handshake/client.rs:318,1
    - Dst: expect
      Src: /src/tungstenite-rs/src/handshake/client.rs:318,1
    - Dst: Result::headers_mut
      Src: /src/tungstenite-rs/src/handshake/client.rs:319,1
    - Dst: Result::version_mut
      Src: /src/tungstenite-rs/src/handshake/client.rs:322,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/client.rs:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - raw
    argTypes:
    - httparse::Response<'h, 'b>
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: Response::from_httparse
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 1
    functionsReached:
    - Result::status_mut
    - Response::new
    - HeaderMap::from_httparse
    - Result::headers_mut
    - expect
    - Err
    - Result::version_mut
    - Ok
    - Error::Protocol
    - StatusCode::from_u16
    linkageType: ''
    returnType: Result
    signature: 'fn from_httparse(raw: httparse::Response<''h, ''b>) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::random
      Src: /src/tungstenite-rs/src/handshake/client.rs:332,1
    - Dst: encode
      Src: /src/tungstenite-rs/src/handshake/client.rs:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: generate_key
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 3
    functionsReached:
    - encode
    - rand::random
    linkageType: ''
    returnType: String
    signature: pub fn generate_key() -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_key
      Src: /src/tungstenite-rs/src/handshake/client.rs:343,1
    - Dst: generate_key
      Src: /src/tungstenite-rs/src/handshake/client.rs:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: tests::random_keys
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - generate_key
    linkageType: ''
    returnType: void
    signature: fn random_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - host
    - key
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: tests::construct_expected
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    linkageType: ''
    returnType: Vec
    signature: 'fn construct_expected(host: &str, key: &str) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::into_client_request'
      Src: /src/tungstenite-rs/src/handshake/client.rs:373,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:373,1
    - Dst: generate_request
      Src: /src/tungstenite-rs/src/handshake/client.rs:374,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:374,1
    - Dst: construct_expected
      Src: /src/tungstenite-rs/src/handshake/client.rs:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: tests::request_formatting
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - construct_expected
    - generate_request
    - '&str::into_client_request'
    linkageType: ''
    returnType: void
    signature: fn request_formatting()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::into_client_request'
      Src: /src/tungstenite-rs/src/handshake/client.rs:381,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:381,1
    - Dst: generate_request
      Src: /src/tungstenite-rs/src/handshake/client.rs:382,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:382,1
    - Dst: construct_expected
      Src: /src/tungstenite-rs/src/handshake/client.rs:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: tests::request_formatting_with_host
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - construct_expected
    - generate_request
    - '&str::into_client_request'
    linkageType: ''
    returnType: void
    signature: fn request_formatting_with_host()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::into_client_request'
      Src: /src/tungstenite-rs/src/handshake/client.rs:389,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:389,1
    - Dst: generate_request
      Src: /src/tungstenite-rs/src/handshake/client.rs:390,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:390,1
    - Dst: construct_expected
      Src: /src/tungstenite-rs/src/handshake/client.rs:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: tests::request_formatting_with_at
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - construct_expected
    - generate_request
    - '&str::into_client_request'
    linkageType: ''
    returnType: void
    signature: fn request_formatting_with_at()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Response::try_parse
      Src: /src/tungstenite-rs/src/handshake/client.rs:398,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:398,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 6
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: tests::response_parsing
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Result::unwrap
    - Response::try_parse
    linkageType: ''
    returnType: void
    signature: fn response_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::Request::builder
      Src: /src/tungstenite-rs/src/handshake/client.rs:405,1
    - Dst: method
      Src: /src/tungstenite-rs/src/handshake/client.rs:405,1
    - Dst: body
      Src: /src/tungstenite-rs/src/handshake/client.rs:405,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 6
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: tests::invalid_custom_request
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - http::Request::builder
    - method
    - unwrap
    - body
    linkageType: ''
    returnType: void
    signature: fn invalid_custom_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::into_client_request'
      Src: /src/tungstenite-rs/src/handshake/client.rs:413,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:413,1
    - Dst: HeaderValue::from_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:416,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:416,1
    - Dst: http::Request::headers_mut
      Src: /src/tungstenite-rs/src/handshake/client.rs:417,1
    - Dst: insert
      Src: /src/tungstenite-rs/src/handshake/client.rs:417,1
    - Dst: generate_request
      Src: /src/tungstenite-rs/src/handshake/client.rs:420,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 431
    functionName: tests::request_with_non_ascii_header
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - insert
    - http::Request::headers_mut
    - unwrap
    - generate_request
    - Result::unwrap
    - HeaderValue::from_bytes
    - '&str::into_client_request'
    linkageType: ''
    returnType: void
    signature: fn request_with_non_ascii_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::into_client_request'
      Src: /src/tungstenite-rs/src/handshake/client.rs:437,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:437,1
    - Dst: HeaderValue::from_bytes
      Src: /src/tungstenite-rs/src/handshake/client.rs:441,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:441,1
    - Dst: http::Request::headers_mut
      Src: /src/tungstenite-rs/src/handshake/client.rs:442,1
    - Dst: insert
      Src: /src/tungstenite-rs/src/handshake/client.rs:442,1
    - Dst: generate_request
      Src: /src/tungstenite-rs/src/handshake/client.rs:445,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/client.rs:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 434
    functionDepth: 5
    functionLinenumber: 434
    functionLinenumberEnd: 456
    functionName: tests::request_with_latin1_header
    functionSourceFile: /src/tungstenite-rs/src/handshake/client.rs
    functionUses: 0
    functionsReached:
    - insert
    - http::Request::headers_mut
    - unwrap
    - generate_request
    - Result::unwrap
    - HeaderValue::from_bytes
    - '&str::into_client_request'
    linkageType: ''
    returnType: void
    signature: fn request_with_latin1_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: MidHandshake::get_ref
    functionSourceFile: /src/tungstenite-rs/src/handshake/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&HandshakeMachine'
    signature: pub fn get_ref(&self) -> &HandshakeMachine<Role::InternalStream>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: MidHandshake::get_mut
    functionSourceFile: /src/tungstenite-rs/src/handshake/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut HandshakeMachine'
    signature: pub fn get_mut(&mut self) -> &mut HandshakeMachine<Role::InternalStream>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: single_round
      Src: /src/tungstenite-rs/src/handshake/mod.rs:42,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/mod.rs:44,1
    - Dst: HandshakeError::Interrupted
      Src: /src/tungstenite-rs/src/handshake/mod.rs:44,1
    - Dst: stage_finished
      Src: /src/tungstenite-rs/src/handshake/mod.rs:47,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/mod.rs:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 15
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: MidHandshake::handshake
    functionSourceFile: /src/tungstenite-rs/src/handshake/mod.rs
    functionUses: 1
    functionsReached:
    - HandshakeError::Interrupted
    - single_round
    - Ok
    - Err
    - stage_finished
    linkageType: ''
    returnType: Result
    signature: pub fn handshake(mut self) -> Result<Role::FinalResult, HandshakeError<Role>>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: HandshakeError::fmt
    functionSourceFile: /src/tungstenite-rs/src/handshake/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HandshakeError::Failure
      Src: /src/tungstenite-rs/src/handshake/mod.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - Error
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: HandshakeError::from
    functionSourceFile: /src/tungstenite-rs/src/handshake/mod.rs
    functionUses: 0
    functionsReached:
    - HandshakeError::Failure
    linkageType: ''
    returnType: Self
    signature: 'fn from(err: Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sha1::default
      Src: /src/tungstenite-rs/src/handshake/mod.rs:121,1
    - Dst: Self::update
      Src: /src/tungstenite-rs/src/handshake/mod.rs:122,1
    - Dst: Self::update
      Src: /src/tungstenite-rs/src/handshake/mod.rs:123,1
    - Dst: encode
      Src: /src/tungstenite-rs/src/handshake/mod.rs:124,1
    - Dst: Self::finalize
      Src: /src/tungstenite-rs/src/handshake/mod.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - request_key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: derive_accept_key
    functionSourceFile: /src/tungstenite-rs/src/handshake/mod.rs
    functionUses: 2
    functionsReached:
    - Self::finalize
    - encode
    - Self::update
    - Sha1::default
    linkageType: ''
    returnType: String
    signature: 'pub fn derive_accept_key(request_key: &[u8]) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/mod.rs:129,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/mod.rs:130,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/mod.rs:131,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/mod.rs:132,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/mod.rs:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ver
    argTypes:
    - Version
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: version_as_str
    functionSourceFile: /src/tungstenite-rs/src/handshake/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    - Error::Protocol
    linkageType: ''
    returnType: crate::Result
    signature: 'fn version_as_str(ver: Version) -> crate::Result<&''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: tests::key_conversion
    functionSourceFile: /src/tungstenite-rs/src/handshake/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn key_conversion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HandshakeState::Reading
      Src: /src/tungstenite-rs/src/handshake/machine.rs:23,1
    - Dst: ReadBuffer::new
      Src: /src/tungstenite-rs/src/handshake/machine.rs:23,1
    - Dst: AttackCheck::new
      Src: /src/tungstenite-rs/src/handshake/machine.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: HandshakeMachine::start_read
    functionSourceFile: /src/tungstenite-rs/src/handshake/machine.rs
    functionUses: 2
    functionsReached:
    - HandshakeState::Reading
    - ReadBuffer::new
    - AttackCheck::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn start_read(stream: Stream) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HandshakeState::Writing
      Src: /src/tungstenite-rs/src/handshake/machine.rs:27,1
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/handshake/machine.rs:27,1
    - Dst: Bytes::into
      Src: /src/tungstenite-rs/src/handshake/machine.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - data
    argTypes:
    - Stream
    - D
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: HandshakeMachine::start_write
    functionSourceFile: /src/tungstenite-rs/src/handshake/machine.rs
    functionUses: 2
    functionsReached:
    - HandshakeState::Writing
    - Cursor::new
    - Bytes::into
    linkageType: ''
    returnType: Self
    signature: 'pub fn start_write<D: Into<Vec<u8>>>(stream: Stream, data: D) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: HandshakeMachine::get_ref
    functionSourceFile: /src/tungstenite-rs/src/handshake/machine.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Stream'
    signature: pub fn get_ref(&self) -> &Stream
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: HandshakeMachine::get_mut
    functionSourceFile: /src/tungstenite-rs/src/handshake/machine.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Stream'
    signature: pub fn get_mut(&mut self) -> &mut Stream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::read_from
      Src: /src/tungstenite-rs/src/handshake/machine.rs:45,1
    - Dst: IoResult::no_block
      Src: /src/tungstenite-rs/src/handshake/machine.rs:45,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/machine.rs:47,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/handshake/machine.rs:47,1
    - Dst: check_incoming_packet_size
      Src: /src/tungstenite-rs/src/handshake/machine.rs:49,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/machine.rs:53,1
    - Dst: Obj::try_parse
      Src: /src/tungstenite-rs/src/handshake/machine.rs:53,1
    - Dst: Buf::chunk
      Src: /src/tungstenite-rs/src/handshake/machine.rs:53,1
    - Dst: Result::advance
      Src: /src/tungstenite-rs/src/handshake/machine.rs:54,1
    - Dst: RoundResult::StageFinished
      Src: /src/tungstenite-rs/src/handshake/machine.rs:55,1
    - Dst: Result::into_vec
      Src: /src/tungstenite-rs/src/handshake/machine.rs:58,1
    - Dst: RoundResult::Incomplete
      Src: /src/tungstenite-rs/src/handshake/machine.rs:61,1
    - Dst: HandshakeState::Reading
      Src: /src/tungstenite-rs/src/handshake/machine.rs:62,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/machine.rs:67,1
    - Dst: RoundResult::WouldBlock
      Src: /src/tungstenite-rs/src/handshake/machine.rs:67,1
    - Dst: HandshakeState::Reading
      Src: /src/tungstenite-rs/src/handshake/machine.rs:68,1
    - Dst: write
      Src: /src/tungstenite-rs/src/handshake/machine.rs:75,1
    - Dst: Buf::chunk
      Src: /src/tungstenite-rs/src/handshake/machine.rs:75,1
    - Dst: no_block
      Src: /src/tungstenite-rs/src/handshake/machine.rs:75,1
    - Dst: Result::advance
      Src: /src/tungstenite-rs/src/handshake/machine.rs:77,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/machine.rs:78,1
    - Dst: Result::has_remaining
      Src: /src/tungstenite-rs/src/handshake/machine.rs:78,1
    - Dst: RoundResult::Incomplete
      Src: /src/tungstenite-rs/src/handshake/machine.rs:79,1
    - Dst: HandshakeState::Writing
      Src: /src/tungstenite-rs/src/handshake/machine.rs:80,1
    - Dst: RoundResult::Incomplete
      Src: /src/tungstenite-rs/src/handshake/machine.rs:84,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/machine.rs:90,1
    - Dst: RoundResult::WouldBlock
      Src: /src/tungstenite-rs/src/handshake/machine.rs:90,1
    - Dst: HandshakeState::Writing
      Src: /src/tungstenite-rs/src/handshake/machine.rs:91,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/machine.rs:96,1
    - Dst: flush
      Src: /src/tungstenite-rs/src/handshake/machine.rs:96,1
    - Dst: no_block
      Src: /src/tungstenite-rs/src/handshake/machine.rs:96,1
    - Dst: RoundResult::StageFinished
      Src: /src/tungstenite-rs/src/handshake/machine.rs:97,1
    - Dst: StageResult::DoneWriting
      Src: /src/tungstenite-rs/src/handshake/machine.rs:97,1
    - Dst: RoundResult::WouldBlock
      Src: /src/tungstenite-rs/src/handshake/machine.rs:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 41
    functionDepth: 14
    functionLinenumber: 41
    functionLinenumberEnd: 104
    functionName: HandshakeMachine::single_round
    functionSourceFile: /src/tungstenite-rs/src/handshake/machine.rs
    functionUses: 0
    functionsReached:
    - HandshakeState::Writing
    - check_incoming_packet_size
    - Result::into_vec
    - Error::Protocol
    - Result::read_from
    - no_block
    - write
    - StageResult::DoneWriting
    - Buf::chunk
    - Ok
    - RoundResult::StageFinished
    - flush
    - RoundResult::Incomplete
    - Result::has_remaining
    - RoundResult::WouldBlock
    - Err
    - Obj::try_parse
    - IoResult::no_block
    - HandshakeState::Reading
    - Result::advance
    linkageType: ''
    returnType: Result
    signature: 'pub fn single_round<Obj: TryParse>(mut self) -> Result<RoundResult<Obj,
      Stream>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: AttackCheck::new
    functionSourceFile: /src/tungstenite-rs/src/handshake/machine.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/machine.rs:175,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/machine.rs:179,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/handshake/machine.rs:185,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/machine.rs:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 189
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 189
    functionName: AttackCheck::check_incoming_packet_size
    functionSourceFile: /src/tungstenite-rs/src/handshake/machine.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn check_incoming_packet_size(&mut self, size: usize) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HeaderMap::new
      Src: /src/tungstenite-rs/src/handshake/headers.rs:20,1
    - Dst: append
      Src: /src/tungstenite-rs/src/handshake/headers.rs:22,1
    - Dst: HeaderName::from_bytes
      Src: /src/tungstenite-rs/src/handshake/headers.rs:23,1
    - Dst: as_bytes
      Src: /src/tungstenite-rs/src/handshake/headers.rs:23,1
    - Dst: HeaderValue::from_bytes
      Src: /src/tungstenite-rs/src/handshake/headers.rs:24,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/headers.rs:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - raw
    argTypes:
    - '&''b [httparse::Header<''h>]'
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: HeaderMap::from_httparse
    functionSourceFile: /src/tungstenite-rs/src/handshake/headers.rs
    functionUses: 3
    functionsReached:
    - HeaderName::from_bytes
    - as_bytes
    - HeaderMap::new
    - Ok
    - append
    - HeaderValue::from_bytes
    linkageType: ''
    returnType: Result
    signature: 'fn from_httparse(raw: &''b [httparse::Header<''h>]) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/handshake/headers.rs:34,1
    - Dst: httparse::parse_headers
      Src: /src/tungstenite-rs/src/handshake/headers.rs:34,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/handshake/headers.rs:36,1
    - Dst: HeaderMap::from_httparse
      Src: /src/tungstenite-rs/src/handshake/headers.rs:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: HeaderMap::try_parse
    functionSourceFile: /src/tungstenite-rs/src/handshake/headers.rs
    functionUses: 3
    functionsReached:
    - Ok
    - Some
    - HeaderMap::from_httparse
    - httparse::parse_headers
    linkageType: ''
    returnType: Result
    signature: 'fn try_parse(buf: &[u8]) -> Result<Option<(usize, Self)>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HeaderMap::try_parse
      Src: /src/tungstenite-rs/src/handshake/headers.rs:52,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/headers.rs:52,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/headers.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: tests::headers
    functionSourceFile: /src/tungstenite-rs/src/handshake/headers.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - HeaderMap::try_parse
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn headers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HeaderMap::try_parse
      Src: /src/tungstenite-rs/src/handshake/headers.rs:66,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/headers.rs:66,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/handshake/headers.rs:66,1
    - Dst: Result::get_all
      Src: /src/tungstenite-rs/src/handshake/headers.rs:67,1
    - Dst: iter
      Src: /src/tungstenite-rs/src/handshake/headers.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: tests::headers_iter
    functionSourceFile: /src/tungstenite-rs/src/handshake/headers.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - unwrap
    - Result::get_all
    - iter
    - HeaderMap::try_parse
    linkageType: ''
    returnType: void
    signature: fn headers_iter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HeaderMap::try_parse
      Src: /src/tungstenite-rs/src/handshake/headers.rs:78,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/handshake/headers.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: tests::headers_incomplete
    functionSourceFile: /src/tungstenite-rs/src/handshake/headers.rs
    functionUses: 0
    functionsReached:
    - HeaderMap::try_parse
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn headers_incomplete()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:101,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: WebSocketConfig::default
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 5
    functionsReached:
    - Some
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - read_buffer_size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: WebSocketConfig::read_buffer_size
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn read_buffer_size(mut self, read_buffer_size: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - write_buffer_size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: WebSocketConfig::write_buffer_size
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn write_buffer_size(mut self, write_buffer_size: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - max_write_buffer_size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: WebSocketConfig::max_write_buffer_size
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn max_write_buffer_size(mut self, max_write_buffer_size: usize)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - max_message_size
    argTypes:
    - Option<usize>
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: WebSocketConfig::max_message_size
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn max_message_size(mut self, max_message_size: Option<usize>)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - max_frame_size
    argTypes:
    - Option<usize>
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: WebSocketConfig::max_frame_size
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn max_frame_size(mut self, max_frame_size: Option<usize>) ->
      Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - accept_unmasked_frames
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: WebSocketConfig::accept_unmasked_frames
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn accept_unmasked_frames(mut self, accept_unmasked_frames: bool)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: WebSocketConfig::assert_valid
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub(crate) fn assert_valid(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocketContext::new
      Src: /src/tungstenite-rs/src/protocol/mod.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - role
    - config
    argTypes:
    - Stream
    - Role
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 6
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: WebSocket::from_raw_socket
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 8
    functionsReached:
    - WebSocketContext::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_raw_socket(stream: Stream, role: Role, config: Option<WebSocketConfig>)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocketContext::from_partially_read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stream
    - part
    - role
    - config
    argTypes:
    - Stream
    - Vec<u8>
    - Role
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: WebSocket::from_partially_read
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - WebSocketContext::from_partially_read
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_partially_read(stream: Stream,part: Vec<u8>,role: Role,config:
      Option<WebSocketConfig>,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: WebSocket::into_inner
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: pub fn into_inner(self) -> Stream
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: WebSocket::get_ref
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Stream'
    signature: pub fn get_ref(&self) -> &Stream
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: WebSocket::get_mut
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Stream'
    signature: pub fn get_mut(&mut self) -> &mut Stream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_config
      Src: /src/tungstenite-rs/src/protocol/mod.rs:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - set_func
    argTypes:
    - impl FnOnce(&mut WebSocketConfig)
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: WebSocket::set_config
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - set_config
    linkageType: ''
    returnType: void
    signature: 'pub fn set_config(&mut self, set_func: impl FnOnce(&mut WebSocketConfig))'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_config
      Src: /src/tungstenite-rs/src/protocol/mod.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: WebSocket::get_config
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - get_config
    linkageType: ''
    returnType: '&WebSocketConfig'
    signature: pub fn get_config(&self) -> &WebSocketConfig
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: can_read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: WebSocket::can_read
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - can_read
    linkageType: ''
    returnType: bool
    signature: pub fn can_read(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: can_write
      Src: /src/tungstenite-rs/src/protocol/mod.rs:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: WebSocket::can_write
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - can_write
    linkageType: ''
    returnType: bool
    signature: pub fn can_write(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: WebSocket::read
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - read
    linkageType: ''
    returnType: Result
    signature: pub fn read(&mut self) -> Result<Message>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocket::write
      Src: /src/tungstenite-rs/src/protocol/mod.rs:266,1
    - Dst: WebSocket::flush
      Src: /src/tungstenite-rs/src/protocol/mod.rs:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 6
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: WebSocket::send
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - WebSocket::write
    - WebSocket::flush
    linkageType: ''
    returnType: Result
    signature: 'pub fn send(&mut self, message: Message) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/tungstenite-rs/src/protocol/mod.rs:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 5
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: WebSocket::write
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - write
    linkageType: ''
    returnType: Result
    signature: 'pub fn write(&mut self, message: Message) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/tungstenite-rs/src/protocol/mod.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: WebSocket::flush
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 2
    functionsReached:
    - flush
    linkageType: ''
    returnType: Result
    signature: pub fn flush(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tungstenite-rs/src/protocol/mod.rs:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - Option<CloseFrame>
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 13
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: WebSocket::close
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: Result
    signature: 'pub fn close(&mut self, code: Option<CloseFrame>) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocket::read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: WebSocket::read_message
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - WebSocket::read
    linkageType: ''
    returnType: Result
    signature: pub fn read_message(&mut self) -> Result<Message>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocket::send
      Src: /src/tungstenite-rs/src/protocol/mod.rs:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 7
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: WebSocket::write_message
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - WebSocket::send
    linkageType: ''
    returnType: Result
    signature: 'pub fn write_message(&mut self, message: Message) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocket::flush
      Src: /src/tungstenite-rs/src/protocol/mod.rs:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 6
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: WebSocket::write_pending
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - WebSocket::flush
    linkageType: ''
    returnType: Result
    signature: pub fn write_pending(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::unwrap_or_default
      Src: /src/tungstenite-rs/src/protocol/mod.rs:386,1
    - Dst: Self::_new
      Src: /src/tungstenite-rs/src/protocol/mod.rs:387,1
    - Dst: FrameCodec::new
      Src: /src/tungstenite-rs/src/protocol/mod.rs:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - role
    - config
    argTypes:
    - Role
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 5
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: WebSocketContext::new
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - Result::unwrap_or_default
    - Self::_new
    - FrameCodec::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(role: Role, config: Option<WebSocketConfig>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::unwrap_or_default
      Src: /src/tungstenite-rs/src/protocol/mod.rs:395,1
    - Dst: Self::_new
      Src: /src/tungstenite-rs/src/protocol/mod.rs:396,1
    - Dst: FrameCodec::from_partially_read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - part
    - role
    - config
    argTypes:
    - Vec<u8>
    - Role
    - Option<WebSocketConfig>
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: WebSocketContext::from_partially_read
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - Result::unwrap_or_default
    - Self::_new
    - FrameCodec::from_partially_read
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_partially_read(part: Vec<u8>, role: Role, config: Option<WebSocketConfig>)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::assert_valid
      Src: /src/tungstenite-rs/src/protocol/mod.rs:400,1
    - Dst: Result::set_max_out_buffer_len
      Src: /src/tungstenite-rs/src/protocol/mod.rs:401,1
    - Dst: Result::set_out_buffer_write_len
      Src: /src/tungstenite-rs/src/protocol/mod.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - role
    - frame
    - config
    argTypes:
    - Role
    - FrameCodec
    - WebSocketConfig
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: WebSocketContext::_new
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - Result::assert_valid
    - Result::set_out_buffer_write_len
    - Result::set_max_out_buffer_len
    linkageType: ''
    returnType: Self
    signature: 'fn _new(role: Role, mut frame: FrameCodec, config: WebSocketConfig)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_valid
      Src: /src/tungstenite-rs/src/protocol/mod.rs:420,1
    - Dst: set_max_out_buffer_len
      Src: /src/tungstenite-rs/src/protocol/mod.rs:421,1
    - Dst: set_out_buffer_write_len
      Src: /src/tungstenite-rs/src/protocol/mod.rs:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - set_func
    argTypes:
    - impl FnOnce(&mut WebSocketConfig)
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: WebSocketContext::set_config
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - assert_valid
    - set_max_out_buffer_len
    - set_out_buffer_write_len
    linkageType: ''
    returnType: void
    signature: 'pub fn set_config(&mut self, set_func: impl FnOnce(&mut WebSocketConfig))'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: WebSocketContext::get_config
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&WebSocketConfig'
    signature: pub fn get_config(&self) -> &WebSocketConfig
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: can_read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: WebSocketContext::can_read
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - can_read
    linkageType: ''
    returnType: bool
    signature: pub fn can_read(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_active
      Src: /src/tungstenite-rs/src/protocol/mod.rs:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: WebSocketContext::can_write
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - is_active
    linkageType: ''
    returnType: bool
    signature: pub fn can_write(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_not_terminated
      Src: /src/tungstenite-rs/src/protocol/mod.rs:454,1
    - Dst: is_some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:457,1
    - Dst: WebSocketContext::flush
      Src: /src/tungstenite-rs/src/protocol/mod.rs:459,1
    - Dst: kind
      Src: /src/tungstenite-rs/src/protocol/mod.rs:461,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:465,1
    - Dst: can_read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:467,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:469,1
    - Dst: WebSocketContext::read_message_frame
      Src: /src/tungstenite-rs/src/protocol/mod.rs:474,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - stream
    argTypes:
    - '&mut Stream'
    constantsTouched: []
    func_position:
      end: 479
      start: 449
    functionDepth: 7
    functionLinenumber: 449
    functionLinenumberEnd: 479
    functionName: WebSocketContext::read
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - WebSocketContext::read_message_frame
    - is_some
    - kind
    - can_read
    - Ok
    - Err
    - WebSocketContext::flush
    - check_not_terminated
    linkageType: ''
    returnType: Result
    signature: 'pub fn read<Stream>(&mut self, stream: &mut Stream) -> Result<Message>whereStream:
      Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_not_terminated
      Src: /src/tungstenite-rs/src/protocol/mod.rs:496,1
    - Dst: is_active
      Src: /src/tungstenite-rs/src/protocol/mod.rs:499,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:500,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/mod.rs:500,1
    - Dst: Frame::message
      Src: /src/tungstenite-rs/src/protocol/mod.rs:504,1
    - Dst: OpCode::Data
      Src: /src/tungstenite-rs/src/protocol/mod.rs:504,1
    - Dst: Frame::message
      Src: /src/tungstenite-rs/src/protocol/mod.rs:505,1
    - Dst: OpCode::Data
      Src: /src/tungstenite-rs/src/protocol/mod.rs:505,1
    - Dst: Frame::ping
      Src: /src/tungstenite-rs/src/protocol/mod.rs:506,1
    - Dst: WebSocketContext::set_additional
      Src: /src/tungstenite-rs/src/protocol/mod.rs:508,1
    - Dst: Frame::pong
      Src: /src/tungstenite-rs/src/protocol/mod.rs:508,1
    - Dst: WebSocketContext::_write
      Src: /src/tungstenite-rs/src/protocol/mod.rs:510,1
    - Dst: Result::map
      Src: /src/tungstenite-rs/src/protocol/mod.rs:510,1
    - Dst: WebSocketContext::close
      Src: /src/tungstenite-rs/src/protocol/mod.rs:512,1
    - Dst: WebSocketContext::_write
      Src: /src/tungstenite-rs/src/protocol/mod.rs:516,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:516,1
    - Dst: WebSocketContext::flush
      Src: /src/tungstenite-rs/src/protocol/mod.rs:518,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 2
    argNames:
    - stream
    - message
    argTypes:
    - '&mut Stream'
    - Message
    constantsTouched: []
    func_position:
      end: 521
      start: 491
    functionDepth: 6
    functionLinenumber: 491
    functionLinenumberEnd: 521
    functionName: WebSocketContext::write
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - Frame::pong
    - OpCode::Data
    - is_active
    - WebSocketContext::set_additional
    - Result::map
    - Frame::ping
    - Frame::message
    - WebSocketContext::close
    - Ok
    - Err
    - WebSocketContext::_write
    - WebSocketContext::flush
    - Some
    - Error::Protocol
    - check_not_terminated
    linkageType: ''
    returnType: Result
    signature: 'pub fn write<Stream>(&mut self, stream: &mut Stream, message: Message)
      -> Result<()>whereStream: Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocketContext::_write
      Src: /src/tungstenite-rs/src/protocol/mod.rs:532,1
    - Dst: write_out_buffer
      Src: /src/tungstenite-rs/src/protocol/mod.rs:533,1
    - Dst: Result::flush
      Src: /src/tungstenite-rs/src/protocol/mod.rs:534,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - stream
    argTypes:
    - '&mut Stream'
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: WebSocketContext::flush
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 3
    functionsReached:
    - Ok
    - WebSocketContext::_write
    - write_out_buffer
    - Result::flush
    linkageType: ''
    returnType: Result
    signature: 'pub fn flush<Stream>(&mut self, stream: &mut Stream) -> Result<()>whereStream:
      Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocketContext::buffer_frame
      Src: /src/tungstenite-rs/src/protocol/mod.rs:549,1
    - Dst: take
      Src: /src/tungstenite-rs/src/protocol/mod.rs:555,1
    - Dst: WebSocketContext::buffer_frame
      Src: /src/tungstenite-rs/src/protocol/mod.rs:557,1
    - Dst: WebSocketContext::set_additional
      Src: /src/tungstenite-rs/src/protocol/mod.rs:563,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:569,1
    - Dst: can_read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:577,1
    - Dst: write_out_buffer
      Src: /src/tungstenite-rs/src/protocol/mod.rs:584,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:586,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 2
    argNames:
    - stream
    - data
    argTypes:
    - '&mut Stream'
    - Option<Frame>
    constantsTouched: []
    func_position:
      end: 590
      start: 544
    functionDepth: 5
    functionLinenumber: 544
    functionLinenumberEnd: 590
    functionName: WebSocketContext::_write
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 3
    functionsReached:
    - WebSocketContext::set_additional
    - WebSocketContext::buffer_frame
    - take
    - write_out_buffer
    - Ok
    - Err
    - can_read
    linkageType: ''
    returnType: Result
    signature: 'fn _write<Stream>(&mut self, stream: &mut Stream, data: Option<Frame>)
      -> Result<bool>whereStream: Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Frame::close
      Src: /src/tungstenite-rs/src/protocol/mod.rs:603,1
    - Dst: WebSocketContext::_write
      Src: /src/tungstenite-rs/src/protocol/mod.rs:604,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:604,1
    - Dst: WebSocketContext::flush
      Src: /src/tungstenite-rs/src/protocol/mod.rs:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - stream
    - code
    argTypes:
    - '&mut Stream'
    - Option<CloseFrame>
    constantsTouched: []
    func_position:
      end: 607
      start: 597
    functionDepth: 5
    functionLinenumber: 597
    functionLinenumberEnd: 607
    functionName: WebSocketContext::close
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - WebSocketContext::_write
    - Frame::close
    - Some
    - WebSocketContext::flush
    linkageType: ''
    returnType: Result
    signature: 'pub fn close<Stream>(&mut self, stream: &mut Stream, code: Option<CloseFrame>)
      -> Result<()>whereStream: Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_frame
      Src: /src/tungstenite-rs/src/protocol/mod.rs:611,1
    - Dst: check_connection_reset
      Src: /src/tungstenite-rs/src/protocol/mod.rs:611,1
    - Dst: 'std::

        mem::replace'
      Src: /src/tungstenite-rs/src/protocol/mod.rs:623,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:625,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:627,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/mod.rs:627,1
    - Dst: can_read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:633,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:634,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/mod.rs:634,1
    - Dst: Result::header
      Src: /src/tungstenite-rs/src/protocol/mod.rs:642,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:644,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/mod.rs:644,1
    - Dst: Result::is_masked
      Src: /src/tungstenite-rs/src/protocol/mod.rs:648,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:650,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/mod.rs:650,1
    - Dst: Result::header
      Src: /src/tungstenite-rs/src/protocol/mod.rs:653,1
    - Dst: Result::header
      Src: /src/tungstenite-rs/src/protocol/mod.rs:658,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:659,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/mod.rs:659,1
    - Dst: Result::payload
      Src: /src/tungstenite-rs/src/protocol/mod.rs:661,1
    - Dst: '&[u8]::len'
      Src: /src/tungstenite-rs/src/protocol/mod.rs:661,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:662,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/mod.rs:662,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:664,1
    - Dst: WebSocketContext::do_close
      Src: /src/tungstenite-rs/src/protocol/mod.rs:664,1
    - Dst: Result::into_close
      Src: /src/tungstenite-rs/src/protocol/mod.rs:664,1
    - Dst: Option::map
      Src: /src/tungstenite-rs/src/protocol/mod.rs:664,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:666,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/mod.rs:666,1
    - Dst: ProtocolError::UnknownControlFrameType
      Src: /src/tungstenite-rs/src/protocol/mod.rs:666,1
    - Dst: Result::into_payload
      Src: /src/tungstenite-rs/src/protocol/mod.rs:669,1
    - Dst: is_active
      Src: /src/tungstenite-rs/src/protocol/mod.rs:671,1
    - Dst: WebSocketContext::set_additional
      Src: /src/tungstenite-rs/src/protocol/mod.rs:672,1
    - Dst: Frame::pong
      Src: /src/tungstenite-rs/src/protocol/mod.rs:672,1
    - Dst: Bytes::clone
      Src: /src/tungstenite-rs/src/protocol/mod.rs:672,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:674,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:674,1
    - Dst: Message::Ping
      Src: /src/tungstenite-rs/src/protocol/mod.rs:674,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:676,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:676,1
    - Dst: Message::Pong
      Src: /src/tungstenite-rs/src/protocol/mod.rs:676,1
    - Dst: Result::into_payload
      Src: /src/tungstenite-rs/src/protocol/mod.rs:676,1
    - Dst: Result::header
      Src: /src/tungstenite-rs/src/protocol/mod.rs:681,1
    - Dst: as_mut
      Src: /src/tungstenite-rs/src/protocol/mod.rs:683,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:684,1
    - Dst: extend
      Src: /src/tungstenite-rs/src/protocol/mod.rs:686,1
    - Dst: Result::into_payload
      Src: /src/tungstenite-rs/src/protocol/mod.rs:686,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:687,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:689,1
    - Dst: ProtocolError::ExpectedFragment
      Src: /src/tungstenite-rs/src/protocol/mod.rs:689,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:690,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:690,1
    - Dst: Result::into_payload
      Src: /src/tungstenite-rs/src/protocol/mod.rs:690,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:691,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:691,1
    - Dst: Result::into_payload
      Src: /src/tungstenite-rs/src/protocol/mod.rs:691,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:692,1
    - Dst: ProtocolError::UnknownDataFrameType
      Src: /src/tungstenite-rs/src/protocol/mod.rs:692,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:696,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:696,1
    - Dst: take
      Src: /src/tungstenite-rs/src/protocol/mod.rs:696,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/protocol/mod.rs:696,1
    - Dst: complete
      Src: /src/tungstenite-rs/src/protocol/mod.rs:696,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:697,1
    - Dst: check_max_size
      Src: /src/tungstenite-rs/src/protocol/mod.rs:699,1
    - Dst: '&[u8]::len'
      Src: /src/tungstenite-rs/src/protocol/mod.rs:699,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:701,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:701,1
    - Dst: Message::Text
      Src: /src/tungstenite-rs/src/protocol/mod.rs:701,1
    - Dst: '&[u8]::try_into'
      Src: /src/tungstenite-rs/src/protocol/mod.rs:701,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:702,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:702,1
    - Dst: Message::Binary
      Src: /src/tungstenite-rs/src/protocol/mod.rs:702,1
    - Dst: IncompleteMessage::new
      Src: /src/tungstenite-rs/src/protocol/mod.rs:706,1
    - Dst: extend
      Src: /src/tungstenite-rs/src/protocol/mod.rs:707,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:708,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:709,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 185
    argCount: 1
    argNames:
    - stream
    argTypes:
    - '&mut impl Read'
    constantsTouched: []
    func_position:
      end: 714
      start: 610
    functionDepth: 5
    functionLinenumber: 610
    functionLinenumberEnd: 714
    functionName: WebSocketContext::read_message_frame
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - Message::Ping
    - Result::into_close
    - is_active
    - unwrap
    - Result::into_payload
    - Error::Protocol
    - can_read
    - WebSocketContext::do_close
    - Message::Pong
    - take
    - 'std::

      mem::replace'
    - ProtocolError::UnknownControlFrameType
    - IncompleteMessage::new
    - Bytes::clone
    - Ok
    - '&[u8]::len'
    - WebSocketContext::set_additional
    - read_frame
    - ProtocolError::UnknownDataFrameType
    - extend
    - complete
    - '&[u8]::try_into'
    - Err
    - check_connection_reset
    - check_max_size
    - Result::header
    - Result::is_masked
    - as_mut
    - Frame::pong
    - ProtocolError::ExpectedFragment
    - Message::Binary
    - Message::Text
    - Option::map
    - Some
    - Result::payload
    linkageType: ''
    returnType: Result
    signature: 'fn read_message_frame(&mut self, stream: &mut impl Read) -> Result<Option<Message>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map
      Src: /src/tungstenite-rs/src/protocol/mod.rs:724,1
    - Dst: is_allowed
      Src: /src/tungstenite-rs/src/protocol/mod.rs:725,1
    - Dst: Utf8Bytes::from_static
      Src: /src/tungstenite-rs/src/protocol/mod.rs:728,1
    - Dst: Frame::close
      Src: /src/tungstenite-rs/src/protocol/mod.rs:735,1
    - Dst: clone
      Src: /src/tungstenite-rs/src/protocol/mod.rs:735,1
    - Dst: WebSocketContext::set_additional
      Src: /src/tungstenite-rs/src/protocol/mod.rs:737,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:739,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - close
    argTypes:
    - Option<CloseFrame>
    constantsTouched: []
    func_position:
      end: 752
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 752
    functionName: WebSocketContext::do_close
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - is_allowed
    - WebSocketContext::set_additional
    - Utf8Bytes::from_static
    - map
    - clone
    - Frame::close
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn do_close(&mut self, close: Option<CloseFrame>) -> Option<Option<CloseFrame>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::set_random_mask
      Src: /src/tungstenite-rs/src/protocol/mod.rs:764,1
    - Dst: buffer_frame
      Src: /src/tungstenite-rs/src/protocol/mod.rs:769,1
    - Dst: check_connection_reset
      Src: /src/tungstenite-rs/src/protocol/mod.rs:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - frame
    argTypes:
    - '&mut Stream'
    - Frame
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: WebSocketContext::buffer_frame
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - buffer_frame
    - check_connection_reset
    - Result::set_random_mask
    linkageType: ''
    returnType: Result
    signature: 'fn buffer_frame<Stream>(&mut self, stream: &mut Stream, mut frame:
      Frame) -> Result<()>whereStream: Read + Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/tungstenite-rs/src/protocol/mod.rs:774,1
    - Dst: is_none_or
      Src: /src/tungstenite-rs/src/protocol/mod.rs:774,1
    - Dst: '&HandshakeMachine::header'
      Src: /src/tungstenite-rs/src/protocol/mod.rs:777,1
    - Dst: OpCode::Control
      Src: /src/tungstenite-rs/src/protocol/mod.rs:777,1
    - Dst: 'std::

        mem::replace'
      Src: /src/tungstenite-rs/src/protocol/mod.rs:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - add
    argTypes:
    - Frame
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: WebSocketContext::set_additional
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 4
    functionsReached:
    - '&HandshakeMachine::header'
    - is_none_or
    - as_ref
    - 'std::

      mem::replace'
    - OpCode::Control
    linkageType: ''
    returnType: void
    signature: 'fn set_additional(&mut self, add: Frame)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:787,1
    - Dst: Error::Capacity
      Src: /src/tungstenite-rs/src/protocol/mod.rs:787,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size
    - max_size
    argTypes:
    - usize
    - Option<usize>
    constantsTouched: []
    func_position:
      end: 791
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 791
    functionName: check_max_size
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    - Error::Capacity
    linkageType: ''
    returnType: crate::Result
    signature: 'fn check_max_size(size: usize, max_size: Option<usize>) -> crate::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 812
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 812
    functionName: WebSocketState::is_active
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn is_active(self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: WebSocketState::can_read
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn can_read(self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:824,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/mod.rs:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 827
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 827
    functionName: WebSocketState::check_not_terminated
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn check_not_terminated(self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/mod.rs:838,1
    - Dst: WebSocketState::can_read
      Src: /src/tungstenite-rs/src/protocol/mod.rs:839,1
    - Dst: kind
      Src: /src/tungstenite-rs/src/protocol/mod.rs:839,1
    - Dst: Error::Io
      Src: /src/tungstenite-rs/src/protocol/mod.rs:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - WebSocketState
    constantsTouched: []
    func_position:
      end: 847
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 847
    functionName: Result::check_connection_reset
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - Err
    - WebSocketState::can_read
    - kind
    - Error::Io
    linkageType: ''
    returnType: Self
    signature: 'fn check_connection_reset(self, state: WebSocketState) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/mod.rs:876,1
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/src/protocol/mod.rs:881,1
    - Dst: WriteMoc
      Src: /src/tungstenite-rs/src/protocol/mod.rs:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 875
    functionDepth: 6
    functionLinenumber: 875
    functionLinenumberEnd: 886
    functionName: tests::receive_messages
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - WebSocket::from_raw_socket
    - Cursor::new
    - WriteMoc
    linkageType: ''
    returnType: void
    signature: fn receive_messages()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/mod.rs:890,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:894,1
    - Dst: WebSocketConfig::default
      Src: /src/tungstenite-rs/src/protocol/mod.rs:894,1
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/src/protocol/mod.rs:895,1
    - Dst: WriteMoc
      Src: /src/tungstenite-rs/src/protocol/mod.rs:895,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 901
      start: 889
    functionDepth: 6
    functionLinenumber: 889
    functionLinenumberEnd: 901
    functionName: tests::size_limiting_text_fragmented
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - WriteMoc
    - WebSocketConfig::default
    - WebSocket::from_raw_socket
    - Some
    linkageType: ''
    returnType: void
    signature: fn size_limiting_text_fragmented()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/mod.rs:905,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:906,1
    - Dst: WebSocketConfig::default
      Src: /src/tungstenite-rs/src/protocol/mod.rs:906,1
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/src/protocol/mod.rs:907,1
    - Dst: WriteMoc
      Src: /src/tungstenite-rs/src/protocol/mod.rs:907,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/mod.rs:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 904
    functionDepth: 6
    functionLinenumber: 904
    functionLinenumberEnd: 913
    functionName: tests::size_limiting_binary
    functionSourceFile: /src/tungstenite-rs/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - WriteMoc
    - WebSocketConfig::default
    - WebSocket::from_raw_socket
    - Some
    linkageType: ''
    returnType: void
    signature: fn size_limiting_binary()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IncompleteMessageCollector::Binary
      Src: /src/tungstenite-rs/src/protocol/message.rs:99,1
    - Dst: Vec::new
      Src: /src/tungstenite-rs/src/protocol/message.rs:99,1
    - Dst: IncompleteMessageCollector::Text
      Src: /src/tungstenite-rs/src/protocol/message.rs:100,1
    - Dst: StringCollector::new
      Src: /src/tungstenite-rs/src/protocol/message.rs:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - message_type
    argTypes:
    - MessageType
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: IncompleteMessage::new
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 1
    functionsReached:
    - Vec::new
    - StringCollector::new
    - IncompleteMessageCollector::Binary
    - IncompleteMessageCollector::Text
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(message_type: MessageType) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/message.rs:108,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/message.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: IncompleteMessage::len
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 1
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option<usize>::unwrap_or_else
      Src: /src/tungstenite-rs/src/protocol/message.rs:117,1
    - Dst: IncompleteMessage::len
      Src: /src/tungstenite-rs/src/protocol/message.rs:118,1
    - Dst: T::as_ref
      Src: /src/tungstenite-rs/src/protocol/message.rs:119,1
    - Dst: '&Bytes::len'
      Src: /src/tungstenite-rs/src/protocol/message.rs:119,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/message.rs:122,1
    - Dst: Error::Capacity
      Src: /src/tungstenite-rs/src/protocol/message.rs:122,1
    - Dst: extend
      Src: /src/tungstenite-rs/src/protocol/message.rs:130,1
    - Dst: T::as_ref
      Src: /src/tungstenite-rs/src/protocol/message.rs:130,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:131,1
    - Dst: extend
      Src: /src/tungstenite-rs/src/protocol/message.rs:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - tail
    - size_limit
    argTypes:
    - T
    - Option<usize>
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: IncompleteMessage::extend
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - Error::Capacity
    - T::as_ref
    - IncompleteMessage::len
    - extend
    - Ok
    - '&Bytes::len'
    - Err
    - Option<usize>::unwrap_or_else
    linkageType: ''
    returnType: Result
    signature: 'pub fn extend<T: AsRef<[u8]>>(&mut self, tail: T, size_limit: Option<usize>)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:140,1
    - Dst: Message::Binary
      Src: /src/tungstenite-rs/src/protocol/message.rs:140,1
    - Dst: into
      Src: /src/tungstenite-rs/src/protocol/message.rs:140,1
    - Dst: into_string
      Src: /src/tungstenite-rs/src/protocol/message.rs:142,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:143,1
    - Dst: Message::text
      Src: /src/tungstenite-rs/src/protocol/message.rs:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: IncompleteMessage::complete
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - into_string
    - Message::Binary
    - Message::text
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn complete(self) -> Result<Message>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::Text
      Src: /src/tungstenite-rs/src/protocol/message.rs:182,1
    - Dst: S::into
      Src: /src/tungstenite-rs/src/protocol/message.rs:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: Message::text
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 4
    functionsReached:
    - Message::Text
    - S::into
    linkageType: ''
    returnType: Message
    signature: 'pub fn text<S>(string: S) -> MessagewhereS: Into<Utf8Bytes>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::Binary
      Src: /src/tungstenite-rs/src/protocol/message.rs:190,1
    - Dst: B::into
      Src: /src/tungstenite-rs/src/protocol/message.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bin
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Message::binary
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 4
    functionsReached:
    - B::into
    - Message::Binary
    linkageType: ''
    returnType: Message
    signature: 'pub fn binary<B>(bin: B) -> MessagewhereB: Into<Bytes>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Message::is_text
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_text(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Message::is_binary
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_binary(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Message::is_ping
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_ping(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: Message::is_pong
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_pong(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: Message::is_close
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_close(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/message.rs:221,1
    - Dst: Bytes::len
      Src: /src/tungstenite-rs/src/protocol/message.rs:223,1
    - Dst: Bytes::as_ref
      Src: /src/tungstenite-rs/src/protocol/message.rs:225,1
    - Dst: '&Bytes::map'
      Src: /src/tungstenite-rs/src/protocol/message.rs:225,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/message.rs:225,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/protocol/message.rs:225,1
    - Dst: Result::len
      Src: /src/tungstenite-rs/src/protocol/message.rs:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: Message::len
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 2
    functionsReached:
    - Bytes::len
    - Bytes::as_ref
    - unwrap_or
    - '&Bytes::map'
    - len
    - Result::len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::len
      Src: /src/tungstenite-rs/src/protocol/message.rs:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: Message::is_empty
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - Message::len
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/tungstenite-rs/src/protocol/message.rs:239,1
    - Dst: <_>::default
      Src: /src/tungstenite-rs/src/protocol/message.rs:241,1
    - Dst: into
      Src: /src/tungstenite-rs/src/protocol/message.rs:242,1
    - Dst: Result::into_payload
      Src: /src/tungstenite-rs/src/protocol/message.rs:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: Message::into_data
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - into
    - <_>::default
    - Result::into_payload
    linkageType: ''
    returnType: Bytes
    signature: pub fn into_data(self) -> Bytes
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:250,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:252,1
    - Dst: Bytes::try_into
      Src: /src/tungstenite-rs/src/protocol/message.rs:252,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:254,1
    - Dst: <_>::default
      Src: /src/tungstenite-rs/src/protocol/message.rs:254,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:255,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:256,1
    - Dst: Result::into_text
      Src: /src/tungstenite-rs/src/protocol/message.rs:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: Message::into_text
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::try_into
    - <_>::default
    - Result::into_text
    linkageType: ''
    returnType: Result
    signature: pub fn into_text(self) -> Result<Utf8Bytes>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:264,1
    - Dst: as_str
      Src: /src/tungstenite-rs/src/protocol/message.rs:264,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:266,1
    - Dst: str::from_utf8
      Src: /src/tungstenite-rs/src/protocol/message.rs:266,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:268,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:269,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/message.rs:270,1
    - Dst: Result::to_text
      Src: /src/tungstenite-rs/src/protocol/message.rs:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: Message::to_text
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Result::to_text
    - as_str
    - str::from_utf8
    linkageType: ''
    returnType: Result
    signature: pub fn to_text(&self) -> Result<&str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::binary
      Src: /src/tungstenite-rs/src/protocol/message.rs:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: Message::from
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 5
    functionsReached:
    - Message::binary
    linkageType: ''
    returnType: Self
    signature: 'fn from(data: Vec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - Utf8Bytes
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Bytes::from
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(Utf8Bytes(bytes): Utf8Bytes) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::to_text
      Src: /src/tungstenite-rs/src/protocol/message.rs:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: Message::fmt
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - Message::to_text
    linkageType: ''
    returnType: StdResult
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> StdResult<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Frame::message
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:495,1
    - Dst: Bytes::from_static
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:495,1
    - Dst: OpCode::Data
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: tests::display
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - OpCode::Data
    - Bytes::from_static
    - Frame::message
    linkageType: ''
    returnType: void
    signature: fn display()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::from
      Src: /src/tungstenite-rs/src/protocol/message.rs:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: tests::binary_convert
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - Message::from
    linkageType: ''
    returnType: void
    signature: fn binary_convert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::from_iter
      Src: /src/tungstenite-rs/src/protocol/message.rs:349,1
    - Dst: Message::from
      Src: /src/tungstenite-rs/src/protocol/message.rs:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: tests::binary_convert_bytes
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - Message::from
    - Bytes::from_iter
    linkageType: ''
    returnType: void
    signature: fn binary_convert_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::from
      Src: /src/tungstenite-rs/src/protocol/message.rs:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: tests::binary_convert_vec
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - Message::from
    linkageType: ''
    returnType: void
    signature: fn binary_convert_vec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/tungstenite-rs/src/protocol/message.rs:366,1
    - Dst: Message::from
      Src: /src/tungstenite-rs/src/protocol/message.rs:367,1
    - Dst: Self::into
      Src: /src/tungstenite-rs/src/protocol/message.rs:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: tests::binary_convert_into_bytes
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - clone
    - Self::into
    - Message::from
    linkageType: ''
    returnType: void
    signature: fn binary_convert_into_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::from
      Src: /src/tungstenite-rs/src/protocol/message.rs:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: tests::text_convert
    functionSourceFile: /src/tungstenite-rs/src/protocol/message.rs
    functionUses: 0
    functionsReached:
    - Message::from
    linkageType: ''
    returnType: void
    signature: fn text_convert()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: CloseFrame::fmt
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OpCode::Control
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: FrameHeader::default
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 4
    functionsReached:
    - OpCode::Control
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Cursor::position'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:77,1
    - Dst: Self::parse_internal
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:78,1
    - Dst: '&Cursor::set_position'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - '&mut Cursor<impl AsRef<[u8]>>'
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: FrameHeader::parse
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 3
    functionsReached:
    - Self::parse_internal
    - '&Cursor::position'
    - '&Cursor::set_position'
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse(cursor: &mut Cursor<impl AsRef<[u8]>>) -> Result<Option<(Self,
      u64)>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LengthFormat::for_length
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:90,1
    - Dst: Self::extra_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:90,1
    - Dst: is_some
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - length
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: FrameHeader::len
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - is_some
    - LengthFormat::for_length
    - Self::extra_bytes
    linkageType: ''
    returnType: usize
    signature: 'pub fn len(&self, length: u64) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:95,1
    - Dst: LengthFormat::for_length
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:104,1
    - Dst: Self::length_byte
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:106,1
    - Dst: is_some
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:106,1
    - Dst: '&mut impl Write::write_all'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:108,1
    - Dst: '&mut impl Write::write_all'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:112,1
    - Dst: to_be_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:112,1
    - Dst: '&mut impl Write::write_all'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:115,1
    - Dst: to_be_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:115,1
    - Dst: '&mut impl Write::write_all'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:120,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - u64
    - '&mut impl Write'
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: FrameHeader::format
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - is_some
    - to_be_bytes
    - Self::length_byte
    - into
    - Ok
    - '&mut impl Write::write_all'
    - LengthFormat::for_length
    linkageType: ''
    returnType: Result
    signature: 'pub fn format(&self, length: u64, output: &mut impl Write) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:130,1
    - Dst: 'super::

        mask::generate_mask'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: FrameHeader::set_random_mask
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - 'super::

      mask::generate_mask'
    - Some
    linkageType: ''
    returnType: void
    signature: pub(crate) fn set_random_mask(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Cursor::read'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:141,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:142,1
    - Dst: OpCode::from
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:157,1
    - Dst: LengthFormat::for_byte
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:165,1
    - Dst: Self::extra_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:165,1
    - Dst: mem::size_of::<u64>
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:167,1
    - Dst: '&Cursor::read_exact'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:171,1
    - Dst: kind
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:172,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:172,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:173,1
    - Dst: into
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:173,1
    - Dst: u64::from_be_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:174,1
    - Dst: u64::from
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:177,1
    - Dst: '&Cursor::read'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:183,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:184,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:186,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:195,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:195,1
    - Dst: ProtocolError::InvalidOpcode
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:195,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:202,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 85
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - '&mut impl Read'
    constantsTouched: []
    func_position:
      end: 203
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 203
    functionName: FrameHeader::parse_internal
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - '&Cursor::read'
    - LengthFormat::for_byte
    - '&Cursor::read_exact'
    - Self::extra_bytes
    - kind
    - Err
    - ProtocolError::InvalidOpcode
    - OpCode::from
    - mem::size_of::<u64>
    - into
    - Some
    - Error::Protocol
    - Ok
    - u64::from
    - u64::from_be_bytes
    linkageType: ''
    returnType: Result
    signature: 'fn parse_internal(cursor: &mut impl Read) -> Result<Option<(Self,
      u64)>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:218,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: Frame::len
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 1
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Frame::len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: Frame::is_empty
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - Frame::len
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: Frame::header
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&FrameHeader'
    signature: pub fn header(&self) -> &FrameHeader
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: Frame::header_mut
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut FrameHeader'
    signature: pub fn header_mut(&mut self) -> &mut FrameHeader
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: Frame::payload
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn payload(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: Frame::is_masked
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - is_some
    linkageType: ''
    returnType: bool
    signature: pub(crate) fn is_masked(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_random_mask
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: Frame::set_random_mask
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - set_random_mask
    linkageType: ''
    returnType: void
    signature: pub(crate) fn set_random_mask(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Frame::into_text
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - try_into
    linkageType: ''
    returnType: StdResult
    signature: pub fn into_text(self) -> StdResult<Utf8Bytes, Utf8Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Frame::into_payload
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bytes
    signature: pub fn into_payload(self) -> Bytes
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::str::from_utf8
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: Frame::to_text
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - std::str::from_utf8
    linkageType: ''
    returnType: Result
    signature: pub fn to_text(&self) -> Result<&str, Utf8Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:282,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:283,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:284,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:284,1
    - Dst: u16::from_be_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:286,1
    - Dst: into
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:286,1
    - Dst: Utf8Bytes::try_from
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:287,1
    - Dst: slice
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:287,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:288,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: Frame::into_close
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - u16::from_be_bytes
    - Utf8Bytes::try_from
    - slice
    - Err
    - into
    - Some
    - Ok
    - len
    - Error::Protocol
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn into_close(self) -> Result<Option<CloseFrame>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameHeader::default
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:298,1
    - Dst: Bytes::into
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - data
    - opcode
    - is_final
    argTypes:
    - impl Into<Bytes>
    - OpCode
    - bool
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: Frame::message
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 2
    functionsReached:
    - Bytes::into
    - FrameHeader::default
    linkageType: ''
    returnType: Frame
    signature: 'pub fn message(data: impl Into<Bytes>, opcode: OpCode, is_final: bool)
      -> Frame'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OpCode::Control
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:308,1
    - Dst: FrameHeader::default
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:309,1
    - Dst: Bytes::into
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - impl Into<Bytes>
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: Frame::pong
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 3
    functionsReached:
    - OpCode::Control
    - FrameHeader::default
    - Bytes::into
    linkageType: ''
    returnType: Frame
    signature: 'pub fn pong(data: impl Into<Bytes>) -> Frame'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OpCode::Control
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:320,1
    - Dst: FrameHeader::default
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:321,1
    - Dst: Bytes::into
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - impl Into<Bytes>
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: Frame::ping
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 4
    functionsReached:
    - OpCode::Control
    - FrameHeader::default
    - Bytes::into
    linkageType: ''
    returnType: Frame
    signature: 'pub fn ping(data: impl Into<Bytes>) -> Frame'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::with_capacity
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:331,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:331,1
    - Dst: extend
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:332,1
    - Dst: u16::from
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:332,1
    - Dst: u16::to_be_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:332,1
    - Dst: extend_from_slice
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:333,1
    - Dst: as_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:333,1
    - Dst: <_>::default
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:336,1
    - Dst: FrameHeader::default
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:339,1
    - Dst: '&[u8]::into'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Option<CloseFrame>
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: Frame::close
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 2
    functionsReached:
    - <_>::default
    - as_bytes
    - BytesMut::with_capacity
    - FrameHeader::default
    - u16::from
    - u16::to_be_bytes
    - extend
    - extend_from_slice
    - '&[u8]::into'
    - len
    linkageType: ''
    returnType: Frame
    signature: 'pub fn close(msg: Option<CloseFrame>) -> Frame'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - header
    - payload
    argTypes:
    - FrameHeader
    - Bytes
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: Frame::from_payload
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_payload(header: FrameHeader, payload: Bytes) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:349,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:349,1
    - Dst: take
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:351,1
    - Dst: Vec::from
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:352,1
    - Dst: mem::take
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:352,1
    - Dst: 'super::

        mask::apply_mask'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:353,1
    - Dst: '&mut impl Write::write_all'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:354,1
    - Dst: '&mut impl Write::write_all'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:356,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - output
    argTypes:
    - '&mut impl Write'
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: Frame::format
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - format
    - mem::take
    - take
    - len
    - Ok
    - '&mut impl Write::write_all'
    - Vec::from
    - 'super::

      mask::apply_mask'
    linkageType: ''
    returnType: Result
    signature: 'pub fn format(mut self, output: &mut impl Write) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:363,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:363,1
    - Dst: Result::len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:365,1
    - Dst: Result::extend_from_slice
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:366,1
    - Dst: take
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:368,1
    - Dst: 'super::

        mask::apply_mask'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:369,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: Frame::format_into_buf
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - format
    - take
    - Result::extend_from_slice
    - Ok
    - len
    - 'super::

      mask::apply_mask'
    - Result::len
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn format_into_buf(mut self, buf: &mut Vec<u8>) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: Frame::fmt
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LengthFormat::U8
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - length
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: LengthFormat::for_length
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 2
    functionsReached:
    - LengthFormat::U8
    linkageType: ''
    returnType: Self
    signature: 'fn for_length(length: u64) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: LengthFormat::extra_bytes
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn extra_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: LengthFormat::length_byte
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn length_byte(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LengthFormat::U8
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - byte
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: LengthFormat::for_byte
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 1
    functionsReached:
    - LengthFormat::U8
    linkageType: ''
    returnType: Self
    signature: 'fn for_byte(byte: u8) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:468,1
    - Dst: FrameHeader::parse
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:469,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:469,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:469,1
    - Dst: Vec::new
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:471,1
    - Dst: Self::read_to_end
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:472,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:472,1
    - Dst: Frame::from_payload
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:473,1
    - Dst: '&[u8]::into'
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 475
    functionName: tests::parse
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - FrameHeader::parse
    - Vec::new
    - Self::read_to_end
    - unwrap
    - '&[u8]::into'
    - Frame::from_payload
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn parse()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Frame::ping
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:479,1
    - Dst: Vec::with_capacity
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:480,1
    - Dst: Result::len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:480,1
    - Dst: Result::format
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:481,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 4
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: tests::format
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - Frame::ping
    - Result::format
    - Vec::with_capacity
    - Result::unwrap
    - Result::len
    linkageType: ''
    returnType: void
    signature: fn format()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Frame::ping
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:487,1
    - Dst: Vec::with_capacity
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:488,1
    - Dst: Result::len
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:488,1
    - Dst: Result::format_into_buf
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:489,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/protocol/frame/frame.rs:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 4
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: tests::format_into_buf
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/frame.rs
    functionUses: 0
    functionsReached:
    - Result::format_into_buf
    - Frame::ping
    - Vec::with_capacity
    - Result::unwrap
    - Result::len
    linkageType: ''
    returnType: void
    signature: fn format_into_buf()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: Data::fmt
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: Control::fmt
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io::Result::fmt
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:68,1
    - Dst: Vec::fmt
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: OpCode::fmt
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached:
    - Vec::fmt
    - io::Result::fmt
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - OpCode
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: u8::from
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(code: OpCode) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Data
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:103,1
    - Dst: Data
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:104,1
    - Dst: Data
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:105,1
    - Dst: Data
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:106,1
    - Dst: self::Data::Reserved
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:106,1
    - Dst: Control
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:107,1
    - Dst: Control
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:108,1
    - Dst: Control
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:109,1
    - Dst: Control
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:110,1
    - Dst: self::Control::Reserved
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - byte
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: OpCode::from
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 1
    functionsReached:
    - Data
    - self::Data::Reserved
    - self::Control::Reserved
    - Control
    linkageType: ''
    returnType: OpCode
    signature: 'fn from(byte: u8) -> OpCode'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: CloseCode::is_allowed
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_allowed(self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CloseCode::into
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: CloseCode::fmt
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached:
    - CloseCode::into
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - '&''t CloseCode'
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: u16::from
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 1
    functionsReached:
    - into
    linkageType: ''
    returnType: u16
    signature: 'fn from(code: &''t CloseCode) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bad
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:252,1
    - Dst: Reserved
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:253,1
    - Dst: Iana
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:254,1
    - Dst: Library
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:255,1
    - Dst: Bad
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: CloseCode::from
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached:
    - Library
    - Bad
    - Reserved
    - Iana
    linkageType: ''
    returnType: CloseCode
    signature: 'fn from(code: u16) -> CloseCode'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: tests::opcode_from_u8
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn opcode_from_u8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OpCode::Data
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:273,1
    - Dst: Message::into
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: tests::opcode_into_u8
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached:
    - Message::into
    - OpCode::Data
    linkageType: ''
    returnType: void
    signature: fn opcode_into_u8()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: tests::closecode_from_u16
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn closecode_from_u16()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Message::into
      Src: /src/tungstenite-rs/src/protocol/frame/coding.rs:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: tests::closecode_into_u16
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/coding.rs
    functionUses: 0
    functionsReached:
    - Message::into
    linkageType: ''
    returnType: void
    signature: fn closecode_into_u16()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameCodec::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: FrameSocket::new
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 5
    functionsReached:
    - FrameCodec::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(stream: Stream) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameCodec::from_partially_read
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - part
    argTypes:
    - Stream
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: FrameSocket::from_partially_read
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 1
    functionsReached:
    - FrameCodec::from_partially_read
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_partially_read(stream: Stream, part: Vec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: FrameSocket::into_inner
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (Stream, BytesMut)
    signature: pub fn into_inner(self) -> (Stream, BytesMut)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: FrameSocket::get_ref
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Stream'
    signature: pub fn get_ref(&self) -> &Stream
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: FrameSocket::get_mut
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Stream'
    signature: pub fn get_mut(&mut self) -> &mut Stream
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_frame
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - Option<usize>
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: FrameSocket::read
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - read_frame
    linkageType: ''
    returnType: Result
    signature: 'pub fn read(&mut self, max_size: Option<usize>) -> Result<Option<Frame>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameSocket::write
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:80,1
    - Dst: FrameSocket::flush
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Frame
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 6
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: FrameSocket::send
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - FrameSocket::write
    - FrameSocket::flush
    linkageType: ''
    returnType: Result
    signature: 'pub fn send(&mut self, frame: Frame) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_frame
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Frame
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: FrameSocket::write
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 1
    functionsReached:
    - buffer_frame
    linkageType: ''
    returnType: Result
    signature: 'pub fn write(&mut self, frame: Frame) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_out_buffer
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:97,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:98,1
    - Dst: flush
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: FrameSocket::flush
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 1
    functionsReached:
    - Ok
    - write_out_buffer
    - flush
    linkageType: ''
    returnType: Result
    signature: pub fn flush(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::with_capacity
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:126,1
    - Dst: usize::max
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:127,1
    - Dst: <_>::default
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - in_buf_len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: FrameCodec::new
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 2
    functionsReached:
    - BytesMut::with_capacity
    - <_>::default
    - usize::max
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn new(in_buf_len: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::from_iter
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:137,1
    - Dst: reserve
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:138,1
    - Dst: usize::saturating_sub
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:138,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:138,1
    - Dst: usize::max
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:141,1
    - Dst: <_>::default
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - part
    - min_in_buf_len
    argTypes:
    - Vec<u8>
    - usize
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: FrameCodec::from_partially_read
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 2
    functionsReached:
    - <_>::default
    - usize::max
    - usize::saturating_sub
    - len
    - BytesMut::from_iter
    - reserve
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn from_partially_read(part: Vec<u8>, min_in_buf_len: usize)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - max
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: FrameCodec::set_max_out_buffer_len
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn set_max_out_buffer_len(&mut self, max: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: FrameCodec::set_out_buffer_write_len
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn set_out_buffer_write_len(&mut self, len: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Result::unwrap_or_else
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:168,1
    - Dst: is_none
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:171,1
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:172,1
    - Dst: FrameHeader::parse
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:173,1
    - Dst: '&Cursor::position'
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:174,1
    - Dst: bytes::Buf::advance
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:175,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:182,1
    - Dst: Error::Capacity
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:182,1
    - Dst: reserve
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:191,1
    - Dst: reserve
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:193,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:199,1
    - Dst: split_to
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:200,1
    - Dst: FrameCodec::read_in
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:205,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:207,1
    - Dst: take
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:211,1
    - Dst: expect
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:211,1
    - Dst: take
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:215,1
    - Dst: apply_mask
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:218,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:224,1
    - Dst: Error::Protocol
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:224,1
    - Dst: Frame::from_payload
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:228,1
    - Dst: '&[u8]::freeze'
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:228,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:230,1
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 105
    argCount: 4
    argNames:
    - stream
    - max_size
    - unmask
    - accept_unmasked
    argTypes:
    - '&mut impl Read'
    - Option<usize>
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 231
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 231
    functionName: FrameCodec::read_frame
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - FrameCodec::read_in
    - expect
    - Frame::from_payload
    - len
    - Error::Protocol
    - Error::Capacity
    - take
    - bytes::Buf::advance
    - Ok
    - apply_mask
    - Cursor::new
    - '&[u8]::freeze'
    - crate::Result::unwrap_or_else
    - Err
    - FrameHeader::parse
    - '&Cursor::position'
    - split_to
    - Some
    - reserve
    - is_none
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn read_frame(&mut self,stream: &mut impl Read,max_size:
      Option<usize>,unmask: bool,accept_unmasked: bool,) -> Result<Option<Frame>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:235,1
    - Dst: resize
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:237,1
    - Dst: capacity
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:237,1
    - Dst: min
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:237,1
    - Dst: Result::read
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:238,1
    - Dst: truncate
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:239,1
    - Dst: as_ref
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:239,1
    - Dst: '&Bytes::copied'
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:239,1
    - Dst: unwrap_or
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - stream
    argTypes:
    - '&mut impl Read'
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: FrameCodec::read_in
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 1
    functionsReached:
    - min
    - as_ref
    - Result::read
    - truncate
    - '&Bytes::copied'
    - unwrap_or
    - resize
    - capacity
    - len
    linkageType: ''
    returnType: io::Result
    signature: 'fn read_in(&mut self, stream: &mut impl Read) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:254,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:254,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:255,1
    - Dst: Error::WriteBufferFull
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:255,1
    - Dst: Message::Frame
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:255,1
    - Dst: into
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:255,1
    - Dst: reserve
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:260,1
    - Dst: Result::len
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:260,1
    - Dst: Result::format_into_buf
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:261,1
    - Dst: Result::expect
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:261,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:263,1
    - Dst: FrameCodec::write_out_buffer
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:264,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 2
    argNames:
    - stream
    - frame
    argTypes:
    - '&mut Stream'
    - Frame
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: FrameCodec::buffer_frame
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - Error::WriteBufferFull
    - Result::format_into_buf
    - Result::expect
    - into
    - FrameCodec::write_out_buffer
    - Ok
    - Err
    - len
    - reserve
    - Message::Frame
    - Result::len
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn buffer_frame<Stream>(&mut self, stream: &mut Stream,
      frame: Frame) -> Result<()>whereStream: Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:277,1
    - Dst: Result::write
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:278,1
    - Dst: Err
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:281,1
    - Dst: IoError::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:281,1
    - Dst: Self::into
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:281,1
    - Dst: drain
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:287,1
    - Dst: Ok
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - stream
    argTypes:
    - '&mut Stream'
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: FrameCodec::write_out_buffer
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 1
    functionsReached:
    - Self::into
    - Err
    - Ok
    - drain
    - Result::write
    - IoError::new
    - is_empty
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn write_out_buffer<Stream>(&mut self, stream: &mut Stream)
      -> Result<()>whereStream: Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env_logger::init
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:305,1
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:307,1
    - Dst: FrameSocket::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:311,1
    - Dst: Self::into_inner
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 304
    functionDepth: 5
    functionLinenumber: 304
    functionLinenumberEnd: 322
    functionName: tests::read_frames
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - Self::into_inner
    - Cursor::new
    - env_logger::init
    - FrameSocket::new
    linkageType: ''
    returnType: void
    signature: fn read_frames()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:326,1
    - Dst: FrameSocket::from_partially_read
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: tests::from_partially_read
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - FrameSocket::from_partially_read
    linkageType: ''
    returnType: void
    signature: fn from_partially_read()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameSocket::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:336,1
    - Dst: Vec::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:336,1
    - Dst: Frame::ping
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:338,1
    - Dst: Self::send
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:339,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:339,1
    - Dst: Frame::pong
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:341,1
    - Dst: Self::send
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:342,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:342,1
    - Dst: Self::into_inner
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 7
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: tests::write_frames
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - Frame::pong
    - Vec::new
    - Self::send
    - Frame::ping
    - Self::into_inner
    - Result::unwrap
    - FrameSocket::new
    linkageType: ''
    returnType: void
    signature: fn write_frames()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:350,1
    - Dst: FrameSocket::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:353,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 5
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: tests::parse_overflow
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - Self::read
    - Cursor::new
    - FrameSocket::new
    linkageType: ''
    returnType: void
    signature: fn parse_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:359,1
    - Dst: FrameSocket::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: tests::size_limit_hit
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - FrameSocket::new
    linkageType: ''
    returnType: void
    signature: fn size_limit_hit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:372,1
    - Dst: FrameSocket::new
      Src: /src/tungstenite-rs/src/protocol/frame/mod.rs:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 5
    functionLinenumber: 369
    functionLinenumberEnd: 378
    functionName: tests::length_above_usize_max_rejected
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mod.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - FrameSocket::new
    linkageType: ''
    returnType: void
    signature: fn length_above_usize_max_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:13,1
    - Dst: Bytes::from_static
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:13,1
    - Dst: crate::Result::as_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - '&''static str'
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: Utf8Bytes::from_static
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 2
    functionsReached:
    - crate::Result::as_bytes
    - Bytes::from_static
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub const fn from_static(str: &''static str) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str::from_utf8_unchecked
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: Utf8Bytes::as_str
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 6
    functionsReached:
    - str::from_utf8_unchecked
    linkageType: ''
    returnType: '&str'
    signature: pub fn as_str(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - Bytes
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Utf8Bytes::from_bytes_unchecked
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub unsafe fn from_bytes_unchecked(bytes: Bytes) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Utf8Bytes::as_str
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Utf8Bytes::deref
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - Utf8Bytes::as_str
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Utf8Bytes::as_ref
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Bytes'
    signature: fn as_ref(&self) -> &Bytes
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Utf8Bytes::as_str
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Utf8Bytes::borrow
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - Utf8Bytes::as_str
    linkageType: ''
    returnType: '&str'
    signature: fn borrow(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Utf8Bytes::as_str
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:83,1
    - Dst: '&str::hash'
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - '&mut H'
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Utf8Bytes::hash
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - Utf8Bytes::as_str
    - '&str::hash'
    linkageType: ''
    returnType: void
    signature: 'fn hash<H: core::hash::Hasher>(&self, state: &mut H)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:89,1
    - Dst: Utf8Bytes::cmp
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Utf8Bytes::partial_cmp
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - Utf8Bytes::cmp
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Utf8Bytes::as_str
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:95,1
    - Dst: '&str::cmp'
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:95,1
    - Dst: '&Self::as_str'
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Utf8Bytes::cmp
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 1
    functionsReached:
    - Utf8Bytes::as_str
    - '&str::cmp'
    - '&Self::as_str'
    linkageType: ''
    returnType: std::cmp::Ordering
    signature: 'fn cmp(&self, other: &Self) -> std::cmp::Ordering'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Utf8Bytes::as_str
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&T'
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Utf8Bytes::eq
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - Utf8Bytes::as_str
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &T) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&HandshakeMachine::write_str'
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:119,1
    - Dst: Utf8Bytes::as_str
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Utf8Bytes::fmt
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - Utf8Bytes::as_str
    - '&HandshakeMachine::write_str'
    linkageType: ''
    returnType: std::fmt::Result
    signature: 'fn fmt(&self, f: &mut std::fmt::Formatter<''_>) -> std::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::from
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:147,1
    - Dst: Self::try_into
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Utf8Bytes::try_from
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 1
    functionsReached:
    - Self::try_into
    - Bytes::from
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(v: Vec<u8>) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_str
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:168,1
    - Dst: crate::Result::into
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&String'
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Utf8Bytes::from
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - as_str
    - crate::Result::into
    linkageType: ''
    returnType: Self
    signature: 'fn from(s: &String) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Utf8Bytes::from_static
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:190,1
    - Dst: RandomState::new
      Src: /src/tungstenite-rs/src/protocol/frame/utf8.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: tests::hash_consistency
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/utf8.rs
    functionUses: 0
    functionsReached:
    - RandomState::new
    - Utf8Bytes::from_static
    linkageType: ''
    returnType: void
    signature: fn hash_consistency()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::random
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: generate_mask
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mask.rs
    functionUses: 1
    functionsReached:
    - rand::random
    linkageType: ''
    returnType: '[u8; 4]'
    signature: pub fn generate_mask() -> [u8; 4]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: apply_mask_fast32
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - mask
    argTypes:
    - '&mut [u8]'
    - '[u8; 4]'
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: apply_mask
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mask.rs
    functionUses: 3
    functionsReached:
    - apply_mask_fast32
    linkageType: ''
    returnType: void
    signature: 'pub fn apply_mask(buf: &mut [u8], mask: [u8; 4])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::iter_mut
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:16,1
    - Dst: enumerate
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - mask
    argTypes:
    - '&mut [u8]'
    - '[u8; 4]'
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: apply_mask_fallback
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mask.rs
    functionUses: 2
    functionsReached:
    - enumerate
    - Result::iter_mut
    linkageType: ''
    returnType: void
    signature: 'fn apply_mask_fallback(buf: &mut [u8], mask: [u8; 4])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from_ne_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:24,1
    - Dst: align_to_mut::<u32>
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:26,1
    - Dst: apply_mask_fallback
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:27,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:28,1
    - Dst: rotate_left
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:31,1
    - Dst: rotate_right
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:33,1
    - Dst: iter_mut
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:38,1
    - Dst: apply_mask_fallback
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:41,1
    - Dst: to_ne_bytes
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - buf
    - mask
    argTypes:
    - '&mut [u8]'
    - '[u8; 4]'
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: apply_mask_fast32
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mask.rs
    functionUses: 2
    functionsReached:
    - align_to_mut::<u32>
    - u32::from_ne_bytes
    - rotate_right
    - iter_mut
    - rotate_left
    - apply_mask_fallback
    - len
    - to_ne_bytes
    linkageType: ''
    returnType: void
    signature: 'pub fn apply_mask_fast32(buf: &mut [u8], mask: [u8; 4])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:56,1
    - Dst: len
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:60,1
    - Dst: to_vec
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:63,1
    - Dst: apply_mask_fallback
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:64,1
    - Dst: to_vec
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:66,1
    - Dst: apply_mask_fast32
      Src: /src/tungstenite-rs/src/protocol/frame/mask.rs:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 14
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: tests::test_apply_mask
    functionSourceFile: /src/tungstenite-rs/src/protocol/frame/mask.rs
    functionUses: 0
    functionsReached:
    - apply_mask_fallback
    - to_vec
    - len
    - apply_mask_fast32
    linkageType: ''
    returnType: void
    signature: fn test_apply_mask()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:17,1
    - Dst: Result::len
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: WriteMoc::write
    functionSourceFile: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Result::len
    linkageType: ''
    returnType: io::Result
    signature: 'fn write(&mut self, buf: &[u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: WriteMoc::flush
    functionSourceFile: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: WriteMoc::read
    functionSourceFile: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:3,1
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:4,1
    - Dst: WriteMoc
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:4,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:5,1
    - Dst: io::Result::ok
      Src: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 6
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: fuzz_target
    functionSourceFile: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - WriteMoc
    - io::Result::ok
    - Self::read
    - WebSocket::from_raw_socket
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - HandshakeError<Role>
    constantsTouched: []
    func_position:
      end: 14
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 14
    functionName: must_not_block
    functionSourceFile: /src/tungstenite-rs/examples/autobahn-server.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Error
    signature: 'fn must_not_block<Role: HandshakeRole>(err: HandshakeError<Role>)
      -> Error'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tungstenite::accept
      Src: /src/tungstenite-rs/examples/autobahn-server.rs:17,1
    - Dst: Result::map_err
      Src: /src/tungstenite-rs/examples/autobahn-server.rs:17,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/examples/autobahn-server.rs:20,1
    - Dst: Self::send
      Src: /src/tungstenite-rs/examples/autobahn-server.rs:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - stream
    argTypes:
    - TcpStream
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 19
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: handle_client
    functionSourceFile: /src/tungstenite-rs/examples/autobahn-server.rs
    functionUses: 0
    functionsReached:
    - tungstenite::accept
    - Self::read
    - Result::map_err
    - Self::send
    linkageType: ''
    returnType: Result
    signature: 'fn handle_client(stream: TcpStream) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env_logger::init
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:9,1
    - Dst: TcpListener::bind
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:10,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:10,1
    - Dst: incoming
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:11,1
    - Dst: std::thread::spawn
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:12,1
    - Dst: headers
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:17,1
    - Dst: Result::headers_mut
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:22,1
    - Dst: append
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:23,1
    - Dst: '&str::parse'
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:23,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:23,1
    - Dst: append
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:24,1
    - Dst: '&str::parse'
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:24,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:24,1
    - Dst: Ok
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:26,1
    - Dst: Some
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:29,1
    - Dst: WebSocketConfig::default
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:30,1
    - Dst: Self::accept_unmasked_frames
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:30,1
    - Dst: accept_hdr_with_config
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:38,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:38,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:38,1
    - Dst: read
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:41,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:41,1
    - Dst: is_binary
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:42,1
    - Dst: is_text
      Src: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 8
    functionDepth: 13
    functionLinenumber: 8
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs
    functionUses: 0
    functionsReached:
    - is_text
    - '&str::parse'
    - Result::unwrap
    - Self::accept_unmasked_frames
    - is_binary
    - std::thread::spawn
    - WebSocketConfig::default
    - unwrap
    - headers
    - env_logger::init
    - Some
    - Result::headers_mut
    - read
    - Ok
    - append
    - accept_hdr_with_config
    - TcpListener::bind
    - incoming
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:8,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:9,1
    - Dst: Self::close
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:10,1
    - Dst: Ok
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:11,1
    - Dst: into_text
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:11,1
    - Dst: as_str
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:11,1
    - Dst: into_text()?.as_str().parse::<u32>
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:11,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:11,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 7
    functionDepth: 12
    functionLinenumber: 7
    functionLinenumberEnd: 12
    functionName: get_case_count
    functionSourceFile: /src/tungstenite-rs/examples/autobahn-client.rs
    functionUses: 0
    functionsReached:
    - into_text()?.as_str().parse::<u32>
    - as_str
    - Self::close
    - Self::read
    - into_text
    - unwrap
    - Ok
    - tungstenite::connect
    linkageType: ''
    returnType: Result
    signature: fn get_case_count() -> Result<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:15,1
    - Dst: Self::close
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:16,1
    - Dst: Ok
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 14
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: update_reports
    functionSourceFile: /src/tungstenite-rs/examples/autobahn-client.rs
    functionUses: 0
    functionsReached:
    - Self::close
    - Ok
    - tungstenite::connect
    linkageType: ''
    returnType: Result
    signature: fn update_reports() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tungstenite::connect
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:23,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:25,1
    - Dst: Self::send
      Src: /src/tungstenite-rs/examples/autobahn-client.rs:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - case
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 14
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: run_test
    functionSourceFile: /src/tungstenite-rs/examples/autobahn-client.rs
    functionUses: 0
    functionsReached:
    - Self::send
    - Self::read
    - tungstenite::connect
    linkageType: ''
    returnType: Result
    signature: 'fn run_test(case: u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/tungstenite-rs/benches/read.rs:15,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/read.rs:15,1
    - Dst: Bytes::is_empty
      Src: /src/tungstenite-rs/benches/read.rs:16,1
    - Dst: Err
      Src: /src/tungstenite-rs/benches/read.rs:17,1
    - Dst: io::Error::new
      Src: /src/tungstenite-rs/benches/read.rs:17,1
    - Dst: Bytes::len
      Src: /src/tungstenite-rs/benches/read.rs:19,1
    - Dst: usize::min
      Src: /src/tungstenite-rs/benches/read.rs:19,1
    - Dst: '&mut [u8]::len'
      Src: /src/tungstenite-rs/benches/read.rs:19,1
    - Dst: copy_from_slice
      Src: /src/tungstenite-rs/benches/read.rs:20,1
    - Dst: Bytes::drain
      Src: /src/tungstenite-rs/benches/read.rs:20,1
    - Dst: as_slice
      Src: /src/tungstenite-rs/benches/read.rs:20,1
    - Dst: Ok
      Src: /src/tungstenite-rs/benches/read.rs:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - to
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: MockIo::read
    functionSourceFile: /src/tungstenite-rs/benches/read.rs
    functionUses: 0
    functionsReached:
    - Bytes::len
    - io::Error::new
    - copy_from_slice
    - '&mut [u8]::len'
    - as_slice
    - lock
    - unwrap
    - usize::min
    - Bytes::drain
    - Ok
    - Bytes::is_empty
    - Err
    linkageType: ''
    returnType: io::Result
    signature: 'fn read(&mut self, to: &mut [u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/tungstenite-rs/benches/read.rs:27,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/read.rs:27,1
    - Dst: write
      Src: /src/tungstenite-rs/benches/read.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: MockIo::write
    functionSourceFile: /src/tungstenite-rs/benches/read.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - lock
    - write
    linkageType: ''
    returnType: io::Result
    signature: 'fn write(&mut self, buf: &[u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/tungstenite-rs/benches/read.rs:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: MockIo::flush
    functionSourceFile: /src/tungstenite-rs/benches/read.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MockIo::default
      Src: /src/tungstenite-rs/benches/read.rs:37,1
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/benches/read.rs:38,1
    - Dst: Self::clone
      Src: /src/tungstenite-rs/benches/read.rs:39,1
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/benches/read.rs:46,1
    - Dst: '&mut criterion::Bencher<''_>::iter_batched'
      Src: /src/tungstenite-rs/benches/read.rs:48,1
    - Dst: Self::send
      Src: /src/tungstenite-rs/benches/read.rs:52,1
    - Dst: Message::binary
      Src: /src/tungstenite-rs/benches/read.rs:54,1
    - Dst: to_le_bytes
      Src: /src/tungstenite-rs/benches/read.rs:54,1
    - Dst: to_vec
      Src: /src/tungstenite-rs/benches/read.rs:54,1
    - Dst: Message::text
      Src: /src/tungstenite-rs/benches/read.rs:55,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/benches/read.rs:52,1
    - Dst: Self::read
      Src: /src/tungstenite-rs/benches/read.rs:65,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/benches/read.rs:65,1
    - Dst: as_ref
      Src: /src/tungstenite-rs/benches/read.rs:67,1
    - Dst: '&Bytes::try_into'
      Src: /src/tungstenite-rs/benches/read.rs:67,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/read.rs:67,1
    - Dst: u64::from_le_bytes
      Src: /src/tungstenite-rs/benches/read.rs:68,1
    - Dst: as_str
      Src: /src/tungstenite-rs/benches/read.rs:71,1
    - Dst: len
      Src: /src/tungstenite-rs/benches/read.rs:71,1
    - Dst: parse
      Src: /src/tungstenite-rs/benches/read.rs:71,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/read.rs:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 2
    argNames:
    - role
    - b
    argTypes:
    - Role
    - '&mut criterion::Bencher<''_>'
    constantsTouched: []
    func_position:
      end: 80
      start: 36
    functionDepth: 12
    functionLinenumber: 36
    functionLinenumberEnd: 80
    functionName: b::e::n::c::h::m::a::r::k::read_100k
    functionSourceFile: /src/tungstenite-rs/benches/read.rs
    functionUses: 0
    functionsReached:
    - as_str
    - to_vec
    - unwrap
    - len
    - '&Bytes::try_into'
    - '&mut criterion::Bencher<''_>::iter_batched'
    - as_ref
    - Self::send
    - Self::read
    - io::Result::unwrap
    - Message::binary
    - Result::unwrap
    - Self::clone
    - to_le_bytes
    - MockIo::default
    - Message::text
    - parse
    - u64::from_le_bytes
    - WebSocket::from_raw_socket
    linkageType: ''
    returnType: void
    signature: 'fn read_100k(role: Role, b: &mut criterion::Bencher<''_>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::bench_function
      Src: /src/tungstenite-rs/benches/write.rs:68,1
    - Dst: write_100k_then_flush
      Src: /src/tungstenite-rs/benches/write.rs:69,1
    - Dst: Vec::bench_function
      Src: /src/tungstenite-rs/benches/write.rs:72,1
    - Dst: write_100k_then_flush
      Src: /src/tungstenite-rs/benches/write.rs:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 14
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: benchmark
    functionSourceFile: /src/tungstenite-rs/benches/write.rs
    functionUses: 0
    functionsReached:
    - write_100k_then_flush
    - Vec::bench_function
    linkageType: ''
    returnType: void
    signature: 'fn benchmark(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TcpListener::bind
      Src: /src/tungstenite-rs/benches/e2e.rs:20,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:20,1
    - Dst: Self::local_addr
      Src: /src/tungstenite-rs/benches/e2e.rs:21,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:21,1
    - Dst: port
      Src: /src/tungstenite-rs/benches/e2e.rs:21,1
    - Dst: WebSocketConfig::default
      Src: /src/tungstenite-rs/benches/e2e.rs:22,1
    - Dst: Self::max_message_size
      Src: /src/tungstenite-rs/benches/e2e.rs:22,1
    - Dst: Self::max_frame_size
      Src: /src/tungstenite-rs/benches/e2e.rs:22,1
    - Dst: std::thread::spawn
      Src: /src/tungstenite-rs/benches/e2e.rs:24,1
    - Dst: Self::accept
      Src: /src/tungstenite-rs/benches/e2e.rs:26,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:26,1
    - Dst: tungstenite::accept_hdr_with_config
      Src: /src/tungstenite-rs/benches/e2e.rs:28,1
    - Dst: Ok
      Src: /src/tungstenite-rs/benches/e2e.rs:28,1
    - Dst: Some
      Src: /src/tungstenite-rs/benches/e2e.rs:28,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:28,1
    - Dst: read
      Src: /src/tungstenite-rs/benches/e2e.rs:30,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:30,1
    - Dst: to_ascii_uppercase
      Src: /src/tungstenite-rs/benches/e2e.rs:31,1
    - Dst: send
      Src: /src/tungstenite-rs/benches/e2e.rs:35,1
    - Dst: Message::text
      Src: /src/tungstenite-rs/benches/e2e.rs:35,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:35,1
    - Dst: tungstenite::client::connect_with_config
      Src: /src/tungstenite-rs/benches/e2e.rs:39,1
    - Dst: Some
      Src: /src/tungstenite-rs/benches/e2e.rs:41,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:39,1
    - Dst: SmallRng::seed_from_u64
      Src: /src/tungstenite-rs/benches/e2e.rs:45,1
    - Dst: '&mut criterion::Bencher<''_>::iter_batched'
      Src: /src/tungstenite-rs/benches/e2e.rs:47,1
    - Dst: sample_string
      Src: /src/tungstenite-rs/benches/e2e.rs:49,1
    - Dst: to_ascii_uppercase
      Src: /src/tungstenite-rs/benches/e2e.rs:50,1
    - Dst: StdResult::send
      Src: /src/tungstenite-rs/benches/e2e.rs:54,1
    - Dst: Message::text
      Src: /src/tungstenite-rs/benches/e2e.rs:54,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:54,1
    - Dst: StdResult::read
      Src: /src/tungstenite-rs/benches/e2e.rs:55,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:55,1
    - Dst: StdResult::send
      Src: /src/tungstenite-rs/benches/e2e.rs:65,1
    - Dst: Message::binary
      Src: /src/tungstenite-rs/benches/e2e.rs:65,1
    - Dst: Result::unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:65,1
    - Dst: join
      Src: /src/tungstenite-rs/benches/e2e.rs:66,1
    - Dst: unwrap
      Src: /src/tungstenite-rs/benches/e2e.rs:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 82
    argCount: 2
    argNames:
    - msg_len
    - b
    argTypes:
    - usize
    - '&mut criterion::Bencher<''_>'
    constantsTouched: []
    func_position:
      end: 67
      start: 19
    functionDepth: 15
    functionLinenumber: 19
    functionLinenumberEnd: 67
    functionName: b::e::n::c::h::m::a::r::k::send_and_recv
    functionSourceFile: /src/tungstenite-rs/benches/e2e.rs
    functionUses: 0
    functionsReached:
    - StdResult::read
    - unwrap
    - Self::local_addr
    - read
    - send
    - to_ascii_uppercase
    - SmallRng::seed_from_u64
    - '&mut criterion::Bencher<''_>::iter_batched'
    - Self::accept
    - Self::max_frame_size
    - Self::max_message_size
    - io::Result::unwrap
    - join
    - Message::binary
    - Ok
    - Result::unwrap
    - sample_string
    - TcpListener::bind
    - port
    - StdResult::send
    - tungstenite::client::connect_with_config
    - Message::text
    - std::thread::spawn
    - WebSocketConfig::default
    - tungstenite::accept_hdr_with_config
    - Some
    linkageType: ''
    returnType: void
    signature: 'fn send_and_recv(msg_len: usize, b: &mut criterion::Bencher<''_>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: HumanLen::fmt
    functionSourceFile: /src/tungstenite-rs/benches/e2e.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::fmt::Result
    signature: 'fn fmt(&self, f: &mut std::fmt::Formatter<''_>) -> std::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::with_capacity
      Src: /src/tungstenite-rs/benches/buffer.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: StackReadBuffer::new
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - Self::with_capacity
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_partially_read
      Src: /src/tungstenite-rs/benches/buffer.rs:29,1
    - Dst: Vec::with_capacity
      Src: /src/tungstenite-rs/benches/buffer.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: StackReadBuffer::with_capacity
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - Vec::with_capacity
    - Self::from_partially_read
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_capacity(capacity: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/tungstenite-rs/benches/buffer.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - part
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: StackReadBuffer::from_partially_read
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_partially_read(part: Vec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: StackReadBuffer::as_cursor
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&Cursor'
    signature: pub fn as_cursor(&self) -> &Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: StackReadBuffer::as_cursor_mut
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&mut Cursor'
    signature: pub fn as_cursor_mut(&mut self) -> &mut Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackReadBuffer::clean_up
      Src: /src/tungstenite-rs/benches/buffer.rs:51,1
    - Dst: into_inner
      Src: /src/tungstenite-rs/benches/buffer.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 14
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: StackReadBuffer::into_vec
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - into_inner
    - StackReadBuffer::clean_up
    linkageType: ''
    returnType: Vec
    signature: pub fn into_vec(mut self) -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackReadBuffer::clean_up
      Src: /src/tungstenite-rs/benches/buffer.rs:59,1
    - Dst: Result::read
      Src: /src/tungstenite-rs/benches/buffer.rs:60,1
    - Dst: get_mut
      Src: /src/tungstenite-rs/benches/buffer.rs:61,1
    - Dst: extend_from_slice
      Src: /src/tungstenite-rs/benches/buffer.rs:61,1
    - Dst: Ok
      Src: /src/tungstenite-rs/benches/buffer.rs:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - stream
    argTypes:
    - '&mut S'
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 14
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: StackReadBuffer::read_from
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - Result::read
    - extend_from_slice
    - StackReadBuffer::clean_up
    - Ok
    - get_mut
    linkageType: ''
    returnType: IoResult
    signature: 'pub fn read_from<S: Read>(&mut self, stream: &mut S) -> IoResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: position
      Src: /src/tungstenite-rs/benches/buffer.rs:67,1
    - Dst: get_mut
      Src: /src/tungstenite-rs/benches/buffer.rs:68,1
    - Dst: drain
      Src: /src/tungstenite-rs/benches/buffer.rs:68,1
    - Dst: count
      Src: /src/tungstenite-rs/benches/buffer.rs:68,1
    - Dst: set_position
      Src: /src/tungstenite-rs/benches/buffer.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 13
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: StackReadBuffer::clean_up
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 2
    functionsReached:
    - position
    - count
    - drain
    - set_position
    - get_mut
    linkageType: ''
    returnType: void
    signature: fn clean_up(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buf::remaining
      Src: /src/tungstenite-rs/benches/buffer.rs:75,1
    - Dst: StackReadBuffer::as_cursor
      Src: /src/tungstenite-rs/benches/buffer.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: StackReadBuffer::remaining
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - Buf::remaining
    - StackReadBuffer::as_cursor
    linkageType: ''
    returnType: usize
    signature: fn remaining(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buf::chunk
      Src: /src/tungstenite-rs/benches/buffer.rs:79,1
    - Dst: StackReadBuffer::as_cursor
      Src: /src/tungstenite-rs/benches/buffer.rs:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: StackReadBuffer::chunk
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - Buf::chunk
    - StackReadBuffer::as_cursor
    linkageType: ''
    returnType: '&[u8]'
    signature: fn chunk(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buf::advance
      Src: /src/tungstenite-rs/benches/buffer.rs:83,1
    - Dst: StackReadBuffer::as_cursor_mut
      Src: /src/tungstenite-rs/benches/buffer.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cnt
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: StackReadBuffer::advance
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - StackReadBuffer::as_cursor_mut
    - Buf::advance
    linkageType: ''
    returnType: void
    signature: 'fn advance(&mut self, cnt: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/tungstenite-rs/benches/buffer.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: StackReadBuffer::default
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InputBuffer::with_capacity
      Src: /src/tungstenite-rs/benches/buffer.rs:95,1
    - Dst: '&[u8]::read_from'
      Src: /src/tungstenite-rs/benches/buffer.rs:96,1
    - Dst: IoResult::unwrap
      Src: /src/tungstenite-rs/benches/buffer.rs:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - impl Read
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 14
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: input_buffer
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::read_from'
    - InputBuffer::with_capacity
    - IoResult::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn input_buffer(mut stream: impl Read)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackReadBuffer::<CHUNK_SIZE>::new
      Src: /src/tungstenite-rs/benches/buffer.rs:101,1
    - Dst: '&[u8]::read_from'
      Src: /src/tungstenite-rs/benches/buffer.rs:102,1
    - Dst: IoResult::unwrap
      Src: /src/tungstenite-rs/benches/buffer.rs:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - impl Read
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 15
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: stack_read_buffer
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::read_from'
    - IoResult::unwrap
    - StackReadBuffer::<CHUNK_SIZE>::new
    linkageType: ''
    returnType: void
    signature: 'fn stack_read_buffer(mut stream: impl Read)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadBuffer::<CHUNK_SIZE>::new
      Src: /src/tungstenite-rs/benches/buffer.rs:107,1
    - Dst: '&[u8]::read_from'
      Src: /src/tungstenite-rs/benches/buffer.rs:108,1
    - Dst: IoResult::unwrap
      Src: /src/tungstenite-rs/benches/buffer.rs:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - impl Read
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 15
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: heap_read_buffer
    functionSourceFile: /src/tungstenite-rs/benches/buffer.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::read_from'
    - IoResult::unwrap
    - ReadBuffer::<CHUNK_SIZE>::new
    linkageType: ''
    returnType: void
    signature: 'fn heap_read_buffer(mut stream: impl Read)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Instant::now
      Src: /src/tungstenite-rs/benches/write.rs:45,1
    - Dst: Bytes::elapsed
      Src: /src/tungstenite-rs/benches/write.rs:46,1
    - Dst: hint::spin_loop
      Src: /src/tungstenite-rs/benches/write.rs:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - duration
    argTypes:
    - Duration
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: spin
    functionSourceFile: /src/tungstenite-rs/benches/write.rs
    functionUses: 2
    functionsReached:
    - Bytes::elapsed
    - Instant::now
    - hint::spin_loop
    linkageType: ''
    returnType: void
    signature: 'fn spin(duration: Duration)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocket::from_raw_socket
      Src: /src/tungstenite-rs/benches/write.rs:54,1
    - Dst: MockWrite
      Src: /src/tungstenite-rs/benches/write.rs:54,1
    - Dst: Vec::with_capacity
      Src: /src/tungstenite-rs/benches/write.rs:54,1
    - Dst: '&mut criterion::Bencher<''_>::iter'
      Src: /src/tungstenite-rs/benches/write.rs:56,1
    - Dst: Message::binary
      Src: /src/tungstenite-rs/benches/write.rs:59,1
    - Dst: to_le_bytes
      Src: /src/tungstenite-rs/benches/write.rs:59,1
    - Dst: to_vec
      Src: /src/tungstenite-rs/benches/write.rs:59,1
    - Dst: Message::text
      Src: /src/tungstenite-rs/benches/write.rs:60,1
    - Dst: Self::write
      Src: /src/tungstenite-rs/benches/write.rs:62,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/benches/write.rs:62,1
    - Dst: Self::flush
      Src: /src/tungstenite-rs/benches/write.rs:64,1
    - Dst: io::Result::unwrap
      Src: /src/tungstenite-rs/benches/write.rs:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - role
    - b
    argTypes:
    - Role
    - '&mut criterion::Bencher<''_>'
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 13
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: b::e::n::c::h::m::a::r::k::write_100k_then_flush
    functionSourceFile: /src/tungstenite-rs/benches/write.rs
    functionUses: 0
    functionsReached:
    - Message::text
    - '&mut criterion::Bencher<''_>::iter'
    - Self::flush
    - to_vec
    - MockWrite
    - to_le_bytes
    - io::Result::unwrap
    - Self::write
    - Message::binary
    - Vec::with_capacity
    - WebSocket::from_raw_socket
    linkageType: ''
    returnType: void
    signature: 'fn write_100k_then_flush(role: Role, b: &mut criterion::Bencher<''_>)'
Fuzzer filename: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - test_headers
  source_file: /src/tungstenite-rs/tests/client_headers.rs
- function_names:
  - test_receive_after_init_close
  source_file: /src/tungstenite-rs/tests/receive_after_init_close.rs
- function_names:
  - do_test
  - test_server_close
  - test_evil_server_close
  - test_client_close
  source_file: /src/tungstenite-rs/tests/connection_reset.rs
- function_names:
  - wss_url_fails_when_no_tls_support
  source_file: /src/tungstenite-rs/tests/wss_fails_when_no_tls.rs
- function_names:
  - MockWrite::read
  - MockWrite::write
  - MockWrite::flush
  - read_usage_auto_pong_flush
  source_file: /src/tungstenite-rs/tests/auto_pong_flush.rs
- function_names:
  - create_http_request
  - server_thread
  - test_server_send_no_subprotocol
  - test_server_sent_subprotocol_none_requested
  - test_invalid_subprotocol
  - test_request_multiple_subprotocols
  - test_request_multiple_subprotocols_with_initial_unknown
  - test_request_single_subprotocol
  source_file: /src/tungstenite-rs/tests/handshake.rs
- function_names:
  - test_no_send_after_close
  source_file: /src/tungstenite-rs/tests/no_send_after_close.rs
- function_names:
  - test_with_url
  source_file: /src/tungstenite-rs/tests/url_feature.rs
- function_names:
  - MockWrite::read
  - MockWrite::write
  - MockWrite::flush
  - write_flush_behaviour
  source_file: /src/tungstenite-rs/tests/write.rs
- function_names:
  - encryption::wrap_stream
  - encryption::wrap_stream
  - encryption::wrap_stream
  - client_tls
  - client_tls_with_config
  source_file: /src/tungstenite-rs/src/tls.rs
- function_names:
  - accept_with_config
  - accept
  - accept_hdr_with_config
  - accept_hdr
  source_file: /src/tungstenite-rs/src/server.rs
- function_names:
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - TlsError::from
  - TlsError::from
  - test::error_size
  - test::tls_error_size
  - test::protocol_error_size
  source_file: /src/tungstenite-rs/src/error.rs
- function_names:
  - c::o::n::n::e::c::t::_::w::i::t::h::_::c::o::n::f::i::g::try_client_handshake
  - c::o::n::n::e::c::t::_::w::i::t::h::_::c::o::n::f::i::g::create_request
  - connect_with_config
  - connect
  - connect_to_some
  - uri_mode
  - client_with_config
  - client
  - '&str::into_client_request'
  - '&String::into_client_request'
  - String::into_client_request
  - '&Uri::into_client_request'
  - Uri::into_client_request
  - '&url::Url::into_client_request'
  - url::Url::into_client_request
  - Request::into_client_request
  - httparse::Request::into_client_request
  - ClientRequestBuilder::new
  - ClientRequestBuilder::with_header
  - ClientRequestBuilder::with_sub_protocol
  - ClientRequestBuilder::into_client_request
  source_file: /src/tungstenite-rs/src/client.rs
- function_names:
  - TcpStream::set_nodelay
  - TlsStream::set_nodelay
  - StreamOwned::set_nodelay
  - MaybeTlsStream::fmt
  - MaybeTlsStream::read
  - MaybeTlsStream::write
  - MaybeTlsStream::flush
  - MaybeTlsStream::set_nodelay
  source_file: /src/tungstenite-rs/src/stream.rs
- function_names:
  - IoError::into_non_blocking
  - Error::into_non_blocking
  - StdResult::no_block
  source_file: /src/tungstenite-rs/src/util.rs
- function_names: []
  source_file: /src/tungstenite-rs/src/lib.rs
- function_names:
  - DecodeError::fmt
  - decode
  - Incomplete::new
  - Incomplete::try_complete
  - Incomplete::take_buffer
  - Incomplete::try_complete_offsets
  source_file: /src/tungstenite-rs/src/utf8.rs
- function_names:
  - ReadBuffer::new
  - ReadBuffer::with_capacity
  - ReadBuffer::from_partially_read
  - ReadBuffer::as_cursor
  - ReadBuffer::as_cursor_mut
  - ReadBuffer::into_vec
  - ReadBuffer::read_from
  - ReadBuffer::clean_up
  - ReadBuffer::remaining
  - ReadBuffer::chunk
  - ReadBuffer::advance
  - ReadBuffer::default
  - tests::simple_reading
  - tests::reading_in_chunks
  source_file: /src/tungstenite-rs/src/buffer.rs
- function_names:
  - create_parts
  - is_valid_sec_websocket_key
  - create_response
  - create_response_with_body
  - write_response
  - Request::try_parse
  - Request::from_httparse
  - F::on_request
  - NoCallback::on_request
  - ServerHandshake::start
  - ServerHandshake::stage_finished
  - tests::request_with_key
  - tests::assert_invalid_sec_websocket_key
  - tests::request_parsing
  - tests::request_replying
  - tests::test_invalid_websocket_key_empty
  - tests::test_invalid_websocket_key_too_long
  - tests::test_invalid_websocket_key_base64_symbol
  - tests::test_invalid_websocket_key_decoded_length
  - tests::test_valid_websocket_key
  source_file: /src/tungstenite-rs/src/handshake/server.rs
- function_names:
  - ClientHandshake::start
  - ClientHandshake::stage_finished
  - generate_request
  - extract_subprotocols_from_request
  - VerifyData::verify_response
  - Response::try_parse
  - Response::from_httparse
  - generate_key
  - tests::random_keys
  - tests::construct_expected
  - tests::request_formatting
  - tests::request_formatting_with_host
  - tests::request_formatting_with_at
  - tests::response_parsing
  - tests::invalid_custom_request
  - tests::request_with_non_ascii_header
  - tests::request_with_latin1_header
  source_file: /src/tungstenite-rs/src/handshake/client.rs
- function_names:
  - MidHandshake::get_ref
  - MidHandshake::get_mut
  - MidHandshake::handshake
  - HandshakeError::fmt
  - HandshakeError::fmt
  - HandshakeError::from
  - derive_accept_key
  - version_as_str
  - tests::key_conversion
  source_file: /src/tungstenite-rs/src/handshake/mod.rs
- function_names:
  - HandshakeMachine::start_read
  - HandshakeMachine::start_write
  - HandshakeMachine::get_ref
  - HandshakeMachine::get_mut
  - HandshakeMachine::single_round
  - AttackCheck::new
  - AttackCheck::check_incoming_packet_size
  source_file: /src/tungstenite-rs/src/handshake/machine.rs
- function_names:
  - HeaderMap::from_httparse
  - HeaderMap::try_parse
  - tests::headers
  - tests::headers_iter
  - tests::headers_incomplete
  source_file: /src/tungstenite-rs/src/handshake/headers.rs
- function_names:
  - WebSocketConfig::default
  - WebSocketConfig::read_buffer_size
  - WebSocketConfig::write_buffer_size
  - WebSocketConfig::max_write_buffer_size
  - WebSocketConfig::max_message_size
  - WebSocketConfig::max_frame_size
  - WebSocketConfig::accept_unmasked_frames
  - WebSocketConfig::assert_valid
  - WebSocket::from_raw_socket
  - WebSocket::from_partially_read
  - WebSocket::into_inner
  - WebSocket::get_ref
  - WebSocket::get_mut
  - WebSocket::set_config
  - WebSocket::get_config
  - WebSocket::can_read
  - WebSocket::can_write
  - WebSocket::read
  - WebSocket::send
  - WebSocket::write
  - WebSocket::flush
  - WebSocket::close
  - WebSocket::read_message
  - WebSocket::write_message
  - WebSocket::write_pending
  - WebSocketContext::new
  - WebSocketContext::from_partially_read
  - WebSocketContext::_new
  - WebSocketContext::set_config
  - WebSocketContext::get_config
  - WebSocketContext::can_read
  - WebSocketContext::can_write
  - WebSocketContext::read
  - WebSocketContext::write
  - WebSocketContext::flush
  - WebSocketContext::_write
  - WebSocketContext::close
  - WebSocketContext::read_message_frame
  - WebSocketContext::do_close
  - WebSocketContext::buffer_frame
  - WebSocketContext::set_additional
  - check_max_size
  - WebSocketState::is_active
  - WebSocketState::can_read
  - WebSocketState::check_not_terminated
  - Result::check_connection_reset
  - tests::receive_messages
  - tests::size_limiting_text_fragmented
  - tests::size_limiting_binary
  source_file: /src/tungstenite-rs/src/protocol/mod.rs
- function_names:
  - IncompleteMessage::new
  - IncompleteMessage::len
  - IncompleteMessage::extend
  - IncompleteMessage::complete
  - Message::text
  - Message::binary
  - Message::is_text
  - Message::is_binary
  - Message::is_ping
  - Message::is_pong
  - Message::is_close
  - Message::len
  - Message::is_empty
  - Message::into_data
  - Message::into_text
  - Message::to_text
  - Message::from
  - Message::from
  - Message::from
  - Message::from
  - Message::from
  - Bytes::from
  - Message::fmt
  - tests::display
  - tests::binary_convert
  - tests::binary_convert_bytes
  - tests::binary_convert_vec
  - tests::binary_convert_into_bytes
  - tests::text_convert
  source_file: /src/tungstenite-rs/src/protocol/message.rs
- function_names:
  - CloseFrame::fmt
  - FrameHeader::default
  - FrameHeader::parse
  - FrameHeader::len
  - FrameHeader::format
  - FrameHeader::set_random_mask
  - FrameHeader::parse_internal
  - Frame::len
  - Frame::is_empty
  - Frame::header
  - Frame::header_mut
  - Frame::payload
  - Frame::is_masked
  - Frame::set_random_mask
  - Frame::into_text
  - Frame::into_payload
  - Frame::to_text
  - Frame::into_close
  - Frame::message
  - Frame::pong
  - Frame::ping
  - Frame::close
  - Frame::from_payload
  - Frame::format
  - Frame::format_into_buf
  - Frame::fmt
  - LengthFormat::for_length
  - LengthFormat::extra_bytes
  - LengthFormat::length_byte
  - LengthFormat::for_byte
  - tests::parse
  - tests::format
  - tests::format_into_buf
  - tests::display
  source_file: /src/tungstenite-rs/src/protocol/frame/frame.rs
- function_names:
  - Data::fmt
  - Control::fmt
  - OpCode::fmt
  - u8::from
  - OpCode::from
  - CloseCode::is_allowed
  - CloseCode::fmt
  - u16::from
  - u16::from
  - CloseCode::from
  - tests::opcode_from_u8
  - tests::opcode_into_u8
  - tests::closecode_from_u16
  - tests::closecode_into_u16
  source_file: /src/tungstenite-rs/src/protocol/frame/coding.rs
- function_names:
  - FrameSocket::new
  - FrameSocket::from_partially_read
  - FrameSocket::into_inner
  - FrameSocket::get_ref
  - FrameSocket::get_mut
  - FrameSocket::read
  - FrameSocket::send
  - FrameSocket::write
  - FrameSocket::flush
  - FrameCodec::new
  - FrameCodec::from_partially_read
  - FrameCodec::set_max_out_buffer_len
  - FrameCodec::set_out_buffer_write_len
  - FrameCodec::read_frame
  - FrameCodec::read_in
  - FrameCodec::buffer_frame
  - FrameCodec::write_out_buffer
  - tests::read_frames
  - tests::from_partially_read
  - tests::write_frames
  - tests::parse_overflow
  - tests::size_limit_hit
  - tests::length_above_usize_max_rejected
  source_file: /src/tungstenite-rs/src/protocol/frame/mod.rs
- function_names:
  - Utf8Bytes::from_static
  - Utf8Bytes::as_str
  - Utf8Bytes::from_bytes_unchecked
  - Utf8Bytes::deref
  - Utf8Bytes::as_ref
  - Utf8Bytes::as_ref
  - Utf8Bytes::as_ref
  - Utf8Bytes::borrow
  - Utf8Bytes::hash
  - Utf8Bytes::partial_cmp
  - Utf8Bytes::cmp
  - Utf8Bytes::eq
  - Utf8Bytes::fmt
  - Utf8Bytes::try_from
  - Utf8Bytes::try_from
  - Utf8Bytes::try_from
  - Utf8Bytes::from
  - Utf8Bytes::from
  - Utf8Bytes::from
  - Bytes::from
  - tests::hash_consistency
  source_file: /src/tungstenite-rs/src/protocol/frame/utf8.rs
- function_names:
  - generate_mask
  - apply_mask
  - apply_mask_fallback
  - apply_mask_fast32
  - tests::test_apply_mask
  source_file: /src/tungstenite-rs/src/protocol/frame/mask.rs
- function_names:
  - WriteMoc::write
  - WriteMoc::flush
  - WriteMoc::read
  - fuzz_target
  source_file: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_client.rs
- function_names:
  - WriteMoc::write
  - WriteMoc::flush
  - WriteMoc::read
  - fuzz_target
  source_file: /src/tungstenite-rs/fuzz/fuzz_targets/read_message_server.rs
- function_names:
  - fuzz_target
  source_file: /src/tungstenite-rs/fuzz/fuzz_targets/parse_frame_header.rs
- function_names:
  - must_not_block
  - handle_client
  - main
  source_file: /src/tungstenite-rs/examples/autobahn-server.rs
- function_names:
  - main
  source_file: /src/tungstenite-rs/examples/callback-error.rs
- function_names:
  - main
  source_file: /src/tungstenite-rs/examples/server.rs
- function_names:
  - main
  source_file: /src/tungstenite-rs/examples/client.rs
- function_names:
  - get_case_count
  - update_reports
  - run_test
  - main
  source_file: /src/tungstenite-rs/examples/autobahn-client.rs
- function_names:
  - main
  source_file: /src/tungstenite-rs/examples/srv_accept_unmasked_frames.rs
- function_names:
  - MockIo::read
  - MockIo::write
  - MockIo::flush
  - b::e::n::c::h::m::a::r::k::read_100k
  - benchmark
  source_file: /src/tungstenite-rs/benches/read.rs
- function_names:
  - b::e::n::c::h::m::a::r::k::send_and_recv
  - benchmark
  - HumanLen::fmt
  source_file: /src/tungstenite-rs/benches/e2e.rs
- function_names:
  - StackReadBuffer::new
  - StackReadBuffer::with_capacity
  - StackReadBuffer::from_partially_read
  - StackReadBuffer::as_cursor
  - StackReadBuffer::as_cursor_mut
  - StackReadBuffer::into_vec
  - StackReadBuffer::read_from
  - StackReadBuffer::clean_up
  - StackReadBuffer::remaining
  - StackReadBuffer::chunk
  - StackReadBuffer::advance
  - StackReadBuffer::default
  - input_buffer
  - stack_read_buffer
  - heap_read_buffer
  - benchmark
  source_file: /src/tungstenite-rs/benches/buffer.rs
- function_names:
  - MockWrite::read
  - MockWrite::write
  - MockWrite::flush
  - spin
  - b::e::n::c::h::m::a::r::k::write_100k_then_flush
  - benchmark
  source_file: /src/tungstenite-rs/benches/write.rs
