netty_io_uring_linuxsocket.c — netty Source File
Architecture documentation for netty_io_uring_linuxsocket.c, a c file in the netty codebase. 13 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72["netty_io_uring_linuxsocket.c"] d0123fb4_894e_5f98_aeac_81dde1bffaf1["netty_io_uring_linuxsocket.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> d0123fb4_894e_5f98_aeac_81dde1bffaf1 610ed693_3198_ae38_8654_3d3b9cf1c58c["netty_unix_errors.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> 610ed693_3198_ae38_8654_3d3b9cf1c58c cf4739e6_7449_d84a_391f_9cc2007ffe16["netty_unix_filedescriptor.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> cf4739e6_7449_d84a_391f_9cc2007ffe16 e8ce5fd2_c405_7f15_aea5_445386d0b53f["netty_unix_jni.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> e8ce5fd2_c405_7f15_aea5_445386d0b53f 0239d045_10ae_8e84_258c_45063fe86ff7["netty_unix_socket.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> 0239d045_10ae_8e84_258c_45063fe86ff7 6acc0a6f_eccc_2930_81f0_cb2172ffd1da["netty_unix_util.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> 6acc0a6f_eccc_2930_81f0_cb2172ffd1da d822c438_bcda_8ebc_05f9_1007c55018be["stdlib.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> d822c438_bcda_8ebc_05f9_1007c55018be 5cbcd069_b25c_7379_e9c5_47a7dd85985a["string.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> 5cbcd069_b25c_7379_e9c5_47a7dd85985a 71c52c20_b4aa_1551_58db_42e42fa27aa6["errno.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> 71c52c20_b4aa_1551_58db_42e42fa27aa6 87777250_5cc3_52ea_1645_b2af04d91714["in.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> 87777250_5cc3_52ea_1645_b2af04d91714 9852d5ba_7ba1_f258_a5aa_435484bdb7b1["udp.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> 9852d5ba_7ba1_f258_a5aa_435484bdb7b1 b4c9054f_d3c7_0c09_9e66_b024a43dd83a["tcp.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> b4c9054f_d3c7_0c09_9e66_b024a43dd83a d74a6009_ec80_1e86_97f9_4d3451c5416a["fcntl.h"] cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 --> d74a6009_ec80_1e86_97f9_4d3451c5416a style cf9adfdd_5b0d_874b_7ce6_4d8c3d341d72 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/*
* Copyright 2022 The Netty Project
*
* The Netty Project licenses this file to you 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:
*
* https://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.
*/
/*
* Since glibc 2.8, the _GNU_SOURCE feature test macro must be defined
* (before including any header files) in order to obtain the
* definition of the ucred structure. See <a href=https://linux.die.net/man/7/unix>
*/
#define _GNU_SOURCE
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <netinet/in.h>
#include <netinet/udp.h> // SOL_UDP
#include <linux/tcp.h> // TCP_NOTSENT_LOWAT is a linux specific define
#include <fcntl.h>
#include "netty_io_uring_linuxsocket.h"
#include "netty_unix_errors.h"
#include "netty_unix_filedescriptor.h"
#include "netty_unix_jni.h"
#include "netty_unix_socket.h"
#include "netty_unix_util.h"
#define LINUXSOCKET_CLASSNAME "io/netty/channel/uring/LinuxSocket"
// TCP_FASTOPEN is defined in linux 3.7. We define this here so older kernels can compile.
#ifndef TCP_FASTOPEN
#define TCP_FASTOPEN 23
#endif
// TCP_FASTOPEN_CONNECT is defined in linux 4.11. We define this here so older kernels can compile.
#ifndef TCP_FASTOPEN_CONNECT
#define TCP_FASTOPEN_CONNECT 30
#endif
// TCP_NOTSENT_LOWAT is defined in linux 3.12. We define this here so older kernels can compile.
#ifndef TCP_NOTSENT_LOWAT
#define TCP_NOTSENT_LOWAT 25
#endif
// SO_BUSY_POLL is defined in linux 3.11. We define this here so older kernels can compile.
#ifndef SO_BUSY_POLL
#define SO_BUSY_POLL 46
#endif
// ... (757 more lines)
Domain
Dependencies
- errno.h
- fcntl.h
- in.h
- netty_io_uring_linuxsocket.h
- netty_unix_errors.h
- netty_unix_filedescriptor.h
- netty_unix_jni.h
- netty_unix_socket.h
- netty_unix_util.h
- stdlib.h
- string.h
- tcp.h
- udp.h
Source
Frequently Asked Questions
What does netty_io_uring_linuxsocket.c do?
netty_io_uring_linuxsocket.c is a source file in the netty codebase, written in c. It belongs to the NativeTransport domain.
What does netty_io_uring_linuxsocket.c depend on?
netty_io_uring_linuxsocket.c imports 13 module(s): errno.h, fcntl.h, in.h, netty_io_uring_linuxsocket.h, netty_unix_errors.h, netty_unix_filedescriptor.h, netty_unix_jni.h, netty_unix_socket.h, and 5 more.
Where is netty_io_uring_linuxsocket.c in the architecture?
netty_io_uring_linuxsocket.c is located at transport-native-io_uring/src/main/c/netty_io_uring_linuxsocket.c (domain: NativeTransport, directory: transport-native-io_uring/src/main/c).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free