Home / File/ netty_io_uring.h — netty Source File

netty_io_uring.h — netty Source File

Architecture documentation for netty_io_uring.h, a c file in the netty codebase. 12 imports, 1 dependents.

File c NativeTransport 12 imports 1 dependents

Entity Profile

Dependency Diagram

graph LR
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e["netty_io_uring.h"]
  d0c9fb3d_161c_84ac_b9b6_aac527ef62bc["io_uring.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> d0c9fb3d_161c_84ac_b9b6_aac527ef62bc
  edbba232_b8c4_656f_9dfa_737fe26a72d3["netty_unix_buffer.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> edbba232_b8c4_656f_9dfa_737fe26a72d3
  610ed693_3198_ae38_8654_3d3b9cf1c58c["netty_unix_errors.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> 610ed693_3198_ae38_8654_3d3b9cf1c58c
  cf4739e6_7449_d84a_391f_9cc2007ffe16["netty_unix_filedescriptor.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> cf4739e6_7449_d84a_391f_9cc2007ffe16
  e8ce5fd2_c405_7f15_aea5_445386d0b53f["netty_unix_jni.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> e8ce5fd2_c405_7f15_aea5_445386d0b53f
  f452e44e_a441_765c_5d2a_60694be4a256["netty_unix_limits.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> f452e44e_a441_765c_5d2a_60694be4a256
  0239d045_10ae_8e84_258c_45063fe86ff7["netty_unix_socket.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> 0239d045_10ae_8e84_258c_45063fe86ff7
  6acc0a6f_eccc_2930_81f0_cb2172ffd1da["netty_unix_util.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> 6acc0a6f_eccc_2930_81f0_cb2172ffd1da
  3224df39_5d62_cf9d_b4f1_7d1667786dba["netty_unix.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> 3224df39_5d62_cf9d_b4f1_7d1667786dba
  57dbba5a_a02c_21b2_1382_79ab5e44c50a["stddef.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> 57dbba5a_a02c_21b2_1382_79ab5e44c50a
  617ed4cf_d595_a5c7_1593_810f21ce0712["stdint.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> 617ed4cf_d595_a5c7_1593_810f21ce0712
  929444c6_83a0_72f2_6829_b63c20d5b933["stdio.h"]
  0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e --> 929444c6_83a0_72f2_6829_b63c20d5b933
  1e90a91a_8d6e_4bf9_7471_176403d8fd24["netty_io_uring_native.c"]
  1e90a91a_8d6e_4bf9_7471_176403d8fd24 --> 0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e
  style 0e9a8ab2_7f8f_64f5_981b_0fbad9d0a59e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/*
 * Copyright 2020 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.
 */
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include "io_uring.h"
#include "netty_unix_buffer.h"
#include "netty_unix_errors.h"
#include "netty_unix_filedescriptor.h"
#include "netty_unix_jni.h"
#include "netty_unix_limits.h"
#include "netty_unix_socket.h"
#include "netty_unix_util.h"
#include "netty_unix.h"

#ifndef NETTY_IO_URING
#define NETTY_IO_URING

// See https://github.com/axboe/liburing/blob/liburing-2.11/src/include/liburing.h#L78
struct io_uring_sq {
	unsigned *khead;
	unsigned *ktail;
	// Deprecated: use `ring_mask` instead of `*kring_mask`
	unsigned *kring_mask;
	// Deprecated: use `ring_entries` instead of `*kring_entries`
	unsigned *kring_entries;
	unsigned *kflags;
	unsigned *kdropped;
	unsigned *array;
	struct io_uring_sqe *sqes;

	unsigned sqe_head;
	unsigned sqe_tail;

	size_t ring_sz;
	void *ring_ptr;

	unsigned ring_mask;
	unsigned ring_entries;

	unsigned pad[2];
};

struct io_uring_cq {
	unsigned *khead;
	unsigned *ktail;
	// Deprecated: use `ring_mask` instead of `*kring_mask`
// ... (62 more lines)

Dependencies

  • io_uring.h
  • netty_unix.h
  • netty_unix_buffer.h
  • netty_unix_errors.h
  • netty_unix_filedescriptor.h
  • netty_unix_jni.h
  • netty_unix_limits.h
  • netty_unix_socket.h
  • netty_unix_util.h
  • stddef.h
  • stdint.h
  • stdio.h

Frequently Asked Questions

What does netty_io_uring.h do?
netty_io_uring.h is a source file in the netty codebase, written in c. It belongs to the NativeTransport domain.
What does netty_io_uring.h depend on?
netty_io_uring.h imports 12 module(s): io_uring.h, netty_unix.h, netty_unix_buffer.h, netty_unix_errors.h, netty_unix_filedescriptor.h, netty_unix_jni.h, netty_unix_limits.h, netty_unix_socket.h, and 4 more.
What files import netty_io_uring.h?
netty_io_uring.h is imported by 1 file(s): netty_io_uring_native.c.
Where is netty_io_uring.h in the architecture?
netty_io_uring.h is located at transport-native-io_uring/src/main/c/netty_io_uring.h (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