SYMBOL INDEX (507 symbols across 40 files) FILE: build.rs constant ENV_KEY (line 12) | const ENV_KEY: &str = "ASCIINEMA_GEN_DIR"; function main (line 14) | fn main() -> std::io::Result<()> { FILE: src/alis.rs type EventSerializer (line 19) | struct EventSerializer(Duration); method serialize_event (line 32) | fn serialize_event(&mut self, event: Event) -> Vec { method rel_time (line 166) | fn rel_time(&mut self, time: Duration) -> u64 { function stream (line 21) | pub fn stream>>( function test_serialize_init_with_theme_and_seed (line 183) | fn test_serialize_init_with_theme_and_seed() { function test_serialize_init_without_theme_nor_seed (line 258) | fn test_serialize_init_without_theme_nor_seed() { function test_serialize_output (line 286) | fn test_serialize_output() { function test_serialize_input (line 309) | fn test_serialize_input() { function test_serialize_resize (line 327) | fn test_serialize_resize() { function test_serialize_marker_with_label (line 345) | fn test_serialize_marker_with_label() { function test_serialize_marker_without_label (line 368) | fn test_serialize_marker_without_label() { function test_serialize_exit_positive_status (line 384) | fn test_serialize_exit_positive_status() { function test_serialize_exit_negative_status (line 401) | fn test_serialize_exit_negative_status() { function test_serialize_eot (line 418) | fn test_serialize_eot() { function test_subsequent_event_lower_time (line 434) | fn test_subsequent_event_lower_time() { function rgb (line 453) | fn rgb(r: u8, g: u8, b: u8) -> RGB8 { FILE: src/api.rs type RecordingResponse (line 15) | pub struct RecordingResponse { type StreamResponse (line 21) | pub struct StreamResponse { type Visibility (line 29) | pub enum Visibility { type RecordingChangeset (line 36) | pub struct RecordingChangeset { type StreamChangeset (line 48) | pub struct StreamChangeset { type ErrorResponse (line 70) | struct ErrorResponse { function get_auth_url (line 74) | pub fn get_auth_url(config: &mut Config) -> Result { function create_recording (line 81) | pub async fn create_recording( function create_recording_request (line 111) | async fn create_recording_request( function add_recording_changeset_fields (line 127) | fn add_recording_changeset_fields(mut form: Form, changeset: RecordingCh... function list_user_streams (line 153) | pub async fn list_user_streams(prefix: &str, config: &mut Config) -> Res... function list_user_streams_request (line 165) | fn list_user_streams_request(server_url: &Url, prefix: &str, install_id:... function create_stream (line 174) | pub async fn create_stream( function create_stream_request (line 189) | fn create_stream_request( function update_stream (line 203) | pub async fn update_stream( function update_stream_request (line 219) | fn update_stream_request( function parse_stream_response (line 234) | async fn parse_stream_response( function add_headers (line 263) | fn add_headers(builder: RequestBuilder, install_id: &str) -> RequestBuil... function get_username (line 270) | fn get_username() -> String { function build_user_agent (line 274) | pub fn build_user_agent() -> String { FILE: src/asciicast.rs type Asciicast (line 19) | pub struct Asciicast<'a> { type Version (line 26) | pub enum Version { method eq (line 65) | fn eq(&self, other: &u8) -> bool { type Header (line 32) | pub struct Header { type Event (line 45) | pub struct Event { method output (line 155) | pub fn output(time: Duration, text: String) -> Self { method input (line 162) | pub fn input(time: Duration, text: String) -> Self { method resize (line 169) | pub fn resize(time: Duration, size: (u16, u16)) -> Self { method marker (line 176) | pub fn marker(time: Duration, label: String) -> Self { method exit (line 183) | pub fn exit(time: Duration, status: i32) -> Self { type EventData (line 50) | pub enum EventData { type Encoder (line 59) | pub trait Encoder { method header (line 60) | fn header(&mut self, header: &Header) -> Vec; method event (line 61) | fn event(&mut self, event: &Event) -> Vec; method header (line 101) | fn header(&mut self, header: &Header) -> Vec { method event (line 105) | fn event(&mut self, event: &Event) -> Vec { method header (line 111) | fn header(&mut self, header: &Header) -> Vec { method event (line 115) | fn event(&mut self, event: &Event) -> Vec { method fmt (line 74) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 84) | fn default() -> Self { function open_from_path (line 120) | pub fn open_from_path>(path: S) -> Result(reader: R) -> Result>(path: S) -> Result { function limit_idle_time (line 191) | pub fn limit_idle_time( function accelerate (line 215) | pub fn accelerate( function encoder (line 228) | pub fn encoder(version: Version) -> Option> { function open_v1_minimal (line 248) | fn open_v1_minimal() { function open_v1_full (line 266) | fn open_v1_full() { function open_v1_with_nulls_in_header (line 293) | fn open_v1_with_nulls_in_header() { function open_v2_minimal (line 305) | fn open_v2_minimal() { function open_v2_full (line 323) | fn open_v2_full() { function open_v2_with_nulls_in_header (line 364) | fn open_v2_with_nulls_in_header() { function open_v3_minimal (line 376) | fn open_v3_minimal() { function open_v3_full (line 394) | fn open_v3_full() { function encoder (line 430) | fn encoder() { function header_encoding (line 479) | fn header_encoding() { function parse (line 536) | fn parse(json: Vec) -> Vec { function accelerate (line 547) | fn accelerate() { function limit_idle_time (line 563) | fn limit_idle_time() { function output (line 599) | fn output(events: impl Iterator>) -> Vec<(Duration,... FILE: src/asciicast/util.rs function deserialize_time (line 6) | pub fn deserialize_time<'de, D>(deserializer: D) -> Result Result> { FILE: src/asciicast/v2.rs type V2Header (line 13) | struct V2Header { method serialize (line 249) | fn serialize(&self, serializer: S) -> Result method from (line 385) | fn from(header: &Header) -> Self { type V2Theme (line 26) | struct V2Theme { method from (line 406) | fn from(tty_theme: &TtyTheme) -> Self { type RGB8 (line 36) | struct RGB8(rgb::RGB8); method serialize (line 354) | fn serialize(&self, serializer: S) -> std::prelude::v1::Result fmt::Result { type V2Palette (line 39) | struct V2Palette(Vec); method serialize (line 369) | fn serialize(&self, serializer: S) -> std::prelude::v1::Result> + Send + 'a>( function open (line 61) | pub fn open(header_line: &str) -> Result { function parse_line (line 115) | fn parse_line(line: io::Result) -> Option> { function parse_event (line 129) | fn parse_event(line: String) -> Result { function deserialize_code (line 164) | fn deserialize_code<'de, D>(deserializer: D) -> Result Self { method header (line 192) | pub fn header(&mut self, header: &Header) -> Vec { method event (line 200) | pub fn event(&mut self, event: &Event) -> Vec { method serialize_event (line 207) | fn serialize_event(&self, event: &Event) -> String { method to_json_string (line 227) | fn to_json_string(&self, s: &str) -> String { function format_time (line 232) | fn format_time(time: Duration) -> String { function deserialize_color (line 316) | fn deserialize_color<'de, D>(deserializer: D) -> Result function parse_hex_color (line 324) | fn parse_hex_color(rgb: &str) -> Option { function deserialize_palette (line 336) | fn deserialize_palette<'de, D>(deserializer: D) -> Result Self { function format_time (line 434) | fn format_time() { FILE: src/asciicast/v3.rs type V3Header (line 14) | struct V3Header { method serialize (line 253) | fn serialize(&self, serializer: S) -> Result method from (line 420) | fn from(header: &Header) -> Self { type V3Term (line 25) | struct V3Term { method serialize (line 311) | fn serialize(&self, serializer: S) -> Result type V3Theme (line 35) | struct V3Theme { method from (line 440) | fn from(tty_theme: &TtyTheme) -> Self { type RGB8 (line 45) | struct RGB8(rgb::RGB8); method serialize (line 389) | fn serialize(&self, serializer: S) -> std::prelude::v1::Result fmt::Result { type V3Palette (line 48) | struct V3Palette(Vec); method serialize (line 404) | fn serialize(&self, serializer: S) -> std::prelude::v1::Result> + Send + 'a>( method parse_line (line 116) | fn parse_line(&mut self, line: io::Result) -> Option Result { function open (line 74) | pub fn open(header_line: &str) -> Result { function deserialize_code (line 167) | fn deserialize_code<'de, D>(deserializer: D) -> Result Self { method header (line 200) | pub fn header(&mut self, header: &Header) -> Vec { method event (line 208) | pub fn event(&mut self, event: &Event) -> Vec { method serialize_event (line 215) | fn serialize_event(&mut self, event: &Event) -> String { method to_json_string (line 239) | fn to_json_string(&self, s: &str) -> String { function format_duration (line 244) | fn format_duration(duration: Duration) -> String { function deserialize_color (line 351) | fn deserialize_color<'de, D>(deserializer: D) -> Result function parse_hex_color (line 359) | fn parse_hex_color(rgb: &str) -> Option { function deserialize_palette (line 371) | fn deserialize_palette<'de, D>(deserializer: D) -> Result Self { function format_time (line 469) | fn format_time() { FILE: src/cli.rs constant DEFAULT_LISTEN_ADDR (line 7) | pub const DEFAULT_LISTEN_ADDR: &str = "127.0.0.1:0"; type Cli (line 12) | pub struct Cli { type Commands (line 29) | pub enum Commands { type Record (line 221) | pub struct Record { type Play (line 322) | pub struct Play { type Stream (line 366) | pub struct Stream { type Visibility (line 449) | pub enum Visibility { type Session (line 457) | pub struct Session { type Cat (line 586) | pub struct Cat { type Convert (line 593) | pub struct Convert { type Upload (line 621) | pub struct Upload { type Auth (line 656) | pub struct Auth { type Format (line 663) | pub enum Format { type RelayTarget (line 676) | pub enum RelayTarget { function parse_window_size (line 681) | fn parse_window_size(s: &str) -> Result<(Option, Option), Stri... function validate_forward_target (line 706) | fn validate_forward_target(s: &str) -> Result { FILE: src/cmd/auth.rs function run (line 8) | pub fn run(self) -> Result<()> { FILE: src/cmd/cat.rs function run (line 12) | pub fn run(self) -> Result<()> { function open_input_files (line 53) | fn open_input_files(&self) -> Result>> { function get_encoder (line 63) | fn get_encoder(&self, version: Version) -> Result> { FILE: src/cmd/convert.rs function run (line 15) | pub fn run(self) -> Result<()> { function get_encoder (line 25) | fn get_encoder(&self) -> Box { function get_input_path (line 44) | fn get_input_path(&self) -> Result>> { function get_output_path (line 52) | fn get_output_path(&self) -> String { function open_output_file (line 60) | fn open_output_file(&self, path: String) -> Result { function get_mode (line 73) | fn get_mode(&self, path: &str) -> Result { FILE: src/cmd/play.rs function run (line 13) | pub fn run(self) -> anyhow::Result<()> { function get_path (line 49) | fn get_path(&self) -> anyhow::Result>> { function get_key_bindings (line 58) | fn get_key_bindings(config: &config::Playback) -> anyhow::Result Result { function do_run (line 49) | async fn do_run(&mut self) -> Result { function get_command (line 164) | fn get_command(&self, config: &config::Session) -> Option { function get_session_metadata (line 168) | fn get_session_metadata(&self, config: &config::Session, term: TermInfo)... function get_file_writer (line 179) | async fn get_file_writer( function get_file_mode (line 204) | fn get_file_mode(&self, path: &Path) -> Result<(bool, bool)> { function get_file_format (line 226) | fn get_file_format(&self, path: &Path, append: bool) -> Result { function get_encoder (line 246) | fn get_encoder( function open_output_file (line 270) | async fn open_output_file( function get_listener (line 291) | async fn get_listener(&self) -> Result> { function get_relay (line 302) | async fn get_relay( function start_stream (line 330) | async fn start_stream( function init_logging (line 383) | fn init_logging(&self) -> Result<()> { function open_log_file (line 403) | fn open_log_file(&self, path: &PathBuf) -> Result { type TtyKind (line 413) | enum TtyKind { type TtySelection (line 418) | struct TtySelection { method open_raw (line 493) | async fn open_raw(&self) -> Result> { function probe_tty (line 424) | async fn probe_tty( type Relay (line 506) | struct Relay { method id (line 512) | fn id(&self) -> String { function get_key_bindings (line 517) | fn get_key_bindings(config: &config::Session) -> Result { function capture_env (line 535) | fn capture_env(var_names: Option, config: &config::Session) -> H... function get_notifier (line 547) | fn get_notifier(config: &Config) -> BackgroundNotifier { function build_exec_command (line 557) | fn build_exec_command(command: Option) -> Vec { function build_exec_extra_env (line 565) | fn build_exec_extra_env(vars: &[String], relay_id: Option<&String>) -> H... function get_parent_session_relay_id (line 584) | fn get_parent_session_relay_id() -> Option { FILE: src/cmd/upload.rs function run (line 10) | pub fn run(self) -> Result<()> { function do_run (line 14) | async fn do_run(self) -> Result<()> { FILE: src/config.rs constant DEFAULT_SERVER_URL (line 14) | const DEFAULT_SERVER_URL: &str = "https://asciinema.org"; constant INSTALL_ID_FILENAME (line 15) | const INSTALL_ID_FILENAME: &str = "install-id"; type Key (line 17) | pub type Key = Option>; type Config (line 21) | pub struct Config { method new (line 64) | pub fn new(server_url: Option) -> Result { method get_server_url (line 90) | pub fn get_server_url(&mut self) -> Result { method get_install_id (line 104) | pub fn get_install_id(&self) -> Result { type Server (line 30) | pub struct Server { type Session (line 36) | pub struct Session { method prefix_key (line 122) | pub fn prefix_key(&self) -> Result> { method pause_key (line 126) | pub fn pause_key(&self) -> Result> { method add_marker_key (line 130) | pub fn add_marker_key(&self) -> Result> { type Playback (line 48) | pub struct Playback { method pause_key (line 136) | pub fn pause_key(&self) -> Result> { method step_key (line 140) | pub fn step_key(&self) -> Result> { method next_marker_key (line 144) | pub fn next_marker_key(&self) -> Result> { type Notifications (line 58) | pub struct Notifications { function ask_for_server_url (line 149) | fn ask_for_server_url() -> Result { function save_default_server_url (line 162) | fn save_default_server_url(url: &str) -> Result<()> { function parse_server_url (line 174) | fn parse_server_url(s: &str) -> Result { function read_install_id (line 184) | fn read_install_id(path: &PathBuf) -> Result> { function generate_install_id (line 198) | fn generate_install_id() -> String { function save_install_id (line 202) | fn save_install_id(path: &PathBuf, id: &str) -> Result<()> { function user_config_path (line 212) | pub fn user_config_path() -> Result { function legacy_user_config_path (line 216) | fn legacy_user_config_path() -> Result { function user_defaults_path (line 220) | fn user_defaults_path() -> Result { function install_id_path (line 224) | fn install_id_path() -> Result { function legacy_install_id_path (line 228) | fn legacy_install_id_path() -> Result { function config_home (line 232) | fn config_home() -> Result { function state_home (line 240) | fn state_home() -> Result { function parse_key (line 253) | fn parse_key>(key: S) -> Result { function parse_control_key (line 289) | fn parse_control_key(c: char) -> Option { function check_legacy_config_file (line 305) | pub fn check_legacy_config_file() { function parse_key_accepts_ctrl_letters (line 334) | fn parse_key_accepts_ctrl_letters() { function parse_key_accepts_ctrl_punctuation (line 341) | fn parse_key_accepts_ctrl_punctuation() { function parse_key_rejects_invalid_ctrl_combos (line 349) | fn parse_key_rejects_invalid_ctrl_combos() { FILE: src/encoder/asciicast.rs type AsciicastV2Encoder (line 5) | pub struct AsciicastV2Encoder { method new (line 11) | pub fn new(append: bool, time_offset: Duration) -> Self { method header (line 19) | fn header(&mut self, header: &Header) -> Vec { method event (line 29) | fn event(&mut self, event: Event) -> Vec { method flush (line 33) | fn flush(&mut self) -> Vec { type AsciicastV3Encoder (line 38) | pub struct AsciicastV3Encoder { method new (line 44) | pub fn new(append: bool) -> Self { method header (line 52) | fn header(&mut self, header: &Header) -> Vec { method event (line 62) | fn event(&mut self, event: Event) -> Vec { method flush (line 66) | fn flush(&mut self) -> Vec { FILE: src/encoder/mod.rs type Encoder (line 15) | pub trait Encoder { method header (line 16) | fn header(&mut self, header: &Header) -> Vec; method event (line 17) | fn event(&mut self, event: Event) -> Vec; method flush (line 18) | fn flush(&mut self) -> Vec; type EncoderExt (line 21) | pub trait EncoderExt { method encode_to_file (line 22) | fn encode_to_file(&mut self, cast: crate::asciicast::Asciicast, file: ... method encode_to_file (line 26) | fn encode_to_file(&mut self, cast: crate::asciicast::Asciicast, file: ... FILE: src/encoder/raw.rs type RawEncoder (line 3) | pub struct RawEncoder; method new (line 6) | pub fn new() -> Self { method header (line 12) | fn header(&mut self, header: &Header) -> Vec { method event (line 16) | fn event(&mut self, event: Event) -> Vec { method flush (line 24) | fn flush(&mut self) -> Vec { function encoder (line 38) | fn encoder() { FILE: src/encoder/txt.rs type TextEncoder (line 5) | pub struct TextEncoder { method new (line 10) | pub fn new() -> Self { method header (line 16) | fn header(&mut self, header: &Header) -> Vec { method event (line 27) | fn event(&mut self, event: Event) -> Vec { method flush (line 41) | fn flush(&mut self) -> Vec { function text_lines_to_bytes (line 46) | fn text_lines_to_bytes>(lines: impl Iterator) ->... function encoder (line 64) | fn encoder() { FILE: src/fd.rs type FdExt (line 6) | pub trait FdExt: AsFd { method set_nonblocking (line 7) | fn set_nonblocking(&self) -> io::Result<()> { FILE: src/file_writer.rs type FileWriter (line 11) | pub struct FileWriter { method new (line 25) | pub fn new( method start (line 39) | pub async fn start(mut self) -> io::Result { type LiveFileWriter (line 18) | pub struct LiveFileWriter { method event (line 79) | async fn event(&mut self, event: session::Event) -> io::Result<()> { method flush (line 98) | async fn flush(&mut self) -> io::Result<()> { function from (line 104) | fn from(event: session::Event) -> Self { FILE: src/forwarder.rs constant PING_INTERVAL (line 25) | const PING_INTERVAL: u64 = 15; constant PING_TIMEOUT (line 26) | const PING_TIMEOUT: u64 = 10; constant SEND_TIMEOUT (line 27) | const SEND_TIMEOUT: u64 = 10; constant RECONNECT_DELAY_BASE (line 28) | const RECONNECT_DELAY_BASE: u64 = 500; constant RECONNECT_DELAY_CAP (line 29) | const RECONNECT_DELAY_CAP: u64 = 10_000; function forward (line 31) | pub async fn forward( function connect_and_forward (line 138) | async fn connect_and_forward( function build_request (line 149) | fn build_request(url: &url::Url) -> anyhow::Result { function get_alis_stream (line 157) | fn get_alis_stream( function handle_socket (line 167) | async fn handle_socket( function send_with_timeout (line 222) | async fn send_with_timeout( function handle_close_frame (line 231) | fn handle_close_frame(frame: Option) -> anyhow::Result<()> { function exponential_delay (line 249) | fn exponential_delay(attempt: usize) -> u64 { function ws_result (line 257) | fn ws_result(m: Result, BroadcastStreamRecvError>) -> anyhow::Re... function close_message (line 264) | fn close_message() -> Message { function ping_stream (line 271) | fn ping_stream() -> impl Stream { function exponential_delay_is_within_equal_jitter_bounds (line 282) | fn exponential_delay_is_within_equal_jitter_bounds() { FILE: src/hash.rs constant FNV_128_PRIME (line 4) | const FNV_128_PRIME: u128 = 309485009821345068724781371; constant FNV_128_OFFSET_BASIS (line 5) | const FNV_128_OFFSET_BASIS: u128 = 144066263297769815596495629667062367629; function fnv1a_128 (line 7) | pub fn fnv1a_128>(data: D) -> u128 { function digest (line 23) | fn digest() { FILE: src/html.rs function extract_asciicast_link (line 1) | pub fn extract_asciicast_link(html: &str) -> Option { function attr (line 38) | fn attr<'a>(tag: &'a str, name: &str) -> Option<&'a str> { function extract_asciicast_link_valid_html (line 69) | fn extract_asciicast_link_valid_html() { function extract_asciicast_link_alternate_mime_type (line 87) | fn extract_asciicast_link_alternate_mime_type() { function extract_asciicast_link_multiple_rel_values (line 100) | fn extract_asciicast_link_multiple_rel_values() { function extract_asciicast_link_case_insensitive (line 113) | fn extract_asciicast_link_case_insensitive() { function extract_asciicast_link_single_quotes (line 126) | fn extract_asciicast_link_single_quotes() { function extract_asciicast_link_mixed_quotes (line 139) | fn extract_asciicast_link_mixed_quotes() { function extract_asciicast_link_multiple_links (line 152) | fn extract_asciicast_link_multiple_links() { function extract_asciicast_link_no_head (line 168) | fn extract_asciicast_link_no_head() { function extract_asciicast_link_no_matching_link (line 181) | fn extract_asciicast_link_no_matching_link() { function extract_asciicast_link_wrong_rel (line 195) | fn extract_asciicast_link_wrong_rel() { function extract_asciicast_link_wrong_type (line 208) | fn extract_asciicast_link_wrong_type() { function extract_asciicast_link_no_href (line 221) | fn extract_asciicast_link_no_href() { function extract_asciicast_link_empty_href (line 234) | fn extract_asciicast_link_empty_href() { function extract_asciicast_link_malformed_html (line 247) | fn extract_asciicast_link_malformed_html() { function extract_asciicast_link_empty_html (line 260) | fn extract_asciicast_link_empty_html() { function extract_asciicast_link_invalid_html (line 265) | fn extract_asciicast_link_invalid_html() { function extract_asciicast_link_special_characters_in_href (line 271) | fn extract_asciicast_link_special_characters_in_href() { FILE: src/leb128.rs function encode (line 1) | pub fn encode>(value: N) -> Vec { function test_encode (line 28) | fn test_encode() { FILE: src/locale.rs function check_utf8_locale (line 6) | pub fn check_utf8_locale() -> anyhow::Result<()> { function initialize_from_env (line 24) | pub fn initialize_from_env() { function get_encoding (line 30) | fn get_encoding() -> String { FILE: src/main.rs function main (line 31) | fn main() -> ExitCode { FILE: src/notifier.rs type Notifier (line 13) | pub trait Notifier: Send { method notify (line 14) | async fn notify(&mut self, message: String) -> anyhow::Result<()>; method notify (line 41) | async fn notify(&mut self, message: String) -> anyhow::Result<()> { method notify (line 58) | async fn notify(&mut self, message: String) -> anyhow::Result<()> { method notify (line 73) | async fn notify(&mut self, message: String) -> anyhow::Result<()> { method notify (line 85) | async fn notify(&mut self, text: String) -> anyhow::Result<()> { method notify (line 100) | async fn notify(&mut self, _text: String) -> anyhow::Result<()> { method notify (line 146) | async fn notify(&mut self, message: String) -> anyhow::Result<()> { function get_notifier (line 17) | pub fn get_notifier(custom_command: Option) -> Box { type TmuxNotifier (line 29) | pub struct TmuxNotifier(PathBuf); method get (line 32) | fn get() -> Option { type LibNotifyNotifier (line 48) | pub struct LibNotifyNotifier(PathBuf); method get (line 51) | fn get() -> Option { type AppleScriptNotifier (line 63) | pub struct AppleScriptNotifier(PathBuf); method get (line 66) | fn get() -> Option { type CustomNotifier (line 81) | pub struct CustomNotifier(String); type NullNotifier (line 96) | pub struct NullNotifier; function exec (line 105) | async fn exec>(command: &mut Command, args: &[S]) -> any... type BackgroundNotifier (line 125) | pub struct BackgroundNotifier(mpsc::Sender); function background (line 127) | pub fn background(mut notifier: Box) -> BackgroundNotifier { FILE: src/player.rs type KeyBindings (line 9) | pub struct KeyBindings { method default (line 17) | fn default() -> Self { function play (line 27) | pub async fn play( function emit_session_events (line 154) | fn emit_session_events( FILE: src/pty.rs type Pty (line 19) | pub struct Pty { method read (line 25) | pub async fn read(&self, buffer: &mut [u8]) -> io::Result { method write (line 35) | pub async fn write(&self, buffer: &[u8]) -> io::Result { method resize (line 45) | pub fn resize(&self, winsize: Winsize) { method kill (line 49) | pub fn kill(&self) { method wait (line 54) | pub async fn wait(&self, options: Option) -> io::Result>( function handle_child (line 89) | fn handle_child>( function spawn (line 114) | async fn spawn>(command: &[S], extra_env: &HashMap Vec { function spawn_basic (line 134) | async fn spawn_basic() { function spawn_no_output (line 151) | async fn spawn_no_output() { function spawn_quick (line 159) | async fn spawn_quick() { function spawn_extra_env (line 167) | async fn spawn_extra_env() { function spawn_echo_input (line 178) | async fn spawn_echo_input() { FILE: src/server.rs type Assets (line 34) | struct Assets; type AssetInfo (line 36) | struct AssetInfo { type AssetManifest (line 43) | struct AssetManifest { constant DIGEST_HEX_LEN (line 50) | const DIGEST_HEX_LEN: usize = 16; type AppState (line 91) | struct AppState { function serve (line 96) | pub async fn serve( function static_handler (line 144) | async fn static_handler(headers: HeaderMap, uri: Uri) -> impl IntoRespon... function mime_from_path (line 188) | fn mime_from_path(path: &str) -> &'static str { function asset_response (line 204) | fn asset_response( function hex_encode (line 229) | fn hex_encode(bytes: &[u8]) -> String { function digest_path (line 233) | fn digest_path(path: &str, hash: &str) -> Option { function rewrite_index_html (line 244) | fn rewrite_index_html(by_path: &HashMap) -> Bytes { function etag_matches (line 266) | fn etag_matches(headers: &HeaderMap, etag: &str) -> bool { function ws_handler (line 288) | async fn ws_handler( function handle_socket (line 311) | async fn handle_socket(socket: WebSocket, subscriber: Subscriber) -> any... function close_socket (line 329) | async fn close_socket(mut socket: WebSocket) { function close_message (line 334) | fn close_message(code: CloseCode, reason: &'static str) -> Message { function ws_result (line 341) | fn ws_result(m: Result, BroadcastStreamRecvError>) -> Result { type Output (line 66) | pub trait Output: Send { method event (line 67) | async fn event(&mut self, event: Event) -> io::Result<()>; method flush (line 68) | async fn flush(&mut self) -> io::Result<()>; function run (line 71) | pub async fn run, T: RawTty + ?Sized, N: Notifier>( function forward_events (line 106) | async fn forward_events(mut events_rx: mpsc::Receiver, outputs: V... function forward_event (line 125) | async fn forward_event(mut output: Box, event: Event) -> Opt... function run (line 137) | async fn run(mut self, pty: Pty, tty: &mut T) -> any... function handle_output (line 237) | async fn handle_output(&mut self, data: &[u8]) { function handle_input (line 248) | async fn handle_input(&mut self, data: &[u8]) -> bool { function handle_resize (line 292) | async fn handle_resize(&mut self, tty_size: TtySize) { function handle_exit (line 300) | async fn handle_exit(&mut self, status: i32) { function elapsed_time (line 305) | fn elapsed_time(&self) -> Duration { function send_session_event (line 313) | async fn send_session_event(&mut self, event: Event) { function notify (line 320) | async fn notify(&mut self, text: S) { type KeyBindings (line 328) | pub struct KeyBindings { method default (line 335) | fn default() -> Self { FILE: src/status.rs function disable (line 4) | pub fn disable() { function do_info (line 18) | pub fn do_info(message: String) { function do_warn (line 24) | pub fn do_warn(message: String) { FILE: src/stream.rs type Stream (line 16) | pub struct Stream { method new (line 48) | pub fn new() -> Self { method subscriber (line 57) | pub fn subscriber(&self) -> Subscriber { method start (line 61) | pub async fn start(self, metadata: &Metadata) -> LiveStream { type Request (line 21) | type Request = oneshot::Sender; type Subscription (line 23) | struct Subscription { type EventId (line 29) | pub struct EventId(u64); method new (line 171) | fn new(id: u64) -> Self { method next (line 175) | fn next(&self) -> Self { method as_u64 (line 179) | pub fn as_u64(&self) -> u64 { method from (line 191) | fn from(id: u64) -> Self { type Event (line 32) | pub enum Event { type Subscriber (line 43) | pub struct Subscriber(mpsc::Sender); method subscribe (line 197) | pub async fn subscribe( type LiveStream (line 45) | pub struct LiveStream(mpsc::Sender); method event (line 220) | async fn event(&mut self, event: session::Event) -> io::Result<()> { method flush (line 224) | async fn flush(&mut self) -> io::Result<()> { function run (line 76) | async fn run( function from (line 185) | fn from(id: EventId) -> Self { function build_vt (line 211) | fn build_vt(tty_size: TtySize) -> Vt { FILE: src/tty.rs type TtySize (line 25) | pub struct TtySize(pub u16, pub u16); method from (line 65) | fn from(winsize: Winsize) -> Self { method from (line 82) | fn from((cols, rows): (usize, usize)) -> Self { type TtyTheme (line 28) | pub struct TtyTheme { type NullTty (line 34) | pub struct NullTty; type FixedSizeTty (line 36) | pub struct FixedSizeTty { type RawTty (line 43) | pub trait RawTty { method get_size (line 44) | fn get_size(&self) -> Winsize; method read (line 45) | async fn read(&self, buf: &mut [u8]) -> io::Result; method write (line 46) | async fn write(&self, buf: &[u8]) -> io::Result; method write_all (line 48) | async fn write_all(&self, mut buf: &[u8]) -> io::Result<()> { method get_size (line 101) | fn get_size(&self) -> Winsize { method read (line 110) | async fn read(&self, _buf: &mut [u8]) -> io::Result { method write (line 114) | async fn write(&self, buf: &[u8]) -> io::Result { method get_size (line 121) | fn get_size(&self) -> Winsize { method read (line 135) | async fn read(&self, buf: &mut [u8]) -> io::Result { method write (line 139) | async fn write(&self, buf: &[u8]) -> io::Result { method default (line 59) | fn default() -> Self { method from (line 71) | fn from(tty_size: TtySize) -> Self { function from (line 88) | fn from(tty_size: TtySize) -> Self { function new (line 94) | pub fn new(inner: T, cols: Option, rows: Option) -> Self { function make_raw (line 144) | fn make_raw(fd: F) -> anyhow::Result { function fixed_size_tty_get_size (line 160) | fn fixed_size_tty_get_size() { FILE: src/tty/default.rs type DevTty (line 15) | pub struct DevTty { method open (line 21) | pub async fn open() -> anyhow::Result { method resize (line 34) | pub async fn resize(&mut self, size: TtySize) -> io::Result<()> { method drop (line 43) | fn drop(&mut self) { method get_size (line 51) | fn get_size(&self) -> Winsize { method read (line 64) | async fn read(&self, buf: &mut [u8]) -> io::Result { method write (line 70) | async fn write(&self, buf: &[u8]) -> io::Result { FILE: src/tty/inspect.rs constant INSPECT_QUERY (line 6) | const INSPECT_QUERY: &str = concat!( function inspect (line 16) | pub(crate) async fn inspect(tty: &T) -> (Option( type ReplyParser (line 59) | struct ReplyParser { method new (line 68) | fn new() -> Self { method feed (line 80) | fn feed(&mut self, chunk: &[u8]) -> ParseResult { method result (line 178) | fn result(self) -> (Option, Option) { method build_theme (line 184) | fn build_theme(&self) -> Option { type PrefixMatch (line 197) | enum PrefixMatch<'a> { function match_seq_prefix (line 202) | fn match_seq_prefix<'a>(a: &'a [u8], b: &[u8]) -> Option> { function find_osc_end (line 212) | fn find_osc_end(buf: &[u8]) -> Option<(usize, usize)> { function find_dcs_end (line 230) | fn find_dcs_end(buf: &[u8]) -> Option<(usize, usize)> { function find_dec_prv_final (line 244) | fn find_dec_prv_final(buf: &[u8]) -> Option<(usize, char)> { function parse_dcs_reply (line 258) | fn parse_dcs_reply(reply: &[u8], prefix: &[u8]) -> Option { function parse_palette_entries (line 264) | fn parse_palette_entries(reply: &[u8]) -> Vec<(usize, RGB8)> { function parse_rgb_color (line 291) | fn parse_rgb_color(rgb: &[u8]) -> Option { function parse_hex_byte (line 304) | fn parse_hex_byte(bytes: &[u8]) -> Option { function hex_value (line 315) | fn hex_value(byte: u8) -> Option { constant PALETTE_RESP (line 330) | const PALETTE_RESP: &[u8] = concat!( constant FG_RESP (line 350) | const FG_RESP: &[u8] = b"\x1b]10;rgb:1122/3344/5566\x07"; constant BG_RESP (line 351) | const BG_RESP: &[u8] = b"\x1b]11;rgb:7788/99aa/bbcc\x07"; constant DA_RESP (line 352) | const DA_RESP: &[u8] = b"\x1b[?1;2c"; constant XTVERSION_RESP (line 353) | const XTVERSION_RESP: &[u8] = b"\x1bP>|xterm-395\x1b\\"; function feed_chunks (line 355) | fn feed_chunks(chunks: &[&[u8]]) -> (Option, Option anyhow::Result { method resize (line 81) | pub async fn resize(&mut self, size: TtySize) -> io::Result<()> { method drop (line 90) | fn drop(&mut self) { method get_size (line 98) | fn get_size(&self) -> Winsize { method read (line 111) | async fn read(&self, buf: &mut [u8]) -> io::Result { method write (line 119) | async fn write(&self, buf: &[u8]) -> io::Result { function copy (line 128) | fn copy(src_fd: F, dst_fd: G) { FILE: src/util.rs function get_local_path (line 10) | pub fn get_local_path(filename: &str) -> anyhow::Result anyhow::Result { type Utf8Decoder (line 53) | pub struct Utf8Decoder(Vec); method new (line 56) | pub fn new() -> Self { method feed (line 60) | pub fn feed(&mut self, input: &[u8]) -> String { type Quantizer (line 98) | pub struct Quantizer { method new (line 104) | pub fn new(q: u128) -> Self { method next (line 111) | pub fn next(&mut self, value: u128) -> u128 { function utf8_decoder (line 128) | fn utf8_decoder() { function quantizer (line 148) | fn quantizer() {