summaryrefslogtreecommitdiff
path: root/src/rpc/envoy.extensions.network.socket_interface.v3.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpc/envoy.extensions.network.socket_interface.v3.rs')
-rw-r--r--src/rpc/envoy.extensions.network.socket_interface.v3.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/rpc/envoy.extensions.network.socket_interface.v3.rs b/src/rpc/envoy.extensions.network.socket_interface.v3.rs
new file mode 100644
index 00000000..1c0aaef0
--- /dev/null
+++ b/src/rpc/envoy.extensions.network.socket_interface.v3.rs
@@ -0,0 +1,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)