1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// Copyright 2023 The RocketMQ Rust Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//! Bounded TCP/TLS transport ownership boundary.
//!
//! File-backed frames use [`api::FileRegion`] to retain an immutable storage lease through writer
//! completion. Portable transfers read one reusable 64 KiB buffer on the runtime-owned blocking
//! I/O lane. With the default-off `linux-sendfile` feature,
//! [`api::FileTransferMode::Auto`] selects Linux `sendfile` for plaintext TCP regions of at
//! least 64 KiB after a cached capability preflight; unsupported filesystems fall back before any
//! frame bytes are written. TLS always uses portable reads so that payload bytes still pass
//! through the userspace rustls record layer.
//!
//! `Bytes` sharing and vectored writes are userspace less-copy techniques. Only the optional
//! plaintext file-region backend avoids the file-to-userspace body copy; it does not imply NIC
//! offload, remote acknowledgement, or support for `MSG_ZEROCOPY`.
mod admission;
mod backend;
mod base;
#[cfg(feature = "test-support")]
pub mod benchmark_support;
mod client;
mod clients;
mod codec;
mod common;
mod config;
mod config_support;
mod connection;
mod contract;
mod deadline;
mod discovery;
mod dispatch;
mod error;
mod error_helpers;
mod error_response;
mod file_region;
mod file_region_io;
mod file_region_writer;
mod hook_registry;
#[cfg(all(target_os = "linux", feature = "linux-sendfile"))]
mod linux;
mod net;
pub mod prelude;
mod proxy_protocol;
mod public_api;
mod remoting;
mod remoting_server;
mod request_ordering;
mod request_outcome;
mod request_processor;
mod rpc;
mod runtime;
mod security;
mod server;
mod session_executor;
mod session_registry;
mod session_view;
#[cfg(feature = "socks")]
mod socks;
mod telemetry;
#[cfg(any(test, feature = "test-support"))]
pub mod test_support;
mod tls;
mod write_result;
mod write_strategy;
mod writer_runtime;
/// Intentionally curated public API.
pub mod api {
pub use crate::public_api::*;
}