cmux

package module
v0.0.0-...-dac7908 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2023 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Overview

Package cmux provides multiplexing over net.Conns using smux and adhering to standard net package interfaces.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrClosed = errors.New("listener closed")
)

Functions

func Listen

func Listen(opts *ListenOpts) net.Listener

Listen creates a net.Listener that multiplexes connections over a connection obtained from the underlying opts.Listener.

Types

type DialFN

type DialFN func(ctx context.Context, network, addr string) (net.Conn, error)

DialFN is a function that dials like net.DialContext.

func Dialer

func Dialer(opts *DialerOpts) DialFN

Dialer creates a DialFN that returns connections that multiplex themselves over a single connection obtained from the underlying opts.Dial function. It will continue to use that single connection until and unless it encounters an error creating a new multiplexed stream, at which point it will dial again.

type DialerOpts

type DialerOpts struct {
	Dial              DialFN
	PoolSize          int
	BufferSize        int
	KeepAliveInterval time.Duration
	KeepAliveTimeout  time.Duration
}

type ListenOpts

type ListenOpts struct {
	Listener          net.Listener
	BufferSize        int
	KeepAliveInterval time.Duration
}

Jump to

Keyboard shortcuts

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