protomux

package
v10.305.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2021 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MultiplexedListener

type MultiplexedListener struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

MultiplexedListener is the root listener that will split connections to different protocols.

func NewMultiplexedListener

func NewMultiplexedListener(l net.Listener, mark int, puID string) *MultiplexedListener

NewMultiplexedListener returns a new multiplexed listener. Caller must register protocols outside of the new object creation.

func (*MultiplexedListener) Close

func (m *MultiplexedListener) Close()

Close terminates the server without the context.

func (*MultiplexedListener) RegisterDefaultListener

func (m *MultiplexedListener) RegisterDefaultListener(p *ProtoListener) error

RegisterDefaultListener registers a default listener.

func (*MultiplexedListener) RegisterListener

func (m *MultiplexedListener) RegisterListener(ltype common.ListenerType) (*ProtoListener, error)

RegisterListener registers a new listener. It returns the listener that the various protocol servers should use. If defaultListener is set, this will become the default listener if no match is found. Obviously, there cannot be more than one default.

func (*MultiplexedListener) Serve

func (m *MultiplexedListener) Serve(ctx context.Context) error

Serve will demux the connections

func (*MultiplexedListener) UnregisterDefaultListener

func (m *MultiplexedListener) UnregisterDefaultListener() error

UnregisterDefaultListener unregisters the default listener.

func (*MultiplexedListener) UnregisterListener

func (m *MultiplexedListener) UnregisterListener(ltype common.ListenerType) error

UnregisterListener unregisters a listener. It returns an error if there are services associated with this listener.

type ProtoListener

type ProtoListener struct {
	net.Listener
	// contains filtered or unexported fields
}

ProtoListener is

func NewProtoListener

func NewProtoListener(mark int) *ProtoListener

NewProtoListener creates a listener for a particular protocol.

func (*ProtoListener) Accept

func (p *ProtoListener) Accept() (net.Conn, error)

Accept accepts new connections over the channel.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL