gost/pkg/listener/listener.go
2021-11-18 22:54:23 +08:00

29 lines
514 B
Go

package listener
import (
"errors"
"net"
"github.com/go-gost/gost/pkg/chain"
"github.com/go-gost/gost/pkg/metadata"
)
var (
ErrClosed = errors.New("accpet on closed listener")
)
// Listener is a server listener, just like a net.Listener.
type Listener interface {
Init(metadata.Metadata) error
net.Listener
}
// Accepter represents a network endpoint that can accept connection from peer.
type Accepter interface {
Accept() (net.Conn, error)
}
type Chainable interface {
Chain(chain *chain.Chain)
}