Skip to main content

rmux_server/
lib.rs

1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3
4//! Tokio-based detached RPC server for RMUX.
5
6#[cfg(any(unix, windows))]
7#[cfg_attr(windows, allow(dead_code))]
8mod automatic_rename;
9#[cfg(any(unix, windows))]
10#[cfg_attr(windows, allow(dead_code))]
11mod client_flags;
12#[cfg(any(unix, windows))]
13#[cfg_attr(windows, allow(dead_code))]
14mod clock_mode;
15#[cfg(any(unix, windows))]
16#[cfg_attr(windows, allow(dead_code))]
17mod control;
18#[cfg(any(unix, windows))]
19#[cfg_attr(windows, allow(dead_code))]
20mod control_mode;
21#[cfg(any(unix, windows))]
22#[cfg_attr(windows, allow(dead_code))]
23mod control_notifications;
24#[cfg(any(unix, windows))]
25#[cfg_attr(windows, allow(dead_code))]
26mod copy_mode;
27mod daemon;
28#[cfg(any(unix, windows))]
29mod diagnostic_log;
30#[cfg(any(unix, windows))]
31#[cfg_attr(windows, allow(dead_code))]
32mod format_runtime;
33#[cfg(any(unix, windows))]
34#[cfg_attr(windows, allow(dead_code))]
35mod handler;
36#[cfg(any(unix, windows))]
37#[cfg_attr(windows, allow(dead_code))]
38mod handler_support;
39#[cfg(any(unix, windows))]
40#[cfg_attr(windows, allow(dead_code))]
41mod hook_compat;
42#[cfg(any(unix, windows))]
43#[cfg_attr(windows, allow(dead_code))]
44mod hook_runtime;
45#[cfg(any(unix, windows))]
46mod host_name;
47#[cfg(any(unix, windows))]
48mod input_keys;
49#[cfg(any(unix, windows))]
50#[cfg_attr(windows, allow(dead_code))]
51mod key_table;
52#[cfg(any(unix, windows))]
53#[cfg_attr(windows, allow(dead_code))]
54mod keys;
55#[cfg(any(unix, windows))]
56#[cfg_attr(windows, allow(dead_code))]
57mod listener;
58#[cfg(any(unix, windows))]
59#[cfg_attr(windows, allow(dead_code))]
60mod listener_options;
61#[cfg(any(unix, windows))]
62#[cfg_attr(windows, allow(dead_code))]
63mod listener_signals;
64#[cfg(any(unix, windows))]
65mod mouse;
66#[cfg(any(unix, windows))]
67#[cfg_attr(windows, allow(dead_code))]
68mod outer_terminal;
69#[cfg(any(unix, windows))]
70#[cfg_attr(windows, allow(dead_code))]
71mod pane_indices;
72#[cfg(any(unix, windows))]
73#[cfg_attr(windows, allow(dead_code))]
74mod pane_io;
75#[cfg(unix)]
76mod pane_reader_runtime;
77#[cfg(any(unix, windows))]
78#[cfg_attr(windows, allow(dead_code))]
79mod pane_screen_state;
80#[cfg(any(unix, windows))]
81#[cfg_attr(windows, allow(dead_code))]
82mod pane_terminal_lookup;
83#[cfg(any(unix, windows))]
84#[cfg_attr(windows, allow(dead_code))]
85mod pane_terminal_process;
86#[cfg(any(unix, windows))]
87#[cfg_attr(windows, allow(dead_code))]
88mod pane_terminals;
89#[cfg(any(unix, windows))]
90#[cfg_attr(windows, allow(dead_code))]
91mod pane_transcript;
92#[cfg(any(unix, windows))]
93#[cfg_attr(windows, allow(dead_code))]
94mod renderer;
95#[cfg(any(unix, windows))]
96#[cfg_attr(windows, allow(dead_code))]
97mod server_access;
98mod signals;
99#[cfg(any(unix, windows))]
100#[cfg_attr(windows, allow(dead_code))]
101mod socket_cleanup;
102#[cfg(any(unix, windows))]
103#[cfg_attr(windows, allow(dead_code))]
104mod status_ranges;
105#[cfg(any(unix, windows))]
106#[cfg_attr(windows, allow(dead_code))]
107mod terminal;
108#[cfg(test)]
109mod test_env;
110#[cfg(test)]
111mod test_shell;
112#[cfg(unix)]
113mod unix_socket;
114#[cfg(any(unix, windows))]
115#[cfg_attr(windows, allow(dead_code))]
116mod wait_for;
117#[cfg(all(any(unix, windows), feature = "web"))]
118mod web;
119
120/// Fuzzing entry points for protocol parsers.
121#[cfg(all(any(unix, windows), feature = "web", feature = "fuzzing"))]
122#[doc(hidden)]
123pub mod fuzzing {
124    /// Feeds arbitrary bytes into the server-side share client-frame parser.
125    pub fn websocket_client_frame(data: &[u8]) {
126        crate::web::fuzz_client_frame(data);
127    }
128}
129
130pub use daemon::{
131    default_socket_path, ConfigFileSelection, ConfigLoadOptions, DaemonConfig, ServerDaemon,
132    ServerHandle,
133};