SYMBOL INDEX (233 symbols across 12 files) FILE: benches/socket.rs function next_test_port (line 20) | fn next_test_port() -> u16 { function next_test_ip4 (line 27) | fn next_test_ip4<'a>() -> (&'a str, u16) { function bench_connection_setup_and_teardown (line 32) | fn bench_connection_setup_and_teardown(b: &mut Bencher) { function bench_transfer_one_packet (line 56) | fn bench_transfer_one_packet(b: &mut Bencher) { function bench_transfer_one_megabyte (line 86) | fn bench_transfer_one_megabyte(b: &mut Bencher) { FILE: benches/stream.rs function next_test_port (line 21) | fn next_test_port() -> u16 { function next_test_ip4 (line 28) | fn next_test_ip4<'a>() -> (&'a str, u16) { function bench_connection_setup_and_teardown (line 33) | fn bench_connection_setup_and_teardown(b: &mut Bencher) { function bench_transfer_one_packet (line 50) | fn bench_transfer_one_packet(b: &mut Bencher) { function bench_transfer_one_megabyte (line 74) | fn bench_transfer_one_megabyte(b: &mut Bencher) { FILE: examples/echo-server.rs function handle_client (line 6) | fn handle_client(mut s: UtpSocket) { function main (line 19) | fn main() { FILE: examples/utpcat.rs function usage (line 6) | fn usage() -> ! { function main (line 11) | fn main() { FILE: src/bit_iterator.rs constant U8BITS (line 2) | const U8BITS: usize = 8; type BitIterator (line 6) | pub struct BitIterator<'a> { function from_bytes (line 15) | pub fn from_bytes(obj: &'a [u8]) -> BitIterator<'_> { function count_ones (line 24) | pub fn count_ones(&self) -> u32 { type Item (line 30) | type Item = bool; method next (line 32) | fn next(&mut self) -> Option { method size_hint (line 43) | fn size_hint(&self) -> (usize, Option) { function test_iterator (line 51) | fn test_iterator() { FILE: src/error.rs type SocketError (line 6) | pub enum SocketError { method fmt (line 32) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method description (line 17) | fn description(&self) -> &str { function from (line 38) | fn from(error: SocketError) -> io::Error { type ParseError (line 53) | pub enum ParseError { method fmt (line 61) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method description (line 67) | fn description(&self) -> &str { function from (line 79) | fn from(error: ParseError) -> io::Error { FILE: src/packet.rs constant HEADER_SIZE (line 8) | pub const HEADER_SIZE: usize = 20; type TryFrom (line 37) | pub trait TryFrom: Sized { method try_from (line 39) | fn try_from(_: T) -> Result; type PacketType (line 43) | pub enum PacketType { type Err (line 52) | type Err = ParseError; method try_from (line 53) | fn try_from(original: u8) -> Result { function from (line 66) | fn from(original: PacketType) -> u8 { type ExtensionType (line 78) | pub enum ExtensionType { method from (line 85) | fn from(original: u8) -> Self { function from (line 95) | fn from(original: ExtensionType) -> u8 { type Extension (line 105) | pub struct Extension<'a> { function len (line 111) | pub fn len(&self) -> usize { function get_type (line 115) | pub fn get_type(&self) -> ExtensionType { function iter (line 119) | pub fn iter(&self) -> BitIterator<'_> { type PacketHeader (line 125) | struct PacketHeader { method set_type (line 139) | pub fn set_type(&mut self, t: PacketType) { method get_type (line 145) | pub fn get_type(&self) -> PacketType { method get_version (line 150) | pub fn get_version(&self) -> u8 { method get_extension_type (line 155) | pub fn get_extension_type(&self) -> ExtensionType { method as_ref (line 162) | fn as_ref(&self) -> &[u8] { type Err (line 168) | type Err = ParseError; method try_from (line 172) | fn try_from(buf: &[u8]) -> Result { method default (line 202) | fn default() -> PacketHeader { type Packet (line 216) | pub struct Packet(Vec); method as_ref (line 219) | fn as_ref(&self) -> &[u8] { method new (line 226) | pub fn new() -> Packet { method with_payload (line 231) | pub fn with_payload(payload: &[u8]) -> Packet { method set_type (line 244) | pub fn set_type(&mut self, t: PacketType) { method get_type (line 250) | pub fn get_type(&self) -> PacketType { method get_version (line 255) | pub fn get_version(&self) -> u8 { method get_extension_type (line 260) | pub fn get_extension_type(&self) -> ExtensionType { method extensions (line 265) | pub fn extensions(&self) -> ExtensionIterator<'_> { method payload (line 269) | pub fn payload(&self) -> &[u8] { method timestamp (line 287) | pub fn timestamp(&self) -> Timestamp { method set_timestamp (line 292) | pub fn set_timestamp(&mut self, timestamp: Timestamp) { method timestamp_difference (line 297) | pub fn timestamp_difference(&self) -> Delay { method set_timestamp_difference (line 302) | pub fn set_timestamp_difference(&mut self, delay: Delay) { method set_sack (line 321) | pub fn set_sack(&mut self, bv: Vec) { method len (line 370) | pub fn len(&self) -> usize { type Err (line 376) | type Err = ParseError; method try_from (line 383) | fn try_from(buf: &[u8]) -> Result { method fmt (line 397) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method clone (line 391) | fn clone(&self) -> Packet { type ExtensionIterator (line 412) | pub struct ExtensionIterator<'a> { function new (line 419) | fn new(packet: &'a Packet) -> Self { type Item (line 429) | type Item = Extension<'a>; method next (line 431) | fn next(&mut self) -> Option { function check_extensions (line 456) | fn check_extensions(data: &[u8]) -> Result<(), ParseError> { function test_packet_decode (line 505) | fn test_packet_decode() { function test_decode_packet_with_extension (line 527) | fn test_decode_packet_with_extension() { function test_packet_decode_with_missing_extension (line 557) | fn test_packet_decode_with_missing_extension() { function test_packet_decode_with_malformed_extension (line 567) | fn test_packet_decode_with_malformed_extension() { function test_decode_packet_with_unknown_extensions (line 577) | fn test_decode_packet_with_unknown_extensions() { function test_packet_set_type (line 609) | fn test_packet_set_type() { function test_packet_set_selective_acknowledgment (line 624) | fn test_packet_set_selective_acknowledgment() { function test_packet_encode (line 653) | fn test_packet_encode() { function test_packet_encode_with_payload (line 688) | fn test_packet_encode_with_payload() { function test_reversible (line 722) | fn test_reversible() { function test_decode_evil_sequence (line 731) | fn test_decode_evil_sequence() { function test_decode_empty_packet (line 740) | fn test_decode_empty_packet() { function quicktest (line 747) | fn quicktest() { function extension_iterator (line 768) | fn extension_iterator() { function bench_decode (line 817) | fn bench_decode(b: &mut Bencher) { function bench_encode (line 829) | fn bench_encode(b: &mut Bencher) { function bench_extract_payload (line 837) | fn bench_extract_payload(b: &mut Bencher) { function bench_extract_extensions (line 855) | fn bench_extract_extensions(b: &mut Bencher) { FILE: src/socket.rs constant BUF_SIZE (line 14) | const BUF_SIZE: usize = 1500; constant GAIN (line 15) | const GAIN: f64 = 1.0; constant ALLOWED_INCREASE (line 16) | const ALLOWED_INCREASE: u32 = 1; constant TARGET (line 17) | const TARGET: f64 = 100_000.0; constant MSS (line 18) | const MSS: u32 = 1400; constant MIN_CWND (line 19) | const MIN_CWND: u32 = 2; constant INIT_CWND (line 20) | const INIT_CWND: u32 = 2; constant INITIAL_CONGESTION_TIMEOUT (line 21) | const INITIAL_CONGESTION_TIMEOUT: u64 = 1000; constant MIN_CONGESTION_TIMEOUT (line 22) | const MIN_CONGESTION_TIMEOUT: u64 = 500; constant MAX_CONGESTION_TIMEOUT (line 23) | const MAX_CONGESTION_TIMEOUT: u64 = 60_000; constant BASE_HISTORY (line 24) | const BASE_HISTORY: usize = 10; constant MAX_SYN_RETRIES (line 25) | const MAX_SYN_RETRIES: u32 = 5; constant MAX_RETRANSMISSION_RETRIES (line 26) | const MAX_RETRANSMISSION_RETRIES: u32 = 5; constant WINDOW_SIZE (line 27) | const WINDOW_SIZE: u32 = 1024 * 1024; constant PRE_SEND_TIMEOUT (line 30) | const PRE_SEND_TIMEOUT: u32 = 500_000; constant MAX_BASE_DELAY_AGE (line 33) | const MAX_BASE_DELAY_AGE: Delay = Delay(60_000_000); type SocketState (line 36) | enum SocketState { type DelayDifferenceSample (line 45) | struct DelayDifferenceSample { function take_address (line 51) | fn take_address(addr: A) -> Result { type UtpSocket (line 85) | pub struct UtpSocket { method from_raw_parts (line 169) | fn from_raw_parts(s: UdpSocket, src: SocketAddr) -> UtpSocket { method bind (line 208) | pub fn bind(addr: A) -> Result { method local_addr (line 213) | pub fn local_addr(&self) -> Result { method peer_addr (line 218) | pub fn peer_addr(&self) -> Result { method connect (line 232) | pub fn connect(other: A) -> Result { method close (line 297) | pub fn close(&mut self) -> Result<()> { method recv_from (line 335) | pub fn recv_from(&mut self, buf: &mut [u8]) -> Result<(usize, SocketAd... method recv (line 362) | fn recv(&mut self, buf: &mut [u8]) -> Result<(usize, SocketAddr)> { method handle_receive_timeout (line 439) | fn handle_receive_timeout(&mut self) -> Result<()> { method prepare_reply (line 492) | fn prepare_reply(&self, original: &Packet, t: PacketType) -> Packet { method advance_incoming_buffer (line 508) | fn advance_incoming_buffer(&mut self) -> Option { method flush_incoming_buffer (line 525) | fn flush_incoming_buffer(&mut self, buf: &mut [u8]) -> usize { method send_to (line 578) | pub fn send_to(&mut self, buf: &[u8]) -> Result { method flush (line 604) | pub fn flush(&mut self) -> Result<()> { method send (line 615) | fn send(&mut self) -> Result<()> { method send_packet (line 626) | fn send_packet(&mut self, packet: &mut Packet) -> Result<()> { method update_base_delay (line 671) | fn update_base_delay(&mut self, base_delay: Delay, now: Timestamp) { method update_current_delay (line 694) | fn update_current_delay(&mut self, v: Delay, now: Timestamp) { method update_congestion_timeout (line 708) | fn update_congestion_timeout(&mut self, current_delay: i32) { method filtered_current_delay (line 730) | fn filtered_current_delay(&self) -> Delay { method min_base_delay (line 736) | fn min_base_delay(&self) -> Delay { method build_selective_ack (line 741) | fn build_selective_ack(&self) -> Vec { method send_fast_resend_request (line 767) | fn send_fast_resend_request(&self) { method resend_lost_packet (line 781) | fn resend_lost_packet(&mut self, lost_packet_nr: u16) { method advance_send_window (line 804) | fn advance_send_window(&mut self) { method handle_packet (line 830) | fn handle_packet(&mut self, packet: &Packet, src: SocketAddr) -> Resul... method handle_data_packet (line 932) | fn handle_data_packet(&mut self, packet: &Packet) -> Option { method queuing_delay (line 959) | fn queuing_delay(&self) -> Delay { method update_congestion_window (line 990) | fn update_congestion_window(&mut self, off_target: f64, bytes_newly_ac... method handle_state_packet (line 1006) | fn handle_state_packet(&mut self, packet: &Packet) { method insert_into_buffer (line 1110) | fn insert_into_buffer(&mut self, packet: Packet) { method drop (line 1139) | fn drop(&mut self) { type UtpListener (line 1169) | pub struct UtpListener { method bind (line 1183) | pub fn bind(addr: A) -> Result { method accept (line 1194) | pub fn accept(&self) -> Result<(UtpSocket, SocketAddr)> { method incoming (line 1229) | pub fn incoming(&self) -> Incoming<'_> { method local_addr (line 1234) | pub fn local_addr(&self) -> Result { type Incoming (line 1239) | pub struct Incoming<'a> { type Item (line 1244) | type Item = Result<(UtpSocket, SocketAddr)>; method next (line 1246) | fn next(&mut self) -> Option> { function next_test_port (line 1270) | fn next_test_port() -> u16 { function next_test_ip4 (line 1277) | fn next_test_ip4<'a>() -> (&'a str, u16) { function next_test_ip6 (line 1281) | fn next_test_ip6<'a>() -> (&'a str, u16) { function test_socket_ipv4 (line 1286) | fn test_socket_ipv4() { function test_socket_ipv6 (line 1325) | fn test_socket_ipv6() { function test_recvfrom_on_closed_socket (line 1364) | fn test_recvfrom_on_closed_socket() { function test_sendto_on_closed_socket (line 1392) | fn test_sendto_on_closed_socket() { function test_acks_on_socket (line 1419) | fn test_acks_on_socket() { function test_handle_packet (line 1455) | fn test_handle_packet() { function test_response_to_keepalive_ack (line 1556) | fn test_response_to_keepalive_ack() { function test_response_to_wrong_connection_id (line 1605) | fn test_response_to_wrong_connection_id() { function test_unordered_packets (line 1648) | fn test_unordered_packets() { function test_response_to_triple_ack (line 1708) | fn test_response_to_triple_ack() { function test_socket_timeout_request (line 1777) | fn test_socket_timeout_request() { function test_sorted_buffer_insertion (line 1839) | fn test_sorted_buffer_insertion() { function test_duplicate_packet_handling (line 1878) | fn test_duplicate_packet_handling() { function test_correct_packet_loss (line 1945) | fn test_correct_packet_loss() { function test_tolerance_to_small_buffers (line 1994) | fn test_tolerance_to_small_buffers() { function test_sequence_number_rollover (line 2024) | fn test_sequence_number_rollover() { function test_drop_unused_socket (line 2064) | fn test_drop_unused_socket() { function test_invalid_packet_on_connect (line 2073) | fn test_invalid_packet_on_connect() { function test_receive_unexpected_reply_type_on_connect (line 2098) | fn test_receive_unexpected_reply_type_on_connect() { function test_receiving_syn_on_established_connection (line 2126) | fn test_receiving_syn_on_established_connection() { function test_receiving_reset_on_established_connection (line 2164) | fn test_receiving_reset_on_established_connection() { function test_premature_fin (line 2200) | fn test_premature_fin() { function test_base_delay_calculation (line 2244) | fn test_base_delay_calculation() { function test_local_addr (line 2275) | fn test_local_addr() { function test_listener_local_addr (line 2285) | fn test_listener_local_addr() { function test_peer_addr (line 2295) | fn test_peer_addr() { function test_take_address (line 2333) | fn test_take_address() { function test_connection_loss_data (line 2351) | fn test_connection_loss_data() { function test_connection_loss_fin (line 2395) | fn test_connection_loss_fin() { function test_connection_loss_waiting (line 2435) | fn test_connection_loss_waiting() { FILE: src/stream.rs type UtpStream (line 25) | pub struct UtpStream { method bind (line 36) | pub fn bind(addr: A) -> Result { method connect (line 46) | pub fn connect(dst: A) -> Result { method close (line 55) | pub fn close(&mut self) -> Result<()> { method local_addr (line 60) | pub fn local_addr(&self) -> Result { method set_max_retransmission_retries (line 65) | pub fn set_max_retransmission_retries(&mut self, n: u32) { method from (line 87) | fn from(socket: UtpSocket) -> Self { method as_mut (line 93) | fn as_mut(&mut self) -> &mut UtpSocket { method read (line 71) | fn read(&mut self, buf: &mut [u8]) -> Result { method write (line 77) | fn write(&mut self, buf: &[u8]) -> Result { method flush (line 81) | fn flush(&mut self) -> Result<()> { FILE: src/time.rs function now_microseconds (line 7) | pub fn now_microseconds() -> Timestamp { type Timestamp (line 17) | pub struct Timestamp(pub u32); method from (line 34) | fn from(value: u32) -> Timestamp { type Output (line 20) | type Output = Delay; method sub (line 22) | fn sub(self, other: Timestamp) -> Delay { method default (line 28) | fn default() -> Timestamp { function from (line 40) | fn from(value: Timestamp) -> u32 { type Delay (line 46) | pub struct Delay(pub i64); method from (line 49) | fn from(value: i64) -> Delay { method from (line 55) | fn from(value: u32) -> Delay { method fmt (line 81) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function from (line 61) | fn from(value: Delay) -> u32 { method default (line 67) | fn default() -> Delay { type Output (line 73) | type Output = Delay; method sub (line 75) | fn sub(self, other: Delay) -> Delay { method to_i64 (line 87) | fn to_i64(&self) -> Option { method to_u64 (line 91) | fn to_u64(&self) -> Option { FILE: src/util.rs function ewma (line 7) | pub fn ewma<'a, T, I>(mut samples: I, alpha: f64) -> f64 function abs_diff (line 19) | pub fn abs_diff, U>(a: T, b: T) -> U { function generate_sequential_identifiers (line 32) | pub fn generate_sequential_identifiers() -> (u16, u16) { function test_ewma_empty_vector (line 47) | fn test_ewma_empty_vector() { function test_ewma_one_element (line 54) | fn test_ewma_one_element() { function test_exponential_smoothed_moving_average (line 61) | fn test_exponential_smoothed_moving_average() { function test_abs_diff (line 80) | fn test_abs_diff() { FILE: tests/stream.rs function next_test_port (line 14) | fn next_test_port() -> u16 { function next_test_ip4 (line 21) | fn next_test_ip4<'a>() -> (&'a str, u16) { function next_test_ip6 (line 25) | fn next_test_ip6<'a>() -> (&'a str, u16) { function test_stream_open_and_close (line 30) | fn test_stream_open_and_close() { function test_stream_open_and_close_ipv6 (line 47) | fn test_stream_open_and_close_ipv6() { function test_stream_small_data (line 64) | fn test_stream_small_data() { function test_stream_large_data (line 89) | fn test_stream_large_data() { function test_stream_successive_reads (line 114) | fn test_stream_successive_reads() { function test_local_addr (line 140) | fn test_local_addr() {