Skip to content

Commit b1428ed

Browse files
committed
Address review comments.
1 parent e80b2c5 commit b1428ed

File tree

3 files changed

+12
-23
lines changed

3 files changed

+12
-23
lines changed

Diff for: cmd/outline-ss-server/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ func (s *SSServer) runConfig(config Config) (func(), error) {
161161
manager: s.lnManager,
162162
listeners: make(map[string]service.Listener),
163163
}
164-
defer lnSet.Close()
164+
defer lnSet.Close() // This closes all the listeners in the set.
165165

166166
startErrCh <- func() error {
167167
portCiphers := make(map[int]*list.List) // Values are *List of *CipherEntry.

Diff for: cmd/outline-ss-server/metrics.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ type outlineMetrics struct {
3838

3939
buildInfo *prometheus.GaugeVec
4040
accessKeys prometheus.Gauge
41-
listeners prometheus.Gauge
41+
ports prometheus.Gauge
4242
dataBytes *prometheus.CounterVec
4343
dataBytesPerLocation *prometheus.CounterVec
4444
timeToCipherMs *prometheus.HistogramVec
@@ -183,10 +183,10 @@ func newPrometheusOutlineMetrics(ip2info ipinfo.IPInfoMap, registerer prometheus
183183
Name: "keys",
184184
Help: "Count of access keys",
185185
}),
186-
listeners: prometheus.NewGauge(prometheus.GaugeOpts{
186+
ports: prometheus.NewGauge(prometheus.GaugeOpts{
187187
Namespace: namespace,
188-
Name: "listeners",
189-
Help: "Count of open Shadowsocks listeners",
188+
Name: "ports",
189+
Help: "Count of open Shadowsocks ports",
190190
}),
191191
tcpProbes: prometheus.NewHistogramVec(prometheus.HistogramOpts{
192192
Namespace: namespace,
@@ -265,7 +265,7 @@ func newPrometheusOutlineMetrics(ip2info ipinfo.IPInfoMap, registerer prometheus
265265
m.tunnelTimeCollector = newTunnelTimeCollector(ip2info, registerer)
266266

267267
// TODO: Is it possible to pass where to register the collectors?
268-
registerer.MustRegister(m.buildInfo, m.accessKeys, m.listeners, m.tcpProbes, m.tcpOpenConnections, m.tcpClosedConnections, m.tcpConnectionDurationMs,
268+
registerer.MustRegister(m.buildInfo, m.accessKeys, m.ports, m.tcpProbes, m.tcpOpenConnections, m.tcpClosedConnections, m.tcpConnectionDurationMs,
269269
m.dataBytes, m.dataBytesPerLocation, m.timeToCipherMs, m.udpPacketsFromClientPerLocation, m.udpAddedNatEntries, m.udpRemovedNatEntries,
270270
m.tunnelTimeCollector)
271271
return m
@@ -275,9 +275,9 @@ func (m *outlineMetrics) SetBuildInfo(version string) {
275275
m.buildInfo.WithLabelValues(version).Set(1)
276276
}
277277

278-
func (m *outlineMetrics) SetNumAccessKeys(numKeys int, listeners int) {
278+
func (m *outlineMetrics) SetNumAccessKeys(numKeys int, ports int) {
279279
m.accessKeys.Set(float64(numKeys))
280-
m.listeners.Set(float64(listeners))
280+
m.ports.Set(float64(ports))
281281
}
282282

283283
func (m *outlineMetrics) AddOpenTCPConnection(clientInfo ipinfo.IPInfo) {

Diff for: service/listeners.go

+4-15
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,7 @@ type acceptResponse struct {
4646
}
4747

4848
type sharedListener struct {
49-
listener net.TCPListener
50-
once sync.Once
51-
49+
listener net.TCPListener
5250
acceptCh *atomic.Value // closed by first Close() call
5351
closeCh chan struct{}
5452
onCloseFunc func() error
@@ -71,12 +69,8 @@ func (sl *sharedListener) AcceptStream() (transport.StreamConn, error) {
7169
// Only when the last user closes it, we actually close it.
7270
func (sl *sharedListener) Close() error {
7371
sl.acceptCh = nil
74-
var err error
75-
sl.once.Do(func() {
76-
close(sl.closeCh)
77-
err = sl.onCloseFunc()
78-
})
79-
return err
72+
close(sl.closeCh)
73+
return sl.onCloseFunc()
8074
}
8175

8276
func (sl *sharedListener) Addr() net.Addr {
@@ -85,16 +79,11 @@ func (sl *sharedListener) Addr() net.Addr {
8579

8680
type sharedPacketConn struct {
8781
net.PacketConn
88-
once sync.Once
8982
onCloseFunc func() error
9083
}
9184

9285
func (spc *sharedPacketConn) Close() error {
93-
var err error
94-
spc.once.Do(func() {
95-
err = spc.onCloseFunc()
96-
})
97-
return err
86+
return spc.onCloseFunc()
9887
}
9988

10089
type concreteListener struct {

0 commit comments

Comments
 (0)