#ifndef QUICHE_QUIC_CORE_QUIC_UDP_SOCKET_H_
#define QUICHE_QUIC_CORE_QUIC_UDP_SOCKET_H_
#include <cstddef>
#include <cstdint>
#include <type_traits>
#include "quiche/quic/core/io/socket.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_ip_address.h"
#include "quiche/quic/platform/api/quic_socket_address.h"
#ifndef UDP_GRO
#define UDP_GRO …
#endif
namespace quic {
QuicUdpSocketFd;
inline constexpr QuicUdpSocketFd kQuicInvalidSocketFd = …;
inline constexpr size_t kDefaultUdpPacketControlBufferSize = …;
enum class QuicUdpPacketInfoBit : uint8_t { … };
QuicUdpPacketInfoBitMask;
static_assert …;
struct QUICHE_EXPORT BufferSpan { … };
class QUICHE_EXPORT QuicUdpPacketInfo { … };
class QUICHE_EXPORT QuicUdpSocketApi { … };
}
#endif