summaryrefslogtreecommitdiff
path: root/src/rpc/envoy.extensions.network.socket_interface.v3.rs
blob: 1c0aaef079e2743701844be0b517850874000e7e (plain)
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
// @generated
// This file is @generated by prost-build.
// \[#protodoc-title: Default socket interface configuration\]

/// Configuration for default socket interface that relies on OS dependent syscall to create
/// sockets.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DefaultSocketInterface {
    /// io_uring options. io_uring is only valid in Linux with at least kernel version 5.11. Otherwise,
    /// Envoy will fall back to use the default socket API. If not set then io_uring will not be
    /// enabled.
    #[prost(message, optional, tag="1")]
    pub io_uring_options: ::core::option::Option<IoUringOptions>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IoUringOptions {
    /// The size for io_uring submission queues (SQ). io_uring is built with a fixed size in each
    /// thread during configuration, and each io_uring operation creates a submission queue
    /// entry (SQE). The default is 1000.
    #[prost(message, optional, tag="1")]
    pub io_uring_size: ::core::option::Option<super::super::super::super::super::google::protobuf::UInt32Value>,
    /// Enable io_uring submission queue polling (SQPOLL). io_uring SQPOLL mode polls all SQEs in the
    /// SQ in the kernel thread. io_uring SQPOLL mode may reduce latency and increase CPU usage as a
    /// cost. The default is false.
    #[prost(bool, tag="2")]
    pub enable_submission_queue_polling: bool,
    /// The size of an io_uring socket's read buffer. Each io_uring read operation will allocate a
    /// buffer of the given size. If the given buffer is too small, the socket will have read multiple
    /// times for all the data. The default is 8192.
    #[prost(message, optional, tag="3")]
    pub read_buffer_size: ::core::option::Option<super::super::super::super::super::google::protobuf::UInt32Value>,
    /// The write timeout of an io_uring socket on closing in ms. io_uring writes and closes
    /// asynchronously. If the remote stops reading, the io_uring write operation may never complete.
    /// The operation is canceled and the socket is closed after the timeout. The default is 1000.
    #[prost(message, optional, tag="4")]
    pub write_timeout_ms: ::core::option::Option<super::super::super::super::super::google::protobuf::UInt32Value>,
}
// @@protoc_insertion_point(module)