l4la

package module
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 12, 2022 License: BSD-3-Clause Imports: 11 Imported by: 0

README

l4la

GitHub release

README | 中文文档

!!! Note: this is a just-work version, all things may be changed without any backward-compatibility !!!

Introduction

l4la is a tool that divide a connection into multi connections.

It is useful for the people who has multi-wan at home and a high-bandwidth server in other place.

---------------    <----    ~~~~~~~~~~~~~~~~~~~~~    <----    ---------------
| l4la Server |    <----    { Multi connections }    <----    | l4la Client |
---------------    <----    ~~~~~~~~~~~~~~~~~~~~~    <----    ---------------
      |                                                              ^
      |                              V                               |
      |                                                              |
      |                              S                               |
      ↓                                                              |
  -----------                ~~~~~~~~~~~~~~~~~~                  ----------
  | Service |    <--------   { One connectiom }    <---------    | Client |
  -----------                ~~~~~~~~~~~~~~~~~~                  ----------

Usage

Usage:
  l4la server <listen port> <service address>
  l4la client <listen port> <server address> <connection number>

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrClose   = errors.New("Closed")
	ErrTimeout = errors.New("Timeout")
)

Functions

This section is empty.

Types

type Addr added in v0.2.0

type Addr struct{}

func (*Addr) Network added in v0.2.0

func (a *Addr) Network() string

func (*Addr) String added in v0.2.0

func (a *Addr) String() string

type Conn

type Conn struct {
	// contains filtered or unexported fields
}

func NewConn

func NewConn(ctx context.Context) (*Conn, error)

func (*Conn) AddRemoteConn

func (c *Conn) AddRemoteConn(conn net.Conn)

func (*Conn) Close

func (c *Conn) Close() error

func (*Conn) LocalAddr added in v0.2.0

func (c *Conn) LocalAddr() net.Addr

func (*Conn) Read added in v0.2.0

func (c *Conn) Read(b []byte) (n int, err error)

func (*Conn) RemoteAddr added in v0.2.0

func (c *Conn) RemoteAddr() net.Addr

func (*Conn) SetDeadline added in v0.2.0

func (c *Conn) SetDeadline(t time.Time) error

func (*Conn) SetReadDeadline added in v0.2.0

func (c *Conn) SetReadDeadline(t time.Time) error

func (*Conn) SetWriteDeadline added in v0.2.0

func (c *Conn) SetWriteDeadline(t time.Time) error

func (*Conn) WaitClose added in v0.1.3

func (c *Conn) WaitClose() <-chan struct{}

func (*Conn) Write added in v0.2.0

func (c *Conn) Write(b []byte) (n int, err error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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