revert change for Listener
This commit is contained in:
parent
2e40afe535
commit
20e7528b25
@ -14,7 +14,7 @@ var (
|
||||
// Listener is a server listener, just like a net.Listener.
|
||||
type Listener interface {
|
||||
Init(metadata.Metadata) error
|
||||
Accept() (net.Conn, metadata.Metadata, error)
|
||||
Accept() (net.Conn, error)
|
||||
Addr() net.Addr
|
||||
Close() error
|
||||
}
|
||||
|
@ -57,10 +57,10 @@ func (l *rtcpListener) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (l *rtcpListener) Accept() (conn net.Conn, md md.Metadata, err error) {
|
||||
func (l *rtcpListener) Accept() (conn net.Conn, err error) {
|
||||
select {
|
||||
case <-l.closed:
|
||||
return nil, nil, net.ErrClosed
|
||||
return nil, net.ErrClosed
|
||||
default:
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ func (l *rtcpListener) Accept() (conn net.Conn, md md.Metadata, err error) {
|
||||
connector.MuxBindOption(true),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, nil, listener.NewAcceptError(err)
|
||||
return nil, listener.NewAcceptError(err)
|
||||
}
|
||||
l.ln = metrics.WrapListener(l.options.Service, l.ln)
|
||||
}
|
||||
@ -78,7 +78,7 @@ func (l *rtcpListener) Accept() (conn net.Conn, md md.Metadata, err error) {
|
||||
if err != nil {
|
||||
l.ln.Close()
|
||||
l.ln = nil
|
||||
return nil, nil, listener.NewAcceptError(err)
|
||||
return nil, listener.NewAcceptError(err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -57,10 +57,10 @@ func (l *rudpListener) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (l *rudpListener) Accept() (conn net.Conn, md md.Metadata, err error) {
|
||||
func (l *rudpListener) Accept() (conn net.Conn, err error) {
|
||||
select {
|
||||
case <-l.closed:
|
||||
return nil, nil, net.ErrClosed
|
||||
return nil, net.ErrClosed
|
||||
default:
|
||||
}
|
||||
|
||||
@ -73,14 +73,14 @@ func (l *rudpListener) Accept() (conn net.Conn, md md.Metadata, err error) {
|
||||
connector.UDPDataQueueSizeBindOption(l.md.readQueueSize),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, nil, listener.NewAcceptError(err)
|
||||
return nil, listener.NewAcceptError(err)
|
||||
}
|
||||
}
|
||||
conn, err = l.ln.Accept()
|
||||
if err != nil {
|
||||
l.ln.Close()
|
||||
l.ln = nil
|
||||
return nil, nil, listener.NewAcceptError(err)
|
||||
return nil, listener.NewAcceptError(err)
|
||||
}
|
||||
|
||||
if pc, ok := conn.(net.PacketConn); ok {
|
||||
|
@ -47,9 +47,8 @@ func (l *tcpListener) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (l *tcpListener) Accept() (conn net.Conn, md md.Metadata, err error) {
|
||||
conn, err = l.ln.Accept()
|
||||
return
|
||||
func (l *tcpListener) Accept() (conn net.Conn, err error) {
|
||||
return l.ln.Accept()
|
||||
}
|
||||
|
||||
func (l *tcpListener) Addr() net.Addr {
|
||||
|
@ -51,9 +51,8 @@ func (l *tlsListener) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (l *tlsListener) Accept() (conn net.Conn, md md.Metadata, err error) {
|
||||
conn, err = l.ln.Accept()
|
||||
return
|
||||
func (l *tlsListener) Accept() (conn net.Conn, err error) {
|
||||
return l.ln.Accept()
|
||||
}
|
||||
|
||||
func (l *tlsListener) Addr() net.Addr {
|
||||
|
@ -60,9 +60,8 @@ func (l *udpListener) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (l *udpListener) Accept() (conn net.Conn, md md.Metadata, err error) {
|
||||
conn, err = l.ln.Accept()
|
||||
return
|
||||
func (l *udpListener) Accept() (conn net.Conn, err error) {
|
||||
return l.ln.Accept()
|
||||
}
|
||||
|
||||
func (l *udpListener) Addr() net.Addr {
|
||||
|
@ -6,6 +6,10 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type Metadatable interface {
|
||||
GetMetadata() Metadata
|
||||
}
|
||||
|
||||
type Metadata interface {
|
||||
IsExists(key string) bool
|
||||
Set(key string, value any)
|
||||
|
@ -71,7 +71,7 @@ func (s *service) Serve() error {
|
||||
|
||||
var tempDelay time.Duration
|
||||
for {
|
||||
conn, md, e := s.listener.Accept()
|
||||
conn, e := s.listener.Accept()
|
||||
if e != nil {
|
||||
if ne, ok := e.(net.Error); ok && ne.Temporary() {
|
||||
if tempDelay == 0 {
|
||||
@ -111,7 +111,6 @@ func (s *service) Serve() error {
|
||||
if err := s.handler.Handle(
|
||||
context.Background(),
|
||||
conn,
|
||||
handler.MetadataHandleOption(md),
|
||||
); err != nil {
|
||||
s.options.logger.Error(err)
|
||||
metrics.HandlerErrors(s.name).Inc()
|
||||
|
Loading…
Reference in New Issue
Block a user