Documentation
¶
Index ¶
- Variables
- type ConnResult
- type MetaAddr
- type MetaListener
- func (ml *MetaListener) Accept() (net.Conn, error)
- func (ml *MetaListener) AddListener(id string, listener net.Listener) error
- func (ml *MetaListener) Addr() net.Addr
- func (ml *MetaListener) Close() error
- func (ml *MetaListener) Count() int
- func (ml *MetaListener) ListenerIDs() []string
- func (ml *MetaListener) RemoveListener(id string) error
- func (ml *MetaListener) WaitForShutdown(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
var ( // ErrListenerClosed is returned when attempting to accept on a closed listener ErrListenerClosed = oops.Errorf("listener is closed") // ErrNoListeners is returned when the meta listener has no active listeners ErrNoListeners = oops.Errorf("no active listeners") )
Functions ¶
This section is empty.
Types ¶
type ConnResult ¶
ConnResult represents a connection received from a listener
type MetaAddr ¶
type MetaAddr struct {
// contains filtered or unexported fields
}
MetaAddr implements the net.Addr interface for a meta listener.
type MetaListener ¶
type MetaListener struct {
// contains filtered or unexported fields
}
MetaListener implements the net.Listener interface and manages multiple underlying network listeners as a unified interface.
func NewMetaListener ¶
func NewMetaListener() *MetaListener
NewMetaListener creates a new MetaListener instance ready to manage multiple listeners.
func (*MetaListener) Accept ¶
func (ml *MetaListener) Accept() (net.Conn, error)
Accept implements the net.Listener Accept method. It returns the next connection from any of the managed listeners.
func (*MetaListener) AddListener ¶
func (ml *MetaListener) AddListener(id string, listener net.Listener) error
AddListener adds a new listener with the specified ID. Returns an error if a listener with the same ID already exists or if the provided listener is nil.
func (*MetaListener) Addr ¶
func (ml *MetaListener) Addr() net.Addr
Addr implements the net.Listener Addr method. It returns a MetaAddr representing all managed listeners.
func (*MetaListener) Close ¶
func (ml *MetaListener) Close() error
Close implements the net.Listener Close method. It closes all managed listeners and releases resources.
func (*MetaListener) Count ¶
func (ml *MetaListener) Count() int
Count returns the number of active listeners.
func (*MetaListener) ListenerIDs ¶
func (ml *MetaListener) ListenerIDs() []string
ListenerIDs returns the IDs of all active listeners.
func (*MetaListener) RemoveListener ¶
func (ml *MetaListener) RemoveListener(id string) error
RemoveListener stops and removes the listener with the specified ID. Returns an error if no listener with that ID exists.
func (*MetaListener) WaitForShutdown ¶
func (ml *MetaListener) WaitForShutdown(ctx context.Context) error
WaitForShutdown blocks until all listener goroutines have exited. This is useful for ensuring clean shutdown in server applications.