فهرست منبع

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),
 		untunneledPendingConns:         untunneledPendingConns,
 		untunneledDialConfig:           untunneledDialConfig,
-		signalFetchRemoteServerList:    make(chan struct{}),
 		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)