|
|
@@ -877,9 +877,15 @@ type Config struct {
|
|
|
HoldOffTunnelMinDurationMilliseconds *int
|
|
|
HoldOffTunnelMaxDurationMilliseconds *int
|
|
|
HoldOffTunnelProtocols []string
|
|
|
- HoldOffTunnelFrontingProviderIDs []string
|
|
|
HoldOffTunnelProbability *float64
|
|
|
|
|
|
+ // HoldOffTunnelFrontingMinDurationMilliseconds and other
|
|
|
+ // HoldOffTunnelFronting fields are for testing purposes.
|
|
|
+ HoldOffTunnelFrontingMinDurationMilliseconds *int
|
|
|
+ HoldOffTunnelFrontingMaxDurationMilliseconds *int
|
|
|
+ HoldOffTunnelFrontingProviderIDs []string
|
|
|
+ HoldOffTunnelFrontingProbability *float64
|
|
|
+
|
|
|
// RestrictFrontingProviderIDs and other RestrictFrontingProviderIDs fields
|
|
|
// are for testing purposes.
|
|
|
RestrictFrontingProviderIDs []string
|
|
|
@@ -2214,12 +2220,24 @@ func (config *Config) makeConfigParameters() map[string]interface{} {
|
|
|
applyParameters[parameters.HoldOffTunnelProtocols] = protocol.TunnelProtocols(config.HoldOffTunnelProtocols)
|
|
|
}
|
|
|
|
|
|
+ if config.HoldOffTunnelProbability != nil {
|
|
|
+ applyParameters[parameters.HoldOffTunnelProbability] = *config.HoldOffTunnelProbability
|
|
|
+ }
|
|
|
+
|
|
|
+ if config.HoldOffTunnelFrontingMinDurationMilliseconds != nil {
|
|
|
+ applyParameters[parameters.HoldOffTunnelFrontingMinDuration] = fmt.Sprintf("%dms", *config.HoldOffTunnelFrontingMinDurationMilliseconds)
|
|
|
+ }
|
|
|
+
|
|
|
+ if config.HoldOffTunnelFrontingMaxDurationMilliseconds != nil {
|
|
|
+ applyParameters[parameters.HoldOffTunnelFrontingMaxDuration] = fmt.Sprintf("%dms", *config.HoldOffTunnelFrontingMaxDurationMilliseconds)
|
|
|
+ }
|
|
|
+
|
|
|
if len(config.HoldOffTunnelFrontingProviderIDs) > 0 {
|
|
|
applyParameters[parameters.HoldOffTunnelFrontingProviderIDs] = config.HoldOffTunnelFrontingProviderIDs
|
|
|
}
|
|
|
|
|
|
- if config.HoldOffTunnelProbability != nil {
|
|
|
- applyParameters[parameters.HoldOffTunnelProbability] = *config.HoldOffTunnelProbability
|
|
|
+ if config.HoldOffTunnelFrontingProbability != nil {
|
|
|
+ applyParameters[parameters.HoldOffTunnelFrontingProbability] = *config.HoldOffTunnelFrontingProbability
|
|
|
}
|
|
|
|
|
|
if config.HoldOffDirectTunnelMinDurationMilliseconds != nil {
|
|
|
@@ -3022,6 +3040,21 @@ func (config *Config) setDialParametersHash() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if config.HoldOffTunnelProbability != nil {
|
|
|
+ hash.Write([]byte("HoldOffTunnelProbability"))
|
|
|
+ binary.Write(hash, binary.LittleEndian, *config.HoldOffTunnelProbability)
|
|
|
+ }
|
|
|
+
|
|
|
+ if config.HoldOffTunnelFrontingMinDurationMilliseconds != nil {
|
|
|
+ hash.Write([]byte("HoldOffTunnelFrontingMinDurationMilliseconds"))
|
|
|
+ binary.Write(hash, binary.LittleEndian, int64(*config.HoldOffTunnelFrontingMinDurationMilliseconds))
|
|
|
+ }
|
|
|
+
|
|
|
+ if config.HoldOffTunnelFrontingMaxDurationMilliseconds != nil {
|
|
|
+ hash.Write([]byte("HoldOffTunnelFrontingMaxDurationMilliseconds"))
|
|
|
+ binary.Write(hash, binary.LittleEndian, int64(*config.HoldOffTunnelFrontingMaxDurationMilliseconds))
|
|
|
+ }
|
|
|
+
|
|
|
if len(config.HoldOffTunnelFrontingProviderIDs) > 0 {
|
|
|
hash.Write([]byte("HoldOffTunnelFrontingProviderIDs"))
|
|
|
for _, providerID := range config.HoldOffTunnelFrontingProviderIDs {
|
|
|
@@ -3029,6 +3062,11 @@ func (config *Config) setDialParametersHash() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if config.HoldOffTunnelFrontingProbability != nil {
|
|
|
+ hash.Write([]byte("HoldOffTunnelFrontingProbability"))
|
|
|
+ binary.Write(hash, binary.LittleEndian, *config.HoldOffTunnelFrontingProbability)
|
|
|
+ }
|
|
|
+
|
|
|
if config.HoldOffDirectTunnelProbability != nil {
|
|
|
hash.Write([]byte("HoldOffDirectTunnelProbability"))
|
|
|
binary.Write(hash, binary.LittleEndian, *config.HoldOffDirectTunnelProbability)
|
|
|
@@ -3054,11 +3092,6 @@ func (config *Config) setDialParametersHash() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if config.HoldOffTunnelProbability != nil {
|
|
|
- hash.Write([]byte("HoldOffTunnelProbability"))
|
|
|
- binary.Write(hash, binary.LittleEndian, *config.HoldOffTunnelProbability)
|
|
|
- }
|
|
|
-
|
|
|
if len(config.RestrictDirectProviderRegions) > 0 {
|
|
|
hash.Write([]byte("RestrictDirectProviderRegions"))
|
|
|
for providerID, regions := range config.RestrictDirectProviderRegions {
|