Skip to content

Commit d57b3cc

Browse files
committed
Update server_socket.go
1 parent 50264b0 commit d57b3cc

1 file changed

Lines changed: 16 additions & 5 deletions

File tree

lib/go/thrift/server_socket.go

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,9 @@ import (
2626
"time"
2727
)
2828

29-
// TServerSocketListenerFactory abstracts how listeners are created.
30-
type TServerSocketListenerFactory func(listen bool) (net.Addr, net.Listener, error)
31-
3229
type TServerSocket struct {
33-
factory TServerSocketListenerFactory
30+
// TServerSocketListenerFactory abstracts how listeners are created.
31+
factory func(listen bool) (net.Addr, net.Listener, error)
3432
clientTimeout time.Duration
3533

3634
mu sync.RWMutex
@@ -67,7 +65,20 @@ func NewTServerSocketFromAddrTimeout(addr net.Addr, clientTimeout time.Duration)
6765
}
6866

6967
// Allows full customization (TLS, mocks, unix sockets, windows named pipes, etc.)
70-
func NewTServerSocketFromFactoryTimeout(factory TServerSocketListenerFactory, clientTimeout time.Duration) *TServerSocket {
68+
func NewTServerSocketFromFactoryAddrTimeout(proc func(addr net.Addr) (net.Listener, error),addr net.Addr, clientTimeout time.Duration) *TServerSocket {
69+
factory := func(listen bool) (net.Addr, net.Listener, error) {
70+
var listener net.Listener
71+
var err error
72+
if (listen){
73+
listener, err = proc(addr)
74+
}
75+
return addr, listener, err
76+
}
77+
return NewTServerSocketFromFactoryTimeout(factory, clientTimeout)
78+
}
79+
80+
// Allows full customization (TLS, mocks, unix sockets, windows named pipes, etc.)
81+
func NewTServerSocketFromFactoryTimeout(factory func(listen bool) (net.Addr, net.Listener, error), clientTimeout time.Duration) *TServerSocket {
7182
return &TServerSocket{
7283
factory: factory,
7384
clientTimeout: clientTimeout,

0 commit comments

Comments
 (0)