Versions in this module Expand all Collapse all v0 v0.0.1 Jan 23, 2026 Changes in this version + const ALPN + const DNSClassINET + const DNSQueryTypeA + const DNSQueryTypeAAAA + const DNSQueryTypeTXT + const DNSResponseCodeNXDomain + const DNSResponseCodeNoError + const DNSResponseCodeServerFailure + const DefaultClientPort + const DefaultKeepAliveInterval + const DefaultServerPort + const DummyAddress + const DummyPort + const EDNS0UDPSize + const FileCancelError + const InlineDotsInterval + const InternalError + const MaxDNSLabelLength + const MaxDNSNameLength + const NoError + const SNI + var ErrBufferTooSmall = errors.New("buffer too small for dotification") + var ErrInvalidBase32 = errors.New("invalid base32 encoding") + var ErrInvalidEncoding = errors.New("invalid encoding") + func CalculateDotifiedLength(length int) int + func CalculateEncodedLength(dataLen int) int + func DecodeData(encodedDomain string) ([]byte, error) + func DecodeFromDNSName(queryName, domainSuffix string) ([]byte, error) + func Dotify(data []byte) ([]byte, error) + func DotifyInPlace(buf []byte, length int) (int, error) + func EncodeData(data []byte) (string, error) + func EncodeToDNSName(data []byte, domainSuffix string) (string, error) + func MaxDataLengthForDNSName(maxDNSLen int, domainSuffixLen int) int + func Undotify(data []byte) []byte + func UndotifyString(s string) string + type Slot struct + ConnectionID []byte + DNSQuery []byte + DNSResponse []byte + Error error + IsPollPacket bool + LocalAddr net.Addr + PathID int + PeerAddr net.Addr + Timestamp int64 + func (s *Slot) Reset() + func (s *Slot) SetConnectionID(id []byte) + func (s *Slot) SetDNSQuery(data []byte) + func (s *Slot) SetDNSResponse(data []byte) + type SlotPool struct + func NewSlotPool() *SlotPool + func (p *SlotPool) Get() *Slot + func (p *SlotPool) Put(s *Slot) + type SlotQueue struct + func NewSlotQueue() *SlotQueue + func (q *SlotQueue) Clear() + func (q *SlotQueue) Dequeue() *Slot + func (q *SlotQueue) Enqueue(s *Slot) + func (q *SlotQueue) Len() int + func (q *SlotQueue) TryDequeue() *Slot