update conditional metrics usage
This commit is contained in:
parent
5a15f53fc6
commit
513eefe034
@ -1,6 +1,8 @@
|
||||
package bufpool
|
||||
|
||||
import "sync"
|
||||
import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
var (
|
||||
pools = []struct {
|
||||
|
@ -2,7 +2,6 @@ package udp
|
||||
|
||||
import (
|
||||
"net"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/go-gost/core/common/bufpool"
|
||||
@ -22,7 +21,7 @@ type listener struct {
|
||||
conn net.PacketConn
|
||||
cqueue chan net.Conn
|
||||
connPool *connPool
|
||||
mux sync.Mutex
|
||||
// mux sync.Mutex
|
||||
closed chan struct{}
|
||||
errChan chan error
|
||||
config *ListenConfig
|
||||
@ -109,8 +108,8 @@ func (ln *listener) Close() error {
|
||||
}
|
||||
|
||||
func (ln *listener) getConn(raddr net.Addr) *conn {
|
||||
ln.mux.Lock()
|
||||
defer ln.mux.Unlock()
|
||||
// ln.mux.Lock()
|
||||
// defer ln.mux.Unlock()
|
||||
|
||||
c, ok := ln.connPool.Get(raddr.String())
|
||||
if ok {
|
||||
|
@ -29,7 +29,7 @@ var (
|
||||
global Metrics = Noop()
|
||||
)
|
||||
|
||||
func SetGlobal(m Metrics) {
|
||||
func Init(m Metrics) {
|
||||
if m != nil {
|
||||
global = m
|
||||
} else {
|
||||
@ -37,8 +37,8 @@ func SetGlobal(m Metrics) {
|
||||
}
|
||||
}
|
||||
|
||||
func Global() Metrics {
|
||||
return global
|
||||
func IsEnabled() bool {
|
||||
return global != Noop()
|
||||
}
|
||||
|
||||
type Gauge interface {
|
||||
|
@ -20,6 +20,9 @@ type serverConn struct {
|
||||
}
|
||||
|
||||
func WrapConn(service string, c net.Conn) net.Conn {
|
||||
if !metrics.IsEnabled() {
|
||||
return c
|
||||
}
|
||||
return &serverConn{
|
||||
service: service,
|
||||
Conn: c,
|
||||
@ -65,6 +68,9 @@ type packetConn struct {
|
||||
}
|
||||
|
||||
func WrapPacketConn(service string, pc net.PacketConn) net.PacketConn {
|
||||
if !metrics.IsEnabled() {
|
||||
return pc
|
||||
}
|
||||
return &packetConn{
|
||||
PacketConn: pc,
|
||||
service: service,
|
||||
|
@ -12,6 +12,10 @@ type listener struct {
|
||||
}
|
||||
|
||||
func WrapListener(service string, ln net.Listener) net.Listener {
|
||||
if !metrics.IsEnabled() {
|
||||
return ln
|
||||
}
|
||||
|
||||
return &listener{
|
||||
service: service,
|
||||
Listener: ln,
|
||||
@ -24,9 +28,5 @@ func (ln *listener) Accept() (net.Conn, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// metrics is not enabled
|
||||
if metrics.Global() == metrics.Noop() {
|
||||
return c, nil
|
||||
}
|
||||
return WrapConn(ln.service, c), nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user