[tor-commits] [snowflake/main] Extract function getCurrentNATType()
meskio at torproject.org
meskio at torproject.org
Tue Nov 16 19:37:40 UTC 2021
commit 2547883cf91839c40b937e354408e41fdf34c24e
Author: Shelikhoo <xiaokangwang at outlook.com>
Date: Tue Nov 9 19:34:16 2021 +0000
Extract function getCurrentNATType()
Adopted the change in according to the recommendation from
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2759900
---
proxy/lib/snowflake.go | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/proxy/lib/snowflake.go b/proxy/lib/snowflake.go
index b133c67..4cf25ee 100644
--- a/proxy/lib/snowflake.go
+++ b/proxy/lib/snowflake.go
@@ -80,6 +80,12 @@ var currentNATTypeAccess = &sync.RWMutex{}
// Obtain currentNATTypeAccess before access.
var currentNATType = NATUnknown
+func getCurrentNATType() string {
+ currentNATTypeAccess.RLock()
+ defer currentNATTypeAccess.RUnlock()
+ return currentNATType
+}
+
const (
sessionIDLength = 16
)
@@ -190,9 +196,7 @@ func (s *SignalingServer) pollOffer(sid string, shutdown chan struct{}) *webrtc.
return nil
default:
numClients := int((tokens.count() / 8) * 8) // Round down to 8
- currentNATTypeAccess.RLock()
- currentNATTypeLoaded := currentNATType
- currentNATTypeAccess.RUnlock()
+ currentNATTypeLoaded := getCurrentNATType()
body, err := messages.EncodePollRequest(sid, "standalone", currentNATTypeLoaded, numClients)
if err != nil {
log.Printf("Error encoding poll message: %s", err.Error())
@@ -541,9 +545,7 @@ func (sf *SnowflakeProxy) Start() error {
// use probetest to determine NAT compatability
sf.checkNATType(config, sf.NATProbeURL)
- currentNATTypeAccess.RLock()
- currentNATTypeLoaded := currentNATType
- currentNATTypeAccess.RUnlock()
+ currentNATTypeLoaded := getCurrentNATType()
log.Printf("NAT type: %s", currentNATTypeLoaded)
@@ -632,9 +634,7 @@ func (sf *SnowflakeProxy) checkNATType(config webrtc.Configuration, probeURL str
return
}
- currentNATTypeAccess.RLock()
- currentNATTypeLoaded := currentNATType
- currentNATTypeAccess.RUnlock()
+ currentNATTypeLoaded := getCurrentNATType()
currentNATTypeTestResult := NATUnknown
select {
More information about the tor-commits
mailing list