Refactor state transfer logic to simplify it

Adopted the change in according to the recommendation from

https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2760514
This commit is contained in:
Shelikhoo 2021-11-12 10:28:01 +00:00
parent 2547883cf9
commit 59af9927a5
No known key found for this signature in database
GPG key ID: C4D5E79D22B25316

View file

@ -646,32 +646,14 @@ func (sf *SnowflakeProxy) checkNATType(config webrtc.Configuration, probeURL str
currentNATTypeToStore := NATUnknown
switch currentNATTypeLoaded + "->" + currentNATTypeTestResult {
case NATUnknown + "->" + NATUnknown:
currentNATTypeToStore = NATUnknown
case NATUnknown + "->" + NATUnrestricted:
currentNATTypeToStore = NATUnrestricted
case NATUnknown + "->" + NATRestricted:
currentNATTypeToStore = NATRestricted
case NATUnrestricted + "->" + NATUnknown:
currentNATTypeToStore = NATUnrestricted
case NATUnrestricted + "->" + NATUnrestricted:
currentNATTypeToStore = NATUnrestricted
case NATUnrestricted + "->" + NATRestricted:
currentNATTypeToStore = NATRestricted
case NATRestricted + "->" + NATUnknown:
currentNATTypeToStore = NATRestricted
case NATRestricted + "->" + NATUnrestricted:
currentNATTypeToStore = NATUnrestricted
case NATRestricted + "->" + NATRestricted:
currentNATTypeToStore = NATRestricted
default:
currentNATTypeToStore = currentNATTypeTestResult
}
log.Printf("NAT Type measurement: %v -> %v = %v\n", currentNATTypeLoaded, currentNATTypeTestResult, currentNATTypeToStore)