protomux

package
v8.29.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ListenerType

type ListenerType int

ListenerType are the types of listeners that can be used.

const (
	TCPApplication ListenerType = iota
	TCPNetwork
	HTTPApplication
	HTTPNetwork
	HTTPSApplication
	HTTPSNetwork
)

Values of ListenerType

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) *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) NewServiceRegistry

func (m *MultiplexedListener) NewServiceRegistry() *servicecache.ServiceCache

NewServiceRegistry creates a new service registry for updates. The caller must call SetServiceRegistry to do an atomic update of the service registry.

func (*MultiplexedListener) RegisterDefaultListener

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

RegisterDefaultListener registers a default listener.

func (*MultiplexedListener) RegisterListener

func (m *MultiplexedListener) RegisterListener(ltype 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) SetServiceRegistry

func (m *MultiplexedListener) SetServiceRegistry(s *servicecache.ServiceCache)

SetServiceRegistry updates the service registry for the caller.

func (*MultiplexedListener) UnregisterDefaultListener

func (m *MultiplexedListener) UnregisterDefaultListener() error

UnregisterDefaultListener unregisters the default listener.

func (*MultiplexedListener) UnregisterListener

func (m *MultiplexedListener) UnregisterListener(ltype 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