QuicheError enum
Пакет: com.hypixel.hytale.lib.quiche
Файл: com/hypixel/hytale/lib/quiche/QuicheNative.java
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private static final QuicheNative.QuicheError[] |
BY_CODE |
|
|
BY_CODE |
|
private final int |
code |
|
QuicheNative.QuicheError[] |
var0 |
|
int |
var1 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
OPTIMISTIC_ACK_DETECTED OPTIMISTIC_ACK_DETECTED(-22) |
|
public int |
codepublic int code() |
|
|
for for(QuicheNative.QuicheError var4 : var0) |
|
public static QuicheNative.QuicheError |
fromCodepublic static QuicheNative.QuicheError fromCode(int var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.lib.quiche;
class="kw">import com.hypixel.hytale.sneakythrow.SneakyThrow;
class="kw">import java.io.IOException;
class="kw">import java.io.InputStream;
class="kw">import java.lang.foreign.AddressLayout;
class="kw">import java.lang.foreign.Arena;
class="kw">import java.lang.foreign.FunctionDescriptor;
class="kw">import java.lang.foreign.Linker;
class="kw">import java.lang.foreign.MemoryLayout;
class="kw">import java.lang.foreign.MemorySegment;
class="kw">import java.lang.foreign.StructLayout;
class="kw">import java.lang.foreign.SymbolLookup;
class="kw">import java.lang.foreign.ValueLayout;
class="kw">import java.lang.foreign.MemoryLayout.PathElement;
class="kw">import java.lang.foreign.ValueLayout.OfBoolean;
class="kw">import java.lang.foreign.ValueLayout.OfByte;
class="kw">import java.lang.foreign.ValueLayout.OfInt;
class="kw">import java.lang.foreign.ValueLayout.OfLong;
class="kw">import java.lang.foreign.ValueLayout.OfShort;
class="kw">import java.lang.invoke.MethodHandle;
class="kw">import java.lang.invoke.VarHandle;
class="kw">import java.nio.file.Files;
class="kw">import java.nio.file.Path;
class="kw">import java.nio.file.StandardCopyOption;
class="kw">import java.util.Locale;
class="kw">public class QuicheNative {
class="kw">public class="kw">static class="kw">final int QUICHE_MAX_CONN_ID_LEN = 20;
class="kw">public class="kw">static class="kw">final int QUICHE_SHUTDOWN_READ = 0;
class="kw">public class="kw">static class="kw">final int QUICHE_SHUTDOWN_WRITE = 1;
class="kw">private class="kw">static class="kw">final Linker LINKER = Linker.nativeLinker();
class="kw">private class="kw">static class="kw">final Arena GLOBAL_ARENA = Arena.global();
class="kw">private class="kw">static class="kw">final SymbolLookup LOOKUP;
class="kw">public class="kw">static class="kw">final QuicheNative.Platform PLATFORM;
class="kw">public class="kw">static class="kw">final AddressLayout C_POINTER;
class="kw">public class="kw">static class="kw">final OfInt C_INT;
class="kw">public class="kw">static class="kw">final OfLong C_LONG;
class="kw">public class="kw">static class="kw">final OfByte C_BYTE;
class="kw">public class="kw">static class="kw">final OfBoolean C_BOOL;
class="kw">public class="kw">static class="kw">final OfShort C_SHORT;
class="kw">public class="kw">static class="kw">final ValueLayout C_SIZE_T;
class="kw">public class="kw">static class="kw">final StructLayout SOCKADDR_STORAGE_LAYOUT;
class="kw">public class="kw">static class="kw">final StructLayout SOCKADDR_LAYOUT;
class="kw">public class="kw">static class="kw">final StructLayout TIMESPEC_LAYOUT;
class="kw">public class="kw">static class="kw">final StructLayout RECV_INFO_LAYOUT;
class="kw">public class="kw">static class="kw">final StructLayout SEND_INFO_LAYOUT;
class="kw">public class="kw">static class="kw">final VarHandle SOCKADDR_FAMILY;
class="kw">public class="kw">static class="kw">final VarHandle SOCKADDR_STORAGE_FAMILY;
class="kw">public class="kw">static class="kw">final VarHandle SOCKADDR_STORAGE_LEN;
class="kw">public class="kw">static class="kw">final long SOCKADDR_STORAGE_DATA_OFFSET;
class="kw">private class="kw">static class="kw">final VarHandle TIMESPEC_SEC;
class="kw">private class="kw">static class="kw">final VarHandle TIMESPEC_NSEC;
class="kw">private class="kw">static class="kw">final VarHandle RECV_INFO_FROM;
class="kw">private class="kw">static class="kw">final VarHandle RECV_INFO_FROM_LEN;
class="kw">private class="kw">static class="kw">final VarHandle RECV_INFO_TO;
class="kw">private class="kw">static class="kw">final VarHandle RECV_INFO_TO_LEN;
class="kw">private class="kw">static class="kw">final long SEND_INFO_FROM_OFFSET;
class="kw">private class="kw">static class="kw">final VarHandle SEND_INFO_FROM_LEN;
class="kw">private class="kw">static class="kw">final long SEND_INFO_TO_OFFSET;
class="kw">private class="kw">static class="kw">final VarHandle SEND_INFO_TO_LEN;
class="kw">private class="kw">static class="kw">final long SEND_INFO_AT_OFFSET;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_VERSION;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_ENABLE_DEBUG_LOGGING;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PUT_VARINT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_GET_VARINT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_NEW;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_LOAD_CERT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_LOAD_CERT_CHAIN_FROM_PEM_FILE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_LOAD_PRIV_KEY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_LOAD_PRIV_KEY_FROM_PEM_FILE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_LOAD_VERIFY_LOCATIONS_FROM_FILE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_LOAD_VERIFY_LOCATIONS_FROM_DIRECTORY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_VERIFY_PEER;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_VERIFY_PEER_OPTIONAL;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_GREASE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_DISCOVER_PMTU;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_LOG_KEYS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_ENABLE_EARLY_DATA;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_APPLICATION_PROTOS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_MAX_AMPLIFICATION_FACTOR;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_MAX_IDLE_TIMEOUT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_MAX_RECV_UDP_PAYLOAD_SIZE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_MAX_SEND_UDP_PAYLOAD_SIZE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_INITIAL_MAX_DATA;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_BIDI_LOCAL;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_BIDI_REMOTE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_UNI;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_INITIAL_MAX_STREAMS_BIDI;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_INITIAL_MAX_STREAMS_UNI;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_ACK_DELAY_EXPONENT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_MAX_ACK_DELAY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_DISABLE_ACTIVE_MIGRATION;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_CC_ALGORITHM_NAME;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_INITIAL_CONGESTION_WINDOW_PACKETS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_CC_ALGORITHM;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_ENABLE_HYSTART;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_ENABLE_PACING;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_MAX_PACING_RATE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_ENABLE_DGRAM;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_MAX_CONNECTION_WINDOW;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_MAX_STREAM_WINDOW;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_ACTIVE_CONNECTION_ID_LIMIT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_STATELESS_RESET_TOKEN;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_DISABLE_DCID_REUSE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_SET_TICKET_KEY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONFIG_FREE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_HEADER_INFO;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_ACCEPT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONNECT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_NEGOTIATE_VERSION;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_RETRY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_VERSION_IS_SUPPORTED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_NEW_WITH_TLS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SET_KEYLOG_PATH;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SET_QLOG_PATH;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SET_SESSION;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SET_MAX_IDLE_TIMEOUT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_RECV;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SEND;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SEND_QUANTUM;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SEND_ON_PATH;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SEND_QUANTUM_ON_PATH;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_TIMEOUT_AS_NANOS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_TIMEOUT_AS_MILLIS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_ON_TIMEOUT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_CLOSE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_FREE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_RECV;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_SEND;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_PRIORITY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_SHUTDOWN;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_CAPACITY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_READABLE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_READABLE_NEXT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_WRITABLE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_WRITABLE_NEXT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STREAM_FINISHED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_READABLE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_WRITABLE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_STREAM_ITER_NEXT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_STREAM_ITER_FREE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_MAX_SEND_UDP_PAYLOAD_SIZE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_ESTABLISHED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_RESUMED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_IN_EARLY_DATA;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_READABLE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_DRAINING;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_CLOSED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_TIMED_OUT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_SERVER;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PEER_STREAMS_LEFT_BIDI;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PEER_STREAMS_LEFT_UNI;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_TRACE_ID;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SOURCE_ID;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DESTINATION_ID;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_APPLICATION_PROTO;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PEER_CERT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SESSION;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SERVER_NAME;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PEER_ERROR;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_LOCAL_ERROR;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_STATS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PEER_TRANSPORT_PARAMS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PATH_STATS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SOURCE_IDS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONNECTION_ID_ITER_NEXT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONNECTION_ID_ITER_FREE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_RETIRED_SCIDS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_AVAILABLE_DCIDS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SCIDS_LEFT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_ACTIVE_SCIDS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_NEW_SCID;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_RETIRE_DCID;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PROBE_PATH;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_MIGRATE_SOURCE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_MIGRATE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PATH_EVENT_NEXT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PATH_EVENT_TYPE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PATH_EVENT_NEW;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PATH_EVENT_VALIDATED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PATH_EVENT_FAILED_VALIDATION;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PATH_EVENT_CLOSED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PATH_EVENT_REUSED_SOURCE_CONNECTION_ID;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PATH_EVENT_PEER_MIGRATED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_PATH_EVENT_FREE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_PATHS_ITER;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_SOCKET_ADDR_ITER_NEXT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_SOCKET_ADDR_ITER_FREE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_PATH_VALIDATED;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_MAX_WRITABLE_LEN;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_RECV_FRONT_LEN;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_RECV_QUEUE_LEN;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_RECV_QUEUE_BYTE_SIZE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_SEND_QUEUE_LEN;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_SEND_QUEUE_BYTE_SIZE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_RECV;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_SEND;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_DGRAM_PURGE_OUTGOING;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_DGRAM_SEND_QUEUE_FULL;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_IS_DGRAM_RECV_QUEUE_FULL;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SEND_ACK_ELICITING;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_CONN_SEND_ACK_ELICITING_ON_PATH;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONFIG_NEW;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONFIG_SET_MAX_FIELD_SECTION_SIZE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONFIG_SET_QPACK_MAX_TABLE_CAPACITY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONFIG_SET_QPACK_BLOCKED_STREAMS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONFIG_ENABLE_EXTENDED_CONNECT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONFIG_FREE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONN_NEW_WITH_TRANSPORT;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONN_POLL;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_EVENT_TYPE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_EVENT_FOR_EACH_HEADER;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_FOR_EACH_SETTING;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_EVENT_HEADERS_HAS_MORE_FRAMES;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_EXTENDED_CONNECT_ENABLED_BY_PEER;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_EVENT_FREE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_SEND_REQUEST;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_SEND_RESPONSE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_SEND_RESPONSE_WITH_PRIORITY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_SEND_ADDITIONAL_HEADERS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_SEND_BODY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_RECV_BODY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_SEND_GOAWAY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_PARSE_EXTENSIBLE_PRIORITY;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_SEND_PRIORITY_UPDATE_FOR_REQUEST;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_TAKE_LAST_PRIORITY_UPDATE;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_DGRAM_ENABLED_BY_PEER;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONN_STATS;
class="kw">public class="kw">static class="kw">final MethodHandle QUICHE_H3_CONN_FREE;
class="kw">public QuicheNative() {
}
class="kw">public class="kw">static void setSizeT(MemorySegment var0, long var1, long var3) {
class="kw">switch (C_SIZE_T) {
case OfLong var7:
var0.set(var7, var1, var3);
break;
case OfInt var8:
var0.set(var8, var1, (int)var3);
break;
class="kw">default:
throw new UnsupportedOperationException("Unsupported size_t layout: " + C_SIZE_T);
}
}
class="kw">public class="kw">static long getSizeT(MemorySegment var0, long var1) {
class="kw">return class="kw">switch (C_SIZE_T) {
case OfLong var5 -> var0.get(var5, var1);
case OfInt var6 -> Integer.toUnsignedLong(var0.get(var6, var1));
class="kw">default -> throw new UnsupportedOperationException("Unsupported size_t layout: " + C_SIZE_T);
};
}
class="kw">public class="kw">static int getSockaddrFamily(MemorySegment var0) {
class="kw">return class="kw">switch (PLATFORM) {
case LINUX, WINDOWS -> Short.toUnsignedInt((short)SOCKADDR_FAMILY.get((MemorySegment)var0, (long)0L));
case MACOS -> Byte.toUnsignedInt((byte)SOCKADDR_FAMILY.get((MemorySegment)var0, (long)0L));
};
}
class="kw">public class="kw">static void setSockaddrFamily(MemorySegment var0, int var1) {
class="kw">switch (PLATFORM) {
case LINUX:
case WINDOWS:
SOCKADDR_FAMILY.set((MemorySegment)var0, (long)0L, (short)((short)var1));
break;
case MACOS:
SOCKADDR_FAMILY.set((MemorySegment)var0, (long)0L, (byte)((byte)var1));
}
}
class="kw">public class="kw">static byte getSockaddrLen(MemorySegment var0) {
class="kw">return SOCKADDR_STORAGE_LEN == null ? 0 : (byte)SOCKADDR_STORAGE_LEN.get((MemorySegment)var0, (long)0L);
}
class="kw">public class="kw">static void setSockaddrLen(MemorySegment var0, byte var1) {
if (SOCKADDR_STORAGE_LEN != null) {
SOCKADDR_STORAGE_LEN.set((MemorySegment)var0, (long)0L, (byte)var1);
}
}
class="kw">public class="kw">static MemorySegment getSockaddrData(MemorySegment var0) {
class="kw">return var0.asSlice(SOCKADDR_STORAGE_DATA_OFFSET, SOCKADDR_LAYOUT.byteSize() - SOCKADDR_STORAGE_DATA_OFFSET);
}
class="kw">public class="kw">static int getSockaddrStorageFamily(MemorySegment var0) {
class="kw">return class="kw">switch (PLATFORM) {
case LINUX, WINDOWS -> Short.toUnsignedInt((short)SOCKADDR_STORAGE_FAMILY.get((MemorySegment)var0, (long)0L));
case MACOS -> Byte.toUnsignedInt((byte)SOCKADDR_STORAGE_FAMILY.get((MemorySegment)var0, (long)0L));
};
}
class="kw">public class="kw">static void setSockaddrStorageFamily(MemorySegment var0, int var1) {
class="kw">switch (PLATFORM) {
case LINUX:
case WINDOWS:
SOCKADDR_STORAGE_FAMILY.set((MemorySegment)var0, (long)0L, (short)((short)var1));
break;
case MACOS:
SOCKADDR_STORAGE_FAMILY.set((MemorySegment)var0, (long)0L, (byte)((byte)var1));
}
}
class="kw">public class="kw">static long getTimespecSec(MemorySegment var0) {
class="kw">return (long)TIMESPEC_SEC.get((MemorySegment)var0, (long)0L);
}
class="kw">public class="kw">static void setTimespecSec(MemorySegment var0, long var1) {
TIMESPEC_SEC.set((MemorySegment)var0, (long)0L, (long)var1);
}
class="kw">public class="kw">static long getTimespecNsec(MemorySegment var0) {
class="kw">return class="kw">switch (PLATFORM) {
case LINUX, MACOS -> (long)TIMESPEC_NSEC.get((MemorySegment)var0, (long)0L);
case WINDOWS -> Integer.toUnsignedLong((int)TIMESPEC_NSEC.get((MemorySegment)var0, (long)0L));
};
}
class="kw">public class="kw">static void setTimespecNsec(MemorySegment var0, long var1) {
class="kw">switch (PLATFORM) {
case LINUX:
case MACOS:
TIMESPEC_NSEC.set((MemorySegment)var0, (long)0L, (long)var1);
break;
case WINDOWS:
TIMESPEC_NSEC.set((MemorySegment)var0, (long)0L, (int)((int)var1));
}
}
class="kw">public class="kw">static MemorySegment getRecvInfoFrom(MemorySegment var0) {
class="kw">return (MemorySegment)RECV_INFO_FROM.get((MemorySegment)var0, (long)0L);
}
class="kw">public class="kw">static void setRecvInfoFrom(MemorySegment var0, MemorySegment var1) {
RECV_INFO_FROM.set((MemorySegment)var0, (long)0L, (MemorySegment)var1);
}
class="kw">public class="kw">static int getRecvInfoFromLen(MemorySegment var0) {
class="kw">return (int)RECV_INFO_FROM_LEN.get((MemorySegment)var0, (long)0L);
}
class="kw">public class="kw">static void setRecvInfoFromLen(MemorySegment var0, int var1) {
RECV_INFO_FROM_LEN.set((MemorySegment)var0, (long)0L, (int)var1);
}
class="kw">public class="kw">static MemorySegment getRecvInfoTo(MemorySegment var0) {
class="kw">return (MemorySegment)RECV_INFO_TO.get((MemorySegment)var0, (long)0L);
}
class="kw">public class="kw">static void setRecvInfoTo(MemorySegment var0, MemorySegment var1) {
RECV_INFO_TO.set((MemorySegment)var0, (long)0L, (MemorySegment)var1);
}
class="kw">public class="kw">static int getRecvInfoToLen(MemorySegment var0) {
class="kw">return (int)RECV_INFO_TO_LEN.get((MemorySegment)var0, (long)0L);
}
class="kw">public class="kw">static void setRecvInfoToLen(MemorySegment var0, int var1) {
RECV_INFO_TO_LEN.set((MemorySegment)var0, (long)0L, (int)var1);
}
class="kw">public class="kw">static MemorySegment getSendInfoFrom(MemorySegment var0) {
class="kw">return var0.asSlice(SEND_INFO_FROM_OFFSET, SOCKADDR_STORAGE_LAYOUT);
}
class="kw">public class="kw">static int getSendInfoFromLen(MemorySegment var0) {
class="kw">return (int)SEND_INFO_FROM_LEN.get((MemorySegment)var0, (long)0L);
}
class="kw">public class="kw">static void setSendInfoFromLen(MemorySegment var0, int var1) {
SEND_INFO_FROM_LEN.set((MemorySegment)var0, (long)0L, (int)var1);
}
class="kw">public class="kw">static MemorySegment getSendInfoTo(MemorySegment var0) {
class="kw">return var0.asSlice(SEND_INFO_TO_OFFSET, SOCKADDR_STORAGE_LAYOUT);
}
class="kw">public class="kw">static int getSendInfoToLen(MemorySegment var0) {
class="kw">return (int)SEND_INFO_TO_LEN.get((MemorySegment)var0, (long)0L);
}
class="kw">public class="kw">static void setSendInfoToLen(MemorySegment var0, int var1) {
SEND_INFO_TO_LEN.set((MemorySegment)var0, (long)0L, (int)var1);
}
class="kw">public class="kw">static MemorySegment getSendInfoAt(MemorySegment var0) {
class="kw">return var0.asSlice(SEND_INFO_AT_OFFSET, TIMESPEC_LAYOUT);
}
class="kw">private class="kw">static MethodHandle downcall(String var0, FunctionDescriptor var1) {
class="kw">return LINKER.downcallHandle(LOOKUP.find(var0).orElseThrow(), var1);
}
class="kw">public class="kw">static MemorySegment version() {
try {
class="kw">return (MemorySegment)QUICHE_VERSION.invokeExact();
} catch (Throwable var1) {
throw SneakyThrow.sneakyThrow(var1);
}
}
class="kw">public class="kw">static int enableDebugLogging(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (int)QUICHE_ENABLE_DEBUG_LOGGING.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static int putVarint(MemorySegment var0, long var1, long var3) {
try {
class="kw">return (int)QUICHE_PUT_VARINT.invokeExact((MemorySegment)var0, (long)var1, (long)var3);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static long getVarint(MemorySegment var0, long var1, MemorySegment var3) {
try {
class="kw">return (long)QUICHE_GET_VARINT.invokeExact((MemorySegment)var0, (long)var1, (MemorySegment)var3);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static MemorySegment configNew(int var0) {
try {
class="kw">return (MemorySegment)QUICHE_CONFIG_NEW.invokeExact((int)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int configLoadCert(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (int)QUICHE_CONFIG_LOAD_CERT.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static int configLoadCertChainFromPemFile(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (int)QUICHE_CONFIG_LOAD_CERT_CHAIN_FROM_PEM_FILE.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static int configLoadPrivKey(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (int)QUICHE_CONFIG_LOAD_PRIV_KEY.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static int configLoadPrivKeyFromPemFile(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (int)QUICHE_CONFIG_LOAD_PRIV_KEY_FROM_PEM_FILE.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static int configLoadVerifyLocationsFromFile(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (int)QUICHE_CONFIG_LOAD_VERIFY_LOCATIONS_FROM_FILE.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static int configLoadVerifyLocationsFromDirectory(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (int)QUICHE_CONFIG_LOAD_VERIFY_LOCATIONS_FROM_DIRECTORY.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configVerifyPeer(MemorySegment var0, boolean var1) {
try {
QUICHE_CONFIG_VERIFY_PEER.invokeExact((MemorySegment)var0, (boolean)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configVerifyPeerOptional(MemorySegment var0) {
try {
QUICHE_CONFIG_VERIFY_PEER_OPTIONAL.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static void configGrease(MemorySegment var0, boolean var1) {
try {
QUICHE_CONFIG_GREASE.invokeExact((MemorySegment)var0, (boolean)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configDiscoverPmtu(MemorySegment var0, boolean var1) {
try {
QUICHE_CONFIG_DISCOVER_PMTU.invokeExact((MemorySegment)var0, (boolean)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configLogKeys(MemorySegment var0) {
try {
QUICHE_CONFIG_LOG_KEYS.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static void configEnableEarlyData(MemorySegment var0) {
try {
QUICHE_CONFIG_ENABLE_EARLY_DATA.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int configSetApplicationProtos(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (int)QUICHE_CONFIG_SET_APPLICATION_PROTOS.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static void configSetMaxAmplificationFactor(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_MAX_AMPLIFICATION_FACTOR.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetMaxIdleTimeout(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_MAX_IDLE_TIMEOUT.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetMaxRecvUdpPayloadSize(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_MAX_RECV_UDP_PAYLOAD_SIZE.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetMaxSendUdpPayloadSize(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_MAX_SEND_UDP_PAYLOAD_SIZE.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetInitialMaxData(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_INITIAL_MAX_DATA.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetInitialMaxStreamDataBidiLocal(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_BIDI_LOCAL.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetInitialMaxStreamDataBidiRemote(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_BIDI_REMOTE.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetInitialMaxStreamDataUni(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_UNI.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetInitialMaxStreamsBidi(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_INITIAL_MAX_STREAMS_BIDI.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetInitialMaxStreamsUni(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_INITIAL_MAX_STREAMS_UNI.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetAckDelayExponent(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_ACK_DELAY_EXPONENT.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetMaxAckDelay(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_MAX_ACK_DELAY.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetDisableActiveMigration(MemorySegment var0, boolean var1) {
try {
QUICHE_CONFIG_SET_DISABLE_ACTIVE_MIGRATION.invokeExact((MemorySegment)var0, (boolean)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static int configSetCcAlgorithmName(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (int)QUICHE_CONFIG_SET_CC_ALGORITHM_NAME.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configSetInitialCongestionWindowPackets(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_INITIAL_CONGESTION_WINDOW_PACKETS.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetCcAlgorithm(MemorySegment var0, int var1) {
try {
QUICHE_CONFIG_SET_CC_ALGORITHM.invokeExact((MemorySegment)var0, (int)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configEnableHystart(MemorySegment var0, boolean var1) {
try {
QUICHE_CONFIG_ENABLE_HYSTART.invokeExact((MemorySegment)var0, (boolean)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configEnablePacing(MemorySegment var0, boolean var1) {
try {
QUICHE_CONFIG_ENABLE_PACING.invokeExact((MemorySegment)var0, (boolean)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configSetMaxPacingRate(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_MAX_PACING_RATE.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configEnableDgram(MemorySegment var0, boolean var1, long var2, long var4) {
try {
QUICHE_CONFIG_ENABLE_DGRAM.invokeExact((MemorySegment)var0, (boolean)var1, (long)var2, (long)var4);
} catch (Throwable var7) {
throw SneakyThrow.sneakyThrow(var7);
}
}
class="kw">public class="kw">static void configSetMaxConnectionWindow(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_MAX_CONNECTION_WINDOW.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetMaxStreamWindow(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_MAX_STREAM_WINDOW.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetActiveConnectionIdLimit(MemorySegment var0, long var1) {
try {
QUICHE_CONFIG_SET_ACTIVE_CONNECTION_ID_LIMIT.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void configSetStatelessResetToken(MemorySegment var0, MemorySegment var1) {
try {
QUICHE_CONFIG_SET_STATELESS_RESET_TOKEN.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void configSetDisableDcidReuse(MemorySegment var0, boolean var1) {
try {
QUICHE_CONFIG_SET_DISABLE_DCID_REUSE.invokeExact((MemorySegment)var0, (boolean)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static int configSetTicketKey(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (int)QUICHE_CONFIG_SET_TICKET_KEY.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static void configFree(MemorySegment var0) {
try {
QUICHE_CONFIG_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int headerInfo(
MemorySegment var0,
long var1,
long var3,
MemorySegment var5,
MemorySegment var6,
MemorySegment var7,
MemorySegment var8,
MemorySegment var9,
MemorySegment var10,
MemorySegment var11,
MemorySegment var12
) {
try {
class="kw">return (int)QUICHE_HEADER_INFO.invokeExact(
(MemorySegment)var0,
(long)var1,
(long)var3,
(MemorySegment)var5,
(MemorySegment)var6,
(MemorySegment)var7,
(MemorySegment)var8,
(MemorySegment)var9,
(MemorySegment)var10,
(MemorySegment)var11,
(MemorySegment)var12
);
} catch (Throwable var14) {
throw SneakyThrow.sneakyThrow(var14);
}
}
class="kw">public class="kw">static MemorySegment accept(
MemorySegment var0, long var1, MemorySegment var3, long var4, MemorySegment var6, int var7, MemorySegment var8, int var9, MemorySegment var10
) {
try {
class="kw">return (MemorySegment)QUICHE_ACCEPT.invokeExact(
(MemorySegment)var0,
(long)var1,
(MemorySegment)var3,
(long)var4,
(MemorySegment)var6,
(int)var7,
(MemorySegment)var8,
(int)var9,
(MemorySegment)var10
);
} catch (Throwable var12) {
throw SneakyThrow.sneakyThrow(var12);
}
}
class="kw">public class="kw">static MemorySegment connect(
MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, int var5, MemorySegment var6, int var7, MemorySegment var8
) {
try {
class="kw">return (MemorySegment)QUICHE_CONNECT.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (int)var5, (MemorySegment)var6, (int)var7, (MemorySegment)var8
);
} catch (Throwable var10) {
throw SneakyThrow.sneakyThrow(var10);
}
}
class="kw">public class="kw">static long negotiateVersion(MemorySegment var0, long var1, MemorySegment var3, long var4, MemorySegment var6, long var7) {
try {
class="kw">return (long)QUICHE_NEGOTIATE_VERSION.invokeExact((MemorySegment)var0, (long)var1, (MemorySegment)var3, (long)var4, (MemorySegment)var6, (long)var7);
} catch (Throwable var10) {
throw SneakyThrow.sneakyThrow(var10);
}
}
class="kw">public class="kw">static long retry(
MemorySegment var0,
long var1,
MemorySegment var3,
long var4,
MemorySegment var6,
long var7,
MemorySegment var9,
long var10,
int var12,
MemorySegment var13,
long var14
) {
try {
class="kw">return (long)QUICHE_RETRY.invokeExact(
(MemorySegment)var0,
(long)var1,
(MemorySegment)var3,
(long)var4,
(MemorySegment)var6,
(long)var7,
(MemorySegment)var9,
(long)var10,
(int)var12,
(MemorySegment)var13,
(long)var14
);
} catch (Throwable var17) {
throw SneakyThrow.sneakyThrow(var17);
}
}
class="kw">public class="kw">static boolean versionIsSupported(int var0) {
try {
class="kw">return (boolean)QUICHE_VERSION_IS_SUPPORTED.invokeExact((int)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static MemorySegment connNewWithTls(
MemorySegment var0,
long var1,
MemorySegment var3,
long var4,
MemorySegment var6,
int var7,
MemorySegment var8,
int var9,
MemorySegment var10,
MemorySegment var11,
boolean var12
) {
try {
class="kw">return (MemorySegment)QUICHE_CONN_NEW_WITH_TLS.invokeExact(
(MemorySegment)var0,
(long)var1,
(MemorySegment)var3,
(long)var4,
(MemorySegment)var6,
(int)var7,
(MemorySegment)var8,
(int)var9,
(MemorySegment)var10,
(MemorySegment)var11,
(boolean)var12
);
} catch (Throwable var14) {
throw SneakyThrow.sneakyThrow(var14);
}
}
class="kw">public class="kw">static boolean connSetKeylogPath(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (boolean)QUICHE_CONN_SET_KEYLOG_PATH.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static boolean connSetQlogPath(MemorySegment var0, MemorySegment var1, MemorySegment var2, MemorySegment var3) {
try {
class="kw">return (boolean)QUICHE_CONN_SET_QLOG_PATH.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (MemorySegment)var3);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static int connSetSession(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (int)QUICHE_CONN_SET_SESSION.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static int connSetMaxIdleTimeout(MemorySegment var0, long var1) {
try {
class="kw">return (int)QUICHE_CONN_SET_MAX_IDLE_TIMEOUT.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static long connRecv(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4) {
try {
class="kw">return (long)QUICHE_CONN_RECV.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static long connSend(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4) {
try {
class="kw">return (long)QUICHE_CONN_SEND.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static long connSendQuantum(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_SEND_QUANTUM.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connSendOnPath(
MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, int var5, MemorySegment var6, int var7, MemorySegment var8
) {
try {
class="kw">return (long)QUICHE_CONN_SEND_ON_PATH.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (int)var5, (MemorySegment)var6, (int)var7, (MemorySegment)var8
);
} catch (Throwable var10) {
throw SneakyThrow.sneakyThrow(var10);
}
}
class="kw">public class="kw">static long connSendQuantumOnPath(MemorySegment var0, MemorySegment var1, int var2, MemorySegment var3, int var4) {
try {
class="kw">return (long)QUICHE_CONN_SEND_QUANTUM_ON_PATH.invokeExact((MemorySegment)var0, (MemorySegment)var1, (int)var2, (MemorySegment)var3, (int)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static long connTimeoutAsNanos(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_TIMEOUT_AS_NANOS.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connTimeoutAsMillis(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_TIMEOUT_AS_MILLIS.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static void connOnTimeout(MemorySegment var0) {
try {
QUICHE_CONN_ON_TIMEOUT.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int connClose(MemorySegment var0, boolean var1, long var2, MemorySegment var4, long var5) {
try {
class="kw">return (int)QUICHE_CONN_CLOSE.invokeExact((MemorySegment)var0, (boolean)var1, (long)var2, (MemorySegment)var4, (long)var5);
} catch (Throwable var8) {
throw SneakyThrow.sneakyThrow(var8);
}
}
class="kw">public class="kw">static void connFree(MemorySegment var0) {
try {
QUICHE_CONN_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connStreamRecv(MemorySegment var0, long var1, MemorySegment var3, long var4, MemorySegment var6, MemorySegment var7) {
try {
class="kw">return (long)QUICHE_CONN_STREAM_RECV.invokeExact(
(MemorySegment)var0, (long)var1, (MemorySegment)var3, (long)var4, (MemorySegment)var6, (MemorySegment)var7
);
} catch (Throwable var9) {
throw SneakyThrow.sneakyThrow(var9);
}
}
class="kw">public class="kw">static long connStreamSend(MemorySegment var0, long var1, MemorySegment var3, long var4, boolean var6, MemorySegment var7) {
try {
class="kw">return (long)QUICHE_CONN_STREAM_SEND.invokeExact((MemorySegment)var0, (long)var1, (MemorySegment)var3, (long)var4, (boolean)var6, (MemorySegment)var7);
} catch (Throwable var9) {
throw SneakyThrow.sneakyThrow(var9);
}
}
class="kw">public class="kw">static int connStreamPriority(MemorySegment var0, long var1, byte var3, boolean var4) {
try {
class="kw">return (int)QUICHE_CONN_STREAM_PRIORITY.invokeExact((MemorySegment)var0, (long)var1, (byte)var3, (boolean)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static int connStreamShutdown(MemorySegment var0, long var1, int var3, long var4) {
if (var3 != 0 && var3 != 1) {
throw new IllegalArgumentException("Invalid shutdown direction: " + var3);
}
try {
class="kw">return (int)QUICHE_CONN_STREAM_SHUTDOWN.invokeExact((MemorySegment)var0, (long)var1, (int)var3, (long)var4);
} catch (Throwable var7) {
throw SneakyThrow.sneakyThrow(var7);
}
}
class="kw">public class="kw">static long connStreamCapacity(MemorySegment var0, long var1) {
try {
class="kw">return (long)QUICHE_CONN_STREAM_CAPACITY.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static boolean connStreamReadable(MemorySegment var0, long var1) {
try {
class="kw">return (boolean)QUICHE_CONN_STREAM_READABLE.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static long connStreamReadableNext(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_STREAM_READABLE_NEXT.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int connStreamWritable(MemorySegment var0, long var1, long var3) {
try {
class="kw">return (int)QUICHE_CONN_STREAM_WRITABLE.invokeExact((MemorySegment)var0, (long)var1, (long)var3);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static long connStreamWritableNext(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_STREAM_WRITABLE_NEXT.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connStreamFinished(MemorySegment var0, long var1) {
try {
class="kw">return (boolean)QUICHE_CONN_STREAM_FINISHED.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static MemorySegment connReadable(MemorySegment var0) {
try {
class="kw">return (MemorySegment)QUICHE_CONN_READABLE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static MemorySegment connWritable(MemorySegment var0) {
try {
class="kw">return (MemorySegment)QUICHE_CONN_WRITABLE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean streamIterNext(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (boolean)QUICHE_STREAM_ITER_NEXT.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void streamIterFree(MemorySegment var0) {
try {
QUICHE_STREAM_ITER_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connMaxSendUdpPayloadSize(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_MAX_SEND_UDP_PAYLOAD_SIZE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsEstablished(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_ESTABLISHED.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsResumed(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_RESUMED.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsInEarlyData(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_IN_EARLY_DATA.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsReadable(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_READABLE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsDraining(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_DRAINING.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsClosed(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_CLOSED.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsTimedOut(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_TIMED_OUT.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsServer(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_SERVER.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connPeerStreamsLeftBidi(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_PEER_STREAMS_LEFT_BIDI.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connPeerStreamsLeftUni(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_PEER_STREAMS_LEFT_UNI.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static void connTraceId(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
QUICHE_CONN_TRACE_ID.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void connSourceId(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
QUICHE_CONN_SOURCE_ID.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void connDestinationId(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
QUICHE_CONN_DESTINATION_ID.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void connApplicationProto(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
QUICHE_CONN_APPLICATION_PROTO.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void connPeerCert(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
QUICHE_CONN_PEER_CERT.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void connSession(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
QUICHE_CONN_SESSION.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void connServerName(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
QUICHE_CONN_SERVER_NAME.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static boolean connPeerError(MemorySegment var0, MemorySegment var1, MemorySegment var2, MemorySegment var3, MemorySegment var4) {
try {
class="kw">return (boolean)QUICHE_CONN_PEER_ERROR.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (MemorySegment)var3, (MemorySegment)var4
);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static boolean connLocalError(MemorySegment var0, MemorySegment var1, MemorySegment var2, MemorySegment var3, MemorySegment var4) {
try {
class="kw">return (boolean)QUICHE_CONN_LOCAL_ERROR.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (MemorySegment)var3, (MemorySegment)var4
);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static void connStats(MemorySegment var0, MemorySegment var1) {
try {
QUICHE_CONN_STATS.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static boolean connPeerTransportParams(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (boolean)QUICHE_CONN_PEER_TRANSPORT_PARAMS.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static int connPathStats(MemorySegment var0, long var1, MemorySegment var3) {
try {
class="kw">return (int)QUICHE_CONN_PATH_STATS.invokeExact((MemorySegment)var0, (long)var1, (MemorySegment)var3);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static MemorySegment connSourceIds(MemorySegment var0) {
try {
class="kw">return (MemorySegment)QUICHE_CONN_SOURCE_IDS.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connectionIdIterNext(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
class="kw">return (boolean)QUICHE_CONNECTION_ID_ITER_NEXT.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void connectionIdIterFree(MemorySegment var0) {
try {
QUICHE_CONNECTION_ID_ITER_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connRetiredScids(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_RETIRED_SCIDS.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connAvailableDcids(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_AVAILABLE_DCIDS.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connScidsLeft(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_SCIDS_LEFT.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connActiveScids(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_ACTIVE_SCIDS.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int connNewScid(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, boolean var5, MemorySegment var6) {
try {
class="kw">return (int)QUICHE_CONN_NEW_SCID.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (boolean)var5, (MemorySegment)var6
);
} catch (Throwable var8) {
throw SneakyThrow.sneakyThrow(var8);
}
}
class="kw">public class="kw">static int connRetireDcid(MemorySegment var0, long var1) {
try {
class="kw">return (int)QUICHE_CONN_RETIRE_DCID.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static int connProbePath(MemorySegment var0, MemorySegment var1, int var2, MemorySegment var3, int var4, MemorySegment var5) {
try {
class="kw">return (int)QUICHE_CONN_PROBE_PATH.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (int)var2, (MemorySegment)var3, (int)var4, (MemorySegment)var5
);
} catch (Throwable var7) {
throw SneakyThrow.sneakyThrow(var7);
}
}
class="kw">public class="kw">static int connMigrateSource(MemorySegment var0, MemorySegment var1, int var2, MemorySegment var3) {
try {
class="kw">return (int)QUICHE_CONN_MIGRATE_SOURCE.invokeExact((MemorySegment)var0, (MemorySegment)var1, (int)var2, (MemorySegment)var3);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static int connMigrate(MemorySegment var0, MemorySegment var1, int var2, MemorySegment var3, int var4, MemorySegment var5) {
try {
class="kw">return (int)QUICHE_CONN_MIGRATE.invokeExact((MemorySegment)var0, (MemorySegment)var1, (int)var2, (MemorySegment)var3, (int)var4, (MemorySegment)var5);
} catch (Throwable var7) {
throw SneakyThrow.sneakyThrow(var7);
}
}
class="kw">public class="kw">static MemorySegment connPathEventNext(MemorySegment var0) {
try {
class="kw">return (MemorySegment)QUICHE_CONN_PATH_EVENT_NEXT.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int pathEventType(MemorySegment var0) {
try {
class="kw">return (int)QUICHE_PATH_EVENT_TYPE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static void pathEventNew(MemorySegment var0, MemorySegment var1, MemorySegment var2, MemorySegment var3, MemorySegment var4) {
try {
QUICHE_PATH_EVENT_NEW.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (MemorySegment)var3, (MemorySegment)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static void pathEventValidated(MemorySegment var0, MemorySegment var1, MemorySegment var2, MemorySegment var3, MemorySegment var4) {
try {
QUICHE_PATH_EVENT_VALIDATED.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (MemorySegment)var3, (MemorySegment)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static void pathEventFailedValidation(MemorySegment var0, MemorySegment var1, MemorySegment var2, MemorySegment var3, MemorySegment var4) {
try {
QUICHE_PATH_EVENT_FAILED_VALIDATION.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (MemorySegment)var3, (MemorySegment)var4
);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static void pathEventClosed(MemorySegment var0, MemorySegment var1, MemorySegment var2, MemorySegment var3, MemorySegment var4) {
try {
QUICHE_PATH_EVENT_CLOSED.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (MemorySegment)var3, (MemorySegment)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static void pathEventReusedSourceConnectionId(
MemorySegment var0,
MemorySegment var1,
MemorySegment var2,
MemorySegment var3,
MemorySegment var4,
MemorySegment var5,
MemorySegment var6,
MemorySegment var7,
MemorySegment var8,
MemorySegment var9
) {
try {
QUICHE_PATH_EVENT_REUSED_SOURCE_CONNECTION_ID.invokeExact(
(MemorySegment)var0,
(MemorySegment)var1,
(MemorySegment)var2,
(MemorySegment)var3,
(MemorySegment)var4,
(MemorySegment)var5,
(MemorySegment)var6,
(MemorySegment)var7,
(MemorySegment)var8,
(MemorySegment)var9
);
} catch (Throwable var11) {
throw SneakyThrow.sneakyThrow(var11);
}
}
class="kw">public class="kw">static void pathEventPeerMigrated(MemorySegment var0, MemorySegment var1, MemorySegment var2, MemorySegment var3, MemorySegment var4) {
try {
QUICHE_PATH_EVENT_PEER_MIGRATED.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (MemorySegment)var3, (MemorySegment)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static void pathEventFree(MemorySegment var0) {
try {
QUICHE_PATH_EVENT_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static MemorySegment connPathsIter(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (MemorySegment)QUICHE_CONN_PATHS_ITER.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static boolean socketAddrIterNext(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
class="kw">return (boolean)QUICHE_SOCKET_ADDR_ITER_NEXT.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void socketAddrIterFree(MemorySegment var0) {
try {
QUICHE_SOCKET_ADDR_ITER_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int connIsPathValidated(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, long var5) {
try {
class="kw">return (int)QUICHE_CONN_IS_PATH_VALIDATED.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (long)var5);
} catch (Throwable var8) {
throw SneakyThrow.sneakyThrow(var8);
}
}
class="kw">public class="kw">static long connDgramMaxWritableLen(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_DGRAM_MAX_WRITABLE_LEN.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connDgramRecvFrontLen(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_DGRAM_RECV_FRONT_LEN.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connDgramRecvQueueLen(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_DGRAM_RECV_QUEUE_LEN.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connDgramRecvQueueByteSize(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_DGRAM_RECV_QUEUE_BYTE_SIZE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connDgramSendQueueLen(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_DGRAM_SEND_QUEUE_LEN.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connDgramSendQueueByteSize(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_DGRAM_SEND_QUEUE_BYTE_SIZE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connDgramRecv(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (long)QUICHE_CONN_DGRAM_RECV.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static long connDgramSend(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (long)QUICHE_CONN_DGRAM_SEND.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static void connDgramPurgeOutgoing(MemorySegment var0, MemorySegment var1) {
try {
QUICHE_CONN_DGRAM_PURGE_OUTGOING.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static boolean connIsDgramSendQueueFull(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_DGRAM_SEND_QUEUE_FULL.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean connIsDgramRecvQueueFull(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_CONN_IS_DGRAM_RECV_QUEUE_FULL.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connSendAckEliciting(MemorySegment var0) {
try {
class="kw">return (long)QUICHE_CONN_SEND_ACK_ELICITING.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long connSendAckElicitingOnPath(MemorySegment var0, MemorySegment var1, int var2, MemorySegment var3, int var4) {
try {
class="kw">return (long)QUICHE_CONN_SEND_ACK_ELICITING_ON_PATH.invokeExact((MemorySegment)var0, (MemorySegment)var1, (int)var2, (MemorySegment)var3, (int)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static MemorySegment h3ConfigNew() {
try {
class="kw">return (MemorySegment)QUICHE_H3_CONFIG_NEW.invokeExact();
} catch (Throwable var1) {
throw SneakyThrow.sneakyThrow(var1);
}
}
class="kw">public class="kw">static void h3ConfigSetMaxFieldSectionSize(MemorySegment var0, long var1) {
try {
QUICHE_H3_CONFIG_SET_MAX_FIELD_SECTION_SIZE.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void h3ConfigSetQpackMaxTableCapacity(MemorySegment var0, long var1) {
try {
QUICHE_H3_CONFIG_SET_QPACK_MAX_TABLE_CAPACITY.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void h3ConfigSetQpackBlockedStreams(MemorySegment var0, long var1) {
try {
QUICHE_H3_CONFIG_SET_QPACK_BLOCKED_STREAMS.invokeExact((MemorySegment)var0, (long)var1);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static void h3ConfigEnableExtendedConnect(MemorySegment var0, boolean var1) {
try {
QUICHE_H3_CONFIG_ENABLE_EXTENDED_CONNECT.invokeExact((MemorySegment)var0, (boolean)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void h3ConfigFree(MemorySegment var0) {
try {
QUICHE_H3_CONFIG_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static MemorySegment h3ConnNewWithTransport(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (MemorySegment)QUICHE_H3_CONN_NEW_WITH_TRANSPORT.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static long h3ConnPoll(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
class="kw">return (long)QUICHE_H3_CONN_POLL.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static int h3EventType(MemorySegment var0) {
try {
class="kw">return (int)QUICHE_H3_EVENT_TYPE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static int h3EventForEachHeader(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
class="kw">return (int)QUICHE_H3_EVENT_FOR_EACH_HEADER.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static int h3ForEachSetting(MemorySegment var0, MemorySegment var1, MemorySegment var2) {
try {
class="kw">return (int)QUICHE_H3_FOR_EACH_SETTING.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2);
} catch (Throwable var4) {
throw SneakyThrow.sneakyThrow(var4);
}
}
class="kw">public class="kw">static boolean h3EventHeadersHasMoreFrames(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_H3_EVENT_HEADERS_HAS_MORE_FRAMES.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static boolean h3ExtendedConnectEnabledByPeer(MemorySegment var0) {
try {
class="kw">return (boolean)QUICHE_H3_EXTENDED_CONNECT_ENABLED_BY_PEER.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static void h3EventFree(MemorySegment var0) {
try {
QUICHE_H3_EVENT_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">public class="kw">static long h3SendRequest(MemorySegment var0, MemorySegment var1, MemorySegment var2, long var3, boolean var5) {
try {
class="kw">return (long)QUICHE_H3_SEND_REQUEST.invokeExact((MemorySegment)var0, (MemorySegment)var1, (MemorySegment)var2, (long)var3, (boolean)var5);
} catch (Throwable var7) {
throw SneakyThrow.sneakyThrow(var7);
}
}
class="kw">public class="kw">static int h3SendResponse(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, long var5, boolean var7) {
try {
class="kw">return (int)QUICHE_H3_SEND_RESPONSE.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (long)var5, (boolean)var7);
} catch (Throwable var9) {
throw SneakyThrow.sneakyThrow(var9);
}
}
class="kw">public class="kw">static int h3SendResponseWithPriority(
MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, long var5, MemorySegment var7, boolean var8
) {
try {
class="kw">return (int)QUICHE_H3_SEND_RESPONSE_WITH_PRIORITY.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (long)var5, (MemorySegment)var7, (boolean)var8
);
} catch (Throwable var10) {
throw SneakyThrow.sneakyThrow(var10);
}
}
class="kw">public class="kw">static int h3SendAdditionalHeaders(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, long var5, boolean var7, boolean var8) {
try {
class="kw">return (int)QUICHE_H3_SEND_ADDITIONAL_HEADERS.invokeExact(
(MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (long)var5, (boolean)var7, (boolean)var8
);
} catch (Throwable var10) {
throw SneakyThrow.sneakyThrow(var10);
}
}
class="kw">public class="kw">static long h3SendBody(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, long var5, boolean var7) {
try {
class="kw">return (long)QUICHE_H3_SEND_BODY.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (long)var5, (boolean)var7);
} catch (Throwable var9) {
throw SneakyThrow.sneakyThrow(var9);
}
}
class="kw">public class="kw">static long h3RecvBody(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4, long var5) {
try {
class="kw">return (long)QUICHE_H3_RECV_BODY.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4, (long)var5);
} catch (Throwable var8) {
throw SneakyThrow.sneakyThrow(var8);
}
}
class="kw">public class="kw">static int h3SendGoaway(MemorySegment var0, MemorySegment var1, long var2) {
try {
class="kw">return (int)QUICHE_H3_SEND_GOAWAY.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static int h3ParseExtensiblePriority(MemorySegment var0, long var1, MemorySegment var3) {
try {
class="kw">return (int)QUICHE_H3_PARSE_EXTENSIBLE_PRIORITY.invokeExact((MemorySegment)var0, (long)var1, (MemorySegment)var3);
} catch (Throwable var5) {
throw SneakyThrow.sneakyThrow(var5);
}
}
class="kw">public class="kw">static int h3SendPriorityUpdateForRequest(MemorySegment var0, MemorySegment var1, long var2, MemorySegment var4) {
try {
class="kw">return (int)QUICHE_H3_SEND_PRIORITY_UPDATE_FOR_REQUEST.invokeExact((MemorySegment)var0, (MemorySegment)var1, (long)var2, (MemorySegment)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static int h3TakeLastPriorityUpdate(MemorySegment var0, long var1, MemorySegment var3, MemorySegment var4) {
try {
class="kw">return (int)QUICHE_H3_TAKE_LAST_PRIORITY_UPDATE.invokeExact((MemorySegment)var0, (long)var1, (MemorySegment)var3, (MemorySegment)var4);
} catch (Throwable var6) {
throw SneakyThrow.sneakyThrow(var6);
}
}
class="kw">public class="kw">static boolean h3DgramEnabledByPeer(MemorySegment var0, MemorySegment var1) {
try {
class="kw">return (boolean)QUICHE_H3_DGRAM_ENABLED_BY_PEER.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void h3ConnStats(MemorySegment var0, MemorySegment var1) {
try {
QUICHE_H3_CONN_STATS.invokeExact((MemorySegment)var0, (MemorySegment)var1);
} catch (Throwable var3) {
throw SneakyThrow.sneakyThrow(var3);
}
}
class="kw">public class="kw">static void h3ConnFree(MemorySegment var0) {
try {
QUICHE_H3_CONN_FREE.invokeExact((MemorySegment)var0);
} catch (Throwable var2) {
throw SneakyThrow.sneakyThrow(var2);
}
}
class="kw">static {
String var0 = System.getProperty("os.name").toLowerCase(Locale.ROOT);
String var1 = System.getProperty("os.arch").toLowerCase(Locale.ROOT);
if (var0.contains("linux")) {
PLATFORM = QuicheNative.Platform.LINUX;
} else if (!var0.contains("mac") && !var0.contains("darwin")) {
if (!var0.contains("win")) {
throw new UnsupportedOperationException("Unsupported OS: " + var0);
}
PLATFORM = QuicheNative.Platform.WINDOWS;
} else {
PLATFORM = QuicheNative.Platform.MACOS;
}
String var2 = class="kw">switch (PLATFORM) {
case LINUX -> {
if (!"amd64".equals(var1) && !"x86_64".equals(var1)) {
throw new UnsupportedOperationException("Unsupported Linux architecture: " + var1);
}
yield "/class="kw">native/linux-x64/libquiche.so";
}
case MACOS -> {
if (!"aarch64".equals(var1)) {
throw new UnsupportedOperationException("Unsupported macOS architecture: " + var1);
}
yield "/class="kw">native/osx-arm64/libquiche.dylib";
}
case WINDOWS -> {
if (!"amd64".equals(var1) && !"x86_64".equals(var1)) {
throw new UnsupportedOperationException("Unsupported Windows architecture: " + var1);
}
yield "/class="kw">native/win-x64/quiche.dll";
}
};
try (InputStream var3 = QuicheNative.class.getResourceAsStream(var2)) {
if (var3 == null) {
throw new IllegalStateException("Native library not found on classpath: " + var2);
}
Path var4 = Files.createTempDirectory("quiche-class="kw">native");
Path var5 = var4.resolve(Path.of(var2).getFileName());
Files.copy(var3, var5, StandardCopyOption.REPLACE_EXISTING);
var5.toFile().deleteOnExit();
var4.toFile().deleteOnExit();
LOOKUP = SymbolLookup.libraryLookup(var5, GLOBAL_ARENA);
} catch (IOException var8) {
throw new ExceptionInInitializerError(var8);
}
C_POINTER = ValueLayout.ADDRESS;
C_INT = ValueLayout.JAVA_INT;
C_LONG = ValueLayout.JAVA_LONG;
C_BYTE = ValueLayout.JAVA_BYTE;
C_BOOL = ValueLayout.JAVA_BOOLEAN;
C_SHORT = ValueLayout.JAVA_SHORT;
C_SIZE_T = (ValueLayout)LINKER.canonicalLayouts().get("size_t");
SOCKADDR_STORAGE_LAYOUT = class="kw">switch (PLATFORM) {
case LINUX -> MemoryLayout.structLayout(
C_SHORT.withName("ss_family"), MemoryLayout.sequenceLayout(118L, C_BYTE).withName("__ss_padding"), C_LONG.withName("__ss_align")
)
.withName("sockaddr_storage");
case MACOS -> MemoryLayout.structLayout(
C_BYTE.withName("ss_len"),
C_BYTE.withName("ss_family"),
MemoryLayout.sequenceLayout(6L, C_BYTE).withName("__ss_pad1"),
C_LONG.withName("__ss_align"),
MemoryLayout.sequenceLayout(112L, C_BYTE).withName("__ss_pad2")
)
.withName("sockaddr_storage");
case WINDOWS -> MemoryLayout.structLayout(
C_SHORT.withName("ss_family"),
MemoryLayout.sequenceLayout(6L, C_BYTE).withName("__ss_pad1"),
C_LONG.withName("__ss_align"),
MemoryLayout.sequenceLayout(112L, C_BYTE).withName("__ss_pad2")
)
.withName("sockaddr_storage");
};
SOCKADDR_LAYOUT = class="kw">switch (PLATFORM) {
case LINUX, WINDOWS -> MemoryLayout.structLayout(C_SHORT.withName("sa_family"), MemoryLayout.sequenceLayout(14L, C_BYTE).withName("sa_data"))
.withName("sockaddr");
case MACOS -> MemoryLayout.structLayout(
C_BYTE.withName("sa_len"), C_BYTE.withName("sa_family"), MemoryLayout.sequenceLayout(14L, C_BYTE).withName("sa_data")
)
.withName("sockaddr");
};
TIMESPEC_LAYOUT = class="kw">switch (PLATFORM) {
case LINUX, MACOS -> MemoryLayout.structLayout(C_LONG.withName("tv_sec"), C_LONG.withName("tv_nsec")).withName("timespec");
case WINDOWS -> MemoryLayout.structLayout(C_LONG.withName("tv_sec"), C_INT.withName("tv_nsec"), MemoryLayout.paddingLayout(4L)).withName("timespec");
};
RECV_INFO_LAYOUT = MemoryLayout.structLayout(
C_POINTER.withName("from"),
C_INT.withName("from_len"),
MemoryLayout.paddingLayout(4L),
C_POINTER.withName("to"),
C_INT.withName("to_len"),
MemoryLayout.paddingLayout(4L)
)
.withName("quiche_recv_info");
SEND_INFO_LAYOUT = MemoryLayout.structLayout(
SOCKADDR_STORAGE_LAYOUT.withName("from"),
C_INT.withName("from_len"),
MemoryLayout.paddingLayout(4L),
SOCKADDR_STORAGE_LAYOUT.withName("to"),
C_INT.withName("to_len"),
MemoryLayout.paddingLayout(4L),
TIMESPEC_LAYOUT.withName("at")
)
.withName("quiche_send_info");
SOCKADDR_FAMILY = SOCKADDR_LAYOUT.varHandle(PathElement.groupElement("sa_family"));
SOCKADDR_STORAGE_FAMILY = SOCKADDR_STORAGE_LAYOUT.varHandle(PathElement.groupElement("ss_family"));
SOCKADDR_STORAGE_LEN = PLATFORM == QuicheNative.Platform.MACOS ? SOCKADDR_STORAGE_LAYOUT.varHandle(PathElement.groupElement("ss_len")) : null;
SOCKADDR_STORAGE_DATA_OFFSET = SOCKADDR_STORAGE_LAYOUT.byteOffset(PathElement.groupElement("ss_family"))
+ SOCKADDR_STORAGE_LAYOUT.select(PathElement.groupElement("ss_family")).byteSize();
TIMESPEC_SEC = TIMESPEC_LAYOUT.varHandle(PathElement.groupElement("tv_sec"));
TIMESPEC_NSEC = TIMESPEC_LAYOUT.varHandle(PathElement.groupElement("tv_nsec"));
RECV_INFO_FROM = RECV_INFO_LAYOUT.varHandle(PathElement.groupElement("from"));
RECV_INFO_FROM_LEN = RECV_INFO_LAYOUT.varHandle(PathElement.groupElement("from_len"));
RECV_INFO_TO = RECV_INFO_LAYOUT.varHandle(PathElement.groupElement("to"));
RECV_INFO_TO_LEN = RECV_INFO_LAYOUT.varHandle(PathElement.groupElement("to_len"));
SEND_INFO_FROM_OFFSET = SEND_INFO_LAYOUT.byteOffset(PathElement.groupElement("from"));
SEND_INFO_FROM_LEN = SEND_INFO_LAYOUT.varHandle(PathElement.groupElement("from_len"));
SEND_INFO_TO_OFFSET = SEND_INFO_LAYOUT.byteOffset(PathElement.groupElement("to"));
SEND_INFO_TO_LEN = SEND_INFO_LAYOUT.varHandle(PathElement.groupElement("to_len"));
SEND_INFO_AT_OFFSET = SEND_INFO_LAYOUT.byteOffset(PathElement.groupElement("at"));
QUICHE_VERSION = downcall("quiche_version", FunctionDescriptor.of(C_POINTER));
QUICHE_ENABLE_DEBUG_LOGGING = downcall("quiche_enable_debug_logging", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER));
QUICHE_PUT_VARINT = downcall("quiche_put_varint", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG, C_LONG));
QUICHE_GET_VARINT = downcall("quiche_get_varint", FunctionDescriptor.of(C_LONG, C_POINTER, C_LONG, C_POINTER));
QUICHE_CONFIG_NEW = downcall("quiche_config_new", FunctionDescriptor.of(C_POINTER, C_INT));
QUICHE_CONFIG_LOAD_CERT = downcall("quiche_config_load_cert", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG));
QUICHE_CONFIG_LOAD_CERT_CHAIN_FROM_PEM_FILE = downcall("quiche_config_load_cert_chain_from_pem_file", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER));
QUICHE_CONFIG_LOAD_PRIV_KEY = downcall("quiche_config_load_priv_key", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG));
QUICHE_CONFIG_LOAD_PRIV_KEY_FROM_PEM_FILE = downcall("quiche_config_load_priv_key_from_pem_file", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER));
QUICHE_CONFIG_LOAD_VERIFY_LOCATIONS_FROM_FILE = downcall(
"quiche_config_load_verify_locations_from_file", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER)
);
QUICHE_CONFIG_LOAD_VERIFY_LOCATIONS_FROM_DIRECTORY = downcall(
"quiche_config_load_verify_locations_from_directory", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER)
);
QUICHE_CONFIG_VERIFY_PEER = downcall("quiche_config_verify_peer", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL));
QUICHE_CONFIG_VERIFY_PEER_OPTIONAL = downcall("quiche_config_verify_peer_optional", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONFIG_GREASE = downcall("quiche_config_grease", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL));
QUICHE_CONFIG_DISCOVER_PMTU = downcall("quiche_config_discover_pmtu", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL));
QUICHE_CONFIG_LOG_KEYS = downcall("quiche_config_log_keys", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONFIG_ENABLE_EARLY_DATA = downcall("quiche_config_enable_early_data", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONFIG_SET_APPLICATION_PROTOS = downcall("quiche_config_set_application_protos", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG));
QUICHE_CONFIG_SET_MAX_AMPLIFICATION_FACTOR = downcall("quiche_config_set_max_amplification_factor", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_MAX_IDLE_TIMEOUT = downcall("quiche_config_set_max_idle_timeout", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_MAX_RECV_UDP_PAYLOAD_SIZE = downcall("quiche_config_set_max_recv_udp_payload_size", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_MAX_SEND_UDP_PAYLOAD_SIZE = downcall("quiche_config_set_max_send_udp_payload_size", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_INITIAL_MAX_DATA = downcall("quiche_config_set_initial_max_data", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_BIDI_LOCAL = downcall(
"quiche_config_set_initial_max_stream_data_bidi_local", FunctionDescriptor.ofVoid(C_POINTER, C_LONG)
);
QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_BIDI_REMOTE = downcall(
"quiche_config_set_initial_max_stream_data_bidi_remote", FunctionDescriptor.ofVoid(C_POINTER, C_LONG)
);
QUICHE_CONFIG_SET_INITIAL_MAX_STREAM_DATA_UNI = downcall("quiche_config_set_initial_max_stream_data_uni", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_INITIAL_MAX_STREAMS_BIDI = downcall("quiche_config_set_initial_max_streams_bidi", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_INITIAL_MAX_STREAMS_UNI = downcall("quiche_config_set_initial_max_streams_uni", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_ACK_DELAY_EXPONENT = downcall("quiche_config_set_ack_delay_exponent", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_MAX_ACK_DELAY = downcall("quiche_config_set_max_ack_delay", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_DISABLE_ACTIVE_MIGRATION = downcall("quiche_config_set_disable_active_migration", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL));
QUICHE_CONFIG_SET_CC_ALGORITHM_NAME = downcall("quiche_config_set_cc_algorithm_name", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER));
QUICHE_CONFIG_SET_INITIAL_CONGESTION_WINDOW_PACKETS = downcall(
"quiche_config_set_initial_congestion_window_packets", FunctionDescriptor.ofVoid(C_POINTER, C_LONG)
);
QUICHE_CONFIG_SET_CC_ALGORITHM = downcall("quiche_config_set_cc_algorithm", FunctionDescriptor.ofVoid(C_POINTER, C_INT));
QUICHE_CONFIG_ENABLE_HYSTART = downcall("quiche_config_enable_hystart", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL));
QUICHE_CONFIG_ENABLE_PACING = downcall("quiche_config_enable_pacing", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL));
QUICHE_CONFIG_SET_MAX_PACING_RATE = downcall("quiche_config_set_max_pacing_rate", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_ENABLE_DGRAM = downcall("quiche_config_enable_dgram", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL, C_LONG, C_LONG));
QUICHE_CONFIG_SET_MAX_CONNECTION_WINDOW = downcall("quiche_config_set_max_connection_window", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_MAX_STREAM_WINDOW = downcall("quiche_config_set_max_stream_window", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_ACTIVE_CONNECTION_ID_LIMIT = downcall("quiche_config_set_active_connection_id_limit", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_CONFIG_SET_STATELESS_RESET_TOKEN = downcall("quiche_config_set_stateless_reset_token", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER));
QUICHE_CONFIG_SET_DISABLE_DCID_REUSE = downcall("quiche_config_set_disable_dcid_reuse", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL));
QUICHE_CONFIG_SET_TICKET_KEY = downcall("quiche_config_set_ticket_key", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG));
QUICHE_CONFIG_FREE = downcall("quiche_config_free", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_HEADER_INFO = downcall(
"quiche_header_info",
FunctionDescriptor.of(C_INT, C_POINTER, C_LONG, C_LONG, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER)
);
QUICHE_ACCEPT = downcall(
"quiche_accept", FunctionDescriptor.of(C_POINTER, C_POINTER, C_LONG, C_POINTER, C_LONG, C_POINTER, C_INT, C_POINTER, C_INT, C_POINTER)
);
QUICHE_CONNECT = downcall("quiche_connect", FunctionDescriptor.of(C_POINTER, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_INT, C_POINTER, C_INT, C_POINTER));
QUICHE_NEGOTIATE_VERSION = downcall("quiche_negotiate_version", FunctionDescriptor.of(C_LONG, C_POINTER, C_LONG, C_POINTER, C_LONG, C_POINTER, C_LONG));
QUICHE_RETRY = downcall(
"quiche_retry", FunctionDescriptor.of(C_LONG, C_POINTER, C_LONG, C_POINTER, C_LONG, C_POINTER, C_LONG, C_POINTER, C_LONG, C_INT, C_POINTER, C_LONG)
);
QUICHE_VERSION_IS_SUPPORTED = downcall("quiche_version_is_supported", FunctionDescriptor.of(C_BOOL, C_INT));
QUICHE_CONN_NEW_WITH_TLS = downcall(
"quiche_conn_new_with_tls",
FunctionDescriptor.of(C_POINTER, C_POINTER, C_LONG, C_POINTER, C_LONG, C_POINTER, C_INT, C_POINTER, C_INT, C_POINTER, C_POINTER, C_BOOL)
);
QUICHE_CONN_SET_KEYLOG_PATH = downcall("quiche_conn_set_keylog_path", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER));
QUICHE_CONN_SET_QLOG_PATH = downcall("quiche_conn_set_qlog_path", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_SET_SESSION = downcall("quiche_conn_set_session", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG));
QUICHE_CONN_SET_MAX_IDLE_TIMEOUT = downcall("quiche_conn_set_max_idle_timeout", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG));
QUICHE_CONN_RECV = downcall("quiche_conn_recv", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_LONG, C_POINTER));
QUICHE_CONN_SEND = downcall("quiche_conn_send", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_LONG, C_POINTER));
QUICHE_CONN_SEND_QUANTUM = downcall("quiche_conn_send_quantum", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_SEND_ON_PATH = downcall(
"quiche_conn_send_on_path", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_INT, C_POINTER, C_INT, C_POINTER)
);
QUICHE_CONN_SEND_QUANTUM_ON_PATH = downcall(
"quiche_conn_send_quantum_on_path", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_INT, C_POINTER, C_INT)
);
QUICHE_CONN_TIMEOUT_AS_NANOS = downcall("quiche_conn_timeout_as_nanos", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_TIMEOUT_AS_MILLIS = downcall("quiche_conn_timeout_as_millis", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_ON_TIMEOUT = downcall("quiche_conn_on_timeout", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONN_CLOSE = downcall("quiche_conn_close", FunctionDescriptor.of(C_INT, C_POINTER, C_BOOL, C_LONG, C_POINTER, C_LONG));
QUICHE_CONN_FREE = downcall("quiche_conn_free", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONN_STREAM_RECV = downcall("quiche_conn_stream_recv", FunctionDescriptor.of(C_LONG, C_POINTER, C_LONG, C_POINTER, C_LONG, C_POINTER, C_POINTER));
QUICHE_CONN_STREAM_SEND = downcall("quiche_conn_stream_send", FunctionDescriptor.of(C_LONG, C_POINTER, C_LONG, C_POINTER, C_LONG, C_BOOL, C_POINTER));
QUICHE_CONN_STREAM_PRIORITY = downcall("quiche_conn_stream_priority", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG, C_BYTE, C_BOOL));
QUICHE_CONN_STREAM_SHUTDOWN = downcall("quiche_conn_stream_shutdown", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG, C_INT, C_LONG));
QUICHE_CONN_STREAM_CAPACITY = downcall("quiche_conn_stream_capacity", FunctionDescriptor.of(C_LONG, C_POINTER, C_LONG));
QUICHE_CONN_STREAM_READABLE = downcall("quiche_conn_stream_readable", FunctionDescriptor.of(C_BOOL, C_POINTER, C_LONG));
QUICHE_CONN_STREAM_READABLE_NEXT = downcall("quiche_conn_stream_readable_next", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_STREAM_WRITABLE = downcall("quiche_conn_stream_writable", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG, C_LONG));
QUICHE_CONN_STREAM_WRITABLE_NEXT = downcall("quiche_conn_stream_writable_next", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_STREAM_FINISHED = downcall("quiche_conn_stream_finished", FunctionDescriptor.of(C_BOOL, C_POINTER, C_LONG));
QUICHE_CONN_READABLE = downcall("quiche_conn_readable", FunctionDescriptor.of(C_POINTER, C_POINTER));
QUICHE_CONN_WRITABLE = downcall("quiche_conn_writable", FunctionDescriptor.of(C_POINTER, C_POINTER));
QUICHE_STREAM_ITER_NEXT = downcall("quiche_stream_iter_next", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER));
QUICHE_STREAM_ITER_FREE = downcall("quiche_stream_iter_free", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONN_MAX_SEND_UDP_PAYLOAD_SIZE = downcall("quiche_conn_max_send_udp_payload_size", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_IS_ESTABLISHED = downcall("quiche_conn_is_established", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_IS_RESUMED = downcall("quiche_conn_is_resumed", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_IS_IN_EARLY_DATA = downcall("quiche_conn_is_in_early_data", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_IS_READABLE = downcall("quiche_conn_is_readable", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_IS_DRAINING = downcall("quiche_conn_is_draining", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_IS_CLOSED = downcall("quiche_conn_is_closed", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_IS_TIMED_OUT = downcall("quiche_conn_is_timed_out", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_IS_SERVER = downcall("quiche_conn_is_server", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_PEER_STREAMS_LEFT_BIDI = downcall("quiche_conn_peer_streams_left_bidi", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_PEER_STREAMS_LEFT_UNI = downcall("quiche_conn_peer_streams_left_uni", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_TRACE_ID = downcall("quiche_conn_trace_id", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_SOURCE_ID = downcall("quiche_conn_source_id", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_DESTINATION_ID = downcall("quiche_conn_destination_id", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_APPLICATION_PROTO = downcall("quiche_conn_application_proto", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_PEER_CERT = downcall("quiche_conn_peer_cert", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_SESSION = downcall("quiche_conn_session", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_SERVER_NAME = downcall("quiche_conn_server_name", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_PEER_ERROR = downcall("quiche_conn_peer_error", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_LOCAL_ERROR = downcall("quiche_conn_local_error", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONN_STATS = downcall("quiche_conn_stats", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER));
QUICHE_CONN_PEER_TRANSPORT_PARAMS = downcall("quiche_conn_peer_transport_params", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER));
QUICHE_CONN_PATH_STATS = downcall("quiche_conn_path_stats", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG, C_POINTER));
QUICHE_CONN_SOURCE_IDS = downcall("quiche_conn_source_ids", FunctionDescriptor.of(C_POINTER, C_POINTER));
QUICHE_CONNECTION_ID_ITER_NEXT = downcall("quiche_connection_id_iter_next", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER, C_POINTER));
QUICHE_CONNECTION_ID_ITER_FREE = downcall("quiche_connection_id_iter_free", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONN_RETIRED_SCIDS = downcall("quiche_conn_retired_scids", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_AVAILABLE_DCIDS = downcall("quiche_conn_available_dcids", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_SCIDS_LEFT = downcall("quiche_conn_scids_left", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_ACTIVE_SCIDS = downcall("quiche_conn_active_scids", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_NEW_SCID = downcall("quiche_conn_new_scid", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_BOOL, C_POINTER));
QUICHE_CONN_RETIRE_DCID = downcall("quiche_conn_retire_dcid", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG));
QUICHE_CONN_PROBE_PATH = downcall("quiche_conn_probe_path", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_INT, C_POINTER, C_INT, C_POINTER));
QUICHE_CONN_MIGRATE_SOURCE = downcall("quiche_conn_migrate_source", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_INT, C_POINTER));
QUICHE_CONN_MIGRATE = downcall("quiche_conn_migrate", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_INT, C_POINTER, C_INT, C_POINTER));
QUICHE_CONN_PATH_EVENT_NEXT = downcall("quiche_conn_path_event_next", FunctionDescriptor.of(C_POINTER, C_POINTER));
QUICHE_PATH_EVENT_TYPE = downcall("quiche_path_event_type", FunctionDescriptor.of(C_INT, C_POINTER));
QUICHE_PATH_EVENT_NEW = downcall("quiche_path_event_new", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER));
QUICHE_PATH_EVENT_VALIDATED = downcall("quiche_path_event_validated", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER));
QUICHE_PATH_EVENT_FAILED_VALIDATION = downcall(
"quiche_path_event_failed_validation", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER)
);
QUICHE_PATH_EVENT_CLOSED = downcall("quiche_path_event_closed", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER));
QUICHE_PATH_EVENT_REUSED_SOURCE_CONNECTION_ID = downcall(
"quiche_path_event_reused_source_connection_id",
FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER)
);
QUICHE_PATH_EVENT_PEER_MIGRATED = downcall(
"quiche_path_event_peer_migrated", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER, C_POINTER, C_POINTER, C_POINTER)
);
QUICHE_PATH_EVENT_FREE = downcall("quiche_path_event_free", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONN_PATHS_ITER = downcall("quiche_conn_paths_iter", FunctionDescriptor.of(C_POINTER, C_POINTER, C_POINTER, C_LONG));
QUICHE_SOCKET_ADDR_ITER_NEXT = downcall("quiche_socket_addr_iter_next", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER, C_POINTER));
QUICHE_SOCKET_ADDR_ITER_FREE = downcall("quiche_socket_addr_iter_free", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_CONN_IS_PATH_VALIDATED = downcall("quiche_conn_is_path_validated", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_LONG));
QUICHE_CONN_DGRAM_MAX_WRITABLE_LEN = downcall("quiche_conn_dgram_max_writable_len", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_DGRAM_RECV_FRONT_LEN = downcall("quiche_conn_dgram_recv_front_len", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_DGRAM_RECV_QUEUE_LEN = downcall("quiche_conn_dgram_recv_queue_len", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_DGRAM_RECV_QUEUE_BYTE_SIZE = downcall("quiche_conn_dgram_recv_queue_byte_size", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_DGRAM_SEND_QUEUE_LEN = downcall("quiche_conn_dgram_send_queue_len", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_DGRAM_SEND_QUEUE_BYTE_SIZE = downcall("quiche_conn_dgram_send_queue_byte_size", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_DGRAM_RECV = downcall("quiche_conn_dgram_recv", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_LONG));
QUICHE_CONN_DGRAM_SEND = downcall("quiche_conn_dgram_send", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_LONG));
QUICHE_CONN_DGRAM_PURGE_OUTGOING = downcall("quiche_conn_dgram_purge_outgoing", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER));
QUICHE_CONN_IS_DGRAM_SEND_QUEUE_FULL = downcall("quiche_conn_is_dgram_send_queue_full", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_IS_DGRAM_RECV_QUEUE_FULL = downcall("quiche_conn_is_dgram_recv_queue_full", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_CONN_SEND_ACK_ELICITING = downcall("quiche_conn_send_ack_eliciting", FunctionDescriptor.of(C_LONG, C_POINTER));
QUICHE_CONN_SEND_ACK_ELICITING_ON_PATH = downcall(
"quiche_conn_send_ack_eliciting_on_path", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_INT, C_POINTER, C_INT)
);
QUICHE_H3_CONFIG_NEW = downcall("quiche_h3_config_new", FunctionDescriptor.of(C_POINTER));
QUICHE_H3_CONFIG_SET_MAX_FIELD_SECTION_SIZE = downcall("quiche_h3_config_set_max_field_section_size", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_H3_CONFIG_SET_QPACK_MAX_TABLE_CAPACITY = downcall("quiche_h3_config_set_qpack_max_table_capacity", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_H3_CONFIG_SET_QPACK_BLOCKED_STREAMS = downcall("quiche_h3_config_set_qpack_blocked_streams", FunctionDescriptor.ofVoid(C_POINTER, C_LONG));
QUICHE_H3_CONFIG_ENABLE_EXTENDED_CONNECT = downcall("quiche_h3_config_enable_extended_connect", FunctionDescriptor.ofVoid(C_POINTER, C_BOOL));
QUICHE_H3_CONFIG_FREE = downcall("quiche_h3_config_free", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_H3_CONN_NEW_WITH_TRANSPORT = downcall("quiche_h3_conn_new_with_transport", FunctionDescriptor.of(C_POINTER, C_POINTER, C_POINTER));
QUICHE_H3_CONN_POLL = downcall("quiche_h3_conn_poll", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_POINTER));
QUICHE_H3_EVENT_TYPE = downcall("quiche_h3_event_type", FunctionDescriptor.of(C_INT, C_POINTER));
QUICHE_H3_EVENT_FOR_EACH_HEADER = downcall("quiche_h3_event_for_each_header", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_POINTER));
QUICHE_H3_FOR_EACH_SETTING = downcall("quiche_h3_for_each_setting", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_POINTER));
QUICHE_H3_EVENT_HEADERS_HAS_MORE_FRAMES = downcall("quiche_h3_event_headers_has_more_frames", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_H3_EXTENDED_CONNECT_ENABLED_BY_PEER = downcall("quiche_h3_extended_connect_enabled_by_peer", FunctionDescriptor.of(C_BOOL, C_POINTER));
QUICHE_H3_EVENT_FREE = downcall("quiche_h3_event_free", FunctionDescriptor.ofVoid(C_POINTER));
QUICHE_H3_SEND_REQUEST = downcall("quiche_h3_send_request", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_POINTER, C_LONG, C_BOOL));
QUICHE_H3_SEND_RESPONSE = downcall("quiche_h3_send_response", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_LONG, C_BOOL));
QUICHE_H3_SEND_RESPONSE_WITH_PRIORITY = downcall(
"quiche_h3_send_response_with_priority", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_LONG, C_POINTER, C_BOOL)
);
QUICHE_H3_SEND_ADDITIONAL_HEADERS = downcall(
"quiche_h3_send_additional_headers", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_LONG, C_BOOL, C_BOOL)
);
QUICHE_H3_SEND_BODY = downcall("quiche_h3_send_body", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_LONG, C_BOOL));
QUICHE_H3_RECV_BODY = downcall("quiche_h3_recv_body", FunctionDescriptor.of(C_LONG, C_POINTER, C_POINTER, C_LONG, C_POINTER, C_LONG));
QUICHE_H3_SEND_GOAWAY = downcall("quiche_h3_send_goaway", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG));
QUICHE_H3_PARSE_EXTENSIBLE_PRIORITY = downcall("quiche_h3_parse_extensible_priority", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG, C_POINTER));
QUICHE_H3_SEND_PRIORITY_UPDATE_FOR_REQUEST = downcall(
"quiche_h3_send_priority_update_for_request", FunctionDescriptor.of(C_INT, C_POINTER, C_POINTER, C_LONG, C_POINTER)
);
QUICHE_H3_TAKE_LAST_PRIORITY_UPDATE = downcall(
"quiche_h3_take_last_priority_update", FunctionDescriptor.of(C_INT, C_POINTER, C_LONG, C_POINTER, C_POINTER)
);
QUICHE_H3_DGRAM_ENABLED_BY_PEER = downcall("quiche_h3_dgram_enabled_by_peer", FunctionDescriptor.of(C_BOOL, C_POINTER, C_POINTER));
QUICHE_H3_CONN_STATS = downcall("quiche_h3_conn_stats", FunctionDescriptor.ofVoid(C_POINTER, C_POINTER));
QUICHE_H3_CONN_FREE = downcall("quiche_h3_conn_free", FunctionDescriptor.ofVoid(C_POINTER));
}
class="kw">public enum Platform {
LINUX,
MACOS,
WINDOWS;
Platform() {
}
}
class="kw">public enum QuicheError {
DONE(-1),
BUFFER_TOO_SHORT(-2),
UNKNOWN_VERSION(-3),
INVALID_FRAME(-4),
INVALID_PACKET(-5),
INVALID_STATE(-6),
INVALID_STREAM_STATE(-7),
INVALID_TRANSPORT_PARAM(-8),
CRYPTO_FAIL(-9),
TLS_FAIL(-10),
FLOW_CONTROL(-11),
STREAM_LIMIT(-12),
FINAL_SIZE(-13),
CONGESTION_CONTROL(-14),
STREAM_STOPPED(-15),
STREAM_RESET(-16),
ID_LIMIT(-17),
OUT_OF_IDENTIFIERS(-18),
KEY_UPDATE(-19),
CRYPTO_BUFFER_EXCEEDED(-20),
INVALID_ACK_RANGE(-21),
OPTIMISTIC_ACK_DETECTED(-22);
class="kw">private class="kw">static class="kw">final QuicheNative.QuicheError[] BY_CODE;
class="kw">private class="kw">final int code;
QuicheError(int nullxx) {
this.code = nullxx;
}
class="kw">public int code() {
class="kw">return this.code;
}
class="kw">public class="kw">static QuicheNative.QuicheError fromCode(int var0) {
int var1 = -var0 - 1;
class="kw">return var1 >= 0 && var1 < BY_CODE.length ? BY_CODE[var1] : null;
}
class="kw">static {
QuicheNative.QuicheError[] var0 = values();
BY_CODE = new QuicheNative.QuicheError[var0.length];
for (QuicheNative.QuicheError var4 : var0) {
BY_CODE[-var4.code - 1] = var4;
}
}
}
}