netty_quic_quiche.c — netty Source File
Architecture documentation for netty_quic_quiche.c, a c file in the netty codebase. 16 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR c1904e1f_9136_0552_f4b1_df726cdbf096["netty_quic_quiche.c"] f118a04b_a605_9f13_c51c_758d1dd6f9d0["netty_jni_util.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> f118a04b_a605_9f13_c51c_758d1dd6f9d0 944c06ae_ce96_9522_4591_5753ffa7339e["netty_quic_boringssl.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 944c06ae_ce96_9522_4591_5753ffa7339e 9533eae2_40b5_3185_74fb_7fef2ab81f4b["netty_quic.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 9533eae2_40b5_3185_74fb_7fef2ab81f4b 0c4a58dc_2fdd_e4ad_9234_08a5790f43e3["jni.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 0c4a58dc_2fdd_e4ad_9234_08a5790f43e3 617ed4cf_d595_a5c7_1593_810f21ce0712["stdint.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 617ed4cf_d595_a5c7_1593_810f21ce0712 d822c438_bcda_8ebc_05f9_1007c55018be["stdlib.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> d822c438_bcda_8ebc_05f9_1007c55018be 5cbcd069_b25c_7379_e9c5_47a7dd85985a["string.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 5cbcd069_b25c_7379_e9c5_47a7dd85985a 71c52c20_b4aa_1551_58db_42e42fa27aa6["errno.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 71c52c20_b4aa_1551_58db_42e42fa27aa6 991b14b8_1fd8_5a73_9735_1a24a50dd274["winsock2.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 991b14b8_1fd8_5a73_9735_1a24a50dd274 7ae38ecd_ee0b_48f8_3f91_138db270e92d["ws2tcpip.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 7ae38ecd_ee0b_48f8_3f91_138db270e92d 53493a33_7785_13b5_d1b9_17976c8edd90["time.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 53493a33_7785_13b5_d1b9_17976c8edd90 d49c362d_fca6_d069_312a_56ea401c9f43["inet.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> d49c362d_fca6_d069_312a_56ea401c9f43 505c78e3_5429_a273_f5c4_148e73de1d1f["socket.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 505c78e3_5429_a273_f5c4_148e73de1d1f 87777250_5cc3_52ea_1645_b2af04d91714["in.h"] c1904e1f_9136_0552_f4b1_df726cdbf096 --> 87777250_5cc3_52ea_1645_b2af04d91714 style c1904e1f_9136_0552_f4b1_df726cdbf096 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 <jni.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
// This needs to be included for quiche_recv_info and quiche_send_info structs.
#include <time.h>
#else
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
// This needs to be included for quiche_recv_info and quiche_send_info structs.
#include <sys/time.h>
#endif // _WIN32
#include <quiche.h>
#include "netty_jni_util.h"
#include "netty_quic_boringssl.h"
#include "netty_quic.h"
// Add define if NETTY_QUIC_BUILD_STATIC is defined so it is picked up in netty_jni_util.c
#ifdef NETTY_QUIC_BUILD_STATIC
#define NETTY_JNI_UTIL_BUILD_STATIC
#endif
#define STATICALLY_CLASSNAME "io/netty/handler/codec/quic/QuicheNativeStaticallyReferencedJniMethods"
#define QUICHE_CLASSNAME "io/netty/handler/codec/quic/Quiche"
// This needs to be kept in sync with what is defined in Quiche.java
// and pom.xml as jniLibPrefix.
#define LIBRARYNAME "netty_quiche42"
static jweak quiche_logger_class_weak = NULL;
static jmethodID quiche_logger_class_log = NULL;
static jobject quiche_logger = NULL;
static JavaVM *global_vm = NULL;
static jclass integer_class = NULL;
static jmethodID integer_class_valueof = NULL;
// ... (1378 more lines)
Domain
Dependencies
- errno.h
- in.h
- inet.h
- jni.h
- netty_jni_util.h
- netty_quic.h
- netty_quic_boringssl.h
- quiche.h
- socket.h
- stdint.h
- stdlib.h
- string.h
- time.h
- time.h
- winsock2.h
- ws2tcpip.h
Source
Frequently Asked Questions
What does netty_quic_quiche.c do?
netty_quic_quiche.c is a source file in the netty codebase, written in c. It belongs to the ProtocolCodecs domain.
What does netty_quic_quiche.c depend on?
netty_quic_quiche.c imports 16 module(s): errno.h, in.h, inet.h, jni.h, netty_jni_util.h, netty_quic.h, netty_quic_boringssl.h, quiche.h, and 8 more.
Where is netty_quic_quiche.c in the architecture?
netty_quic_quiche.c is located at codec-native-quic/src/main/c/netty_quic_quiche.c (domain: ProtocolCodecs, directory: codec-native-quic/src/main/c).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free