Documentation ¶
Index ¶
Constants ¶
View Source
const ( FeatureSerializedHeaders = "serialized_headers" FeatureQuickReconnects = "quick_reconnects" FeatureAllowRemoteConfig = "allow_remote_config" FeatureDatagramV2 = "support_datagram_v2" FeaturePostQuantum = "postquantum" FeatureQUICSupportEOF = "support_quic_eof" FeatureManagementLogs = "management_logs" )
Variables ¶
View Source
var ( DefaultFeatures = []string{ FeatureAllowRemoteConfig, FeatureSerializedHeaders, FeatureDatagramV2, FeatureQUICSupportEOF, FeatureManagementLogs, } )
Functions ¶
Types ¶
type FeatureSelector ¶
type FeatureSelector struct {
// contains filtered or unexported fields
}
FeatureSelector determines if this account will try new features. It preiodically queries a DNS TXT record to see which features are turned on
func NewFeatureSelector ¶
func NewFeatureSelector(ctx context.Context, accountTag string, staticFeatures StaticFeatures, logger *zerolog.Logger) (*FeatureSelector, error)
func (*FeatureSelector) PostQuantumMode ¶
func (fs *FeatureSelector) PostQuantumMode() PostQuantumMode
type PostQuantumMode ¶
type PostQuantumMode uint8
const ( PostQuantumDisabled PostQuantumMode = iota // Prefer post quantum, but fallback if connection cannot be established PostQuantumPrefer // If the user passes the --post-quantum flag, we override // CurvePreferences to only support hybrid post-quantum key agreements. PostQuantumStrict )
type StaticFeatures ¶
type StaticFeatures struct {
PostQuantumMode *PostQuantumMode
}
Features set by user provided flags
Click to show internal directories.
Click to hide internal directories.