Преглед изворни кода

Add TODO placeholder for question about buffered channel

Rod Hynes пре 10 година
родитељ
комит
d0b6ba30a3
1 измењених фајлова са 5 додато и 2 уклоњено
  1. 5 2
      psiphon/controller.go

+ 5 - 2
psiphon/controller.go

@@ -108,9 +108,12 @@ func NewController(config *Config) (controller *Controller, err error) {
 		establishPendingConns:          new(Conns),
 		establishPendingConns:          new(Conns),
 		untunneledPendingConns:         untunneledPendingConns,
 		untunneledPendingConns:         untunneledPendingConns,
 		untunneledDialConfig:           untunneledDialConfig,
 		untunneledDialConfig:           untunneledDialConfig,
-		signalFetchRemoteServerList:    make(chan struct{}),
 		impairedProtocolClassification: make(map[string]int),
 		impairedProtocolClassification: make(map[string]int),
-		signalReportConnected:          make(chan struct{}),
+		// TODO: Add a buffer of 1 so we don't miss a signal while receiver is
+		// starting? Trade-off is potential back-to-back fetch remotes. As-is,
+		// establish will eventually signal another fetch remote.
+		signalFetchRemoteServerList: make(chan struct{}),
+		signalReportConnected:       make(chan struct{}),
 	}
 	}
 
 
 	controller.splitTunnelClassifier = NewSplitTunnelClassifier(config, controller)
 	controller.splitTunnelClassifier = NewSplitTunnelClassifier(config, controller)