tcpGateway

package
v0.6.27 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2021 License: BSD-3-Clause Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnsupportedProtocol  = errors.New("gateway protocol is not supported")
	ErrWriteToClosedConn    = errors.New("write to closed conn")
	ErrConnectionClosed     = errors.New("connection closed")
	ErrUnexpectedSocketRead = errors.New("unexpected socket read")
	ErrOpCloseReceived      = errors.New("close operation received")
)

Functions

func CreateHandle added in v0.6.10

func CreateHandle(
	onRequest func(conn rony.Conn, reqCtx *gateway.RequestCtx) []byte,
	onResponse func(data []byte) ([]byte, map[string]string),
) gateway.ProxyHandle

Types

type Config

type Config struct {
	Concurrency   int
	ListenAddress string
	MaxBodySize   int
	MaxIdleTime   time.Duration
	Protocol      gateway.Protocol
	ExternalAddrs []string
	ProxyEnabled  bool
}

Config

type Gateway

type Gateway struct {
	gateway.ConnectHandler
	gateway.MessageHandler
	gateway.CloseHandler
	// contains filtered or unexported fields
}

Gateway

func MustNew

func MustNew(config Config) *Gateway

func New

func New(config Config) (*Gateway, error)

New

func (*Gateway) Addr

func (g *Gateway) Addr() []string

Addr return the address which gateway is listen on

func (*Gateway) GetConn

func (g *Gateway) GetConn(connID uint64) rony.Conn

GetConn returns the connection identified by connID

func (*Gateway) Run

func (g *Gateway) Run()

Run is blocking and runs the server endless loop until a non-temporary error happens

func (*Gateway) SetProxy added in v0.6.9

func (g *Gateway) SetProxy(
	method, path string, handle gateway.ProxyHandle,
)

func (*Gateway) Shutdown

func (g *Gateway) Shutdown()

Shutdown

func (*Gateway) Start

func (g *Gateway) Start()

Start is non-blocking and call the Run function in background

func (*Gateway) TotalConnections

func (g *Gateway) TotalConnections() int

type HttpProxy added in v0.6.0

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

HttpProxy

func (*HttpProxy) Set added in v0.6.0

func (hp *HttpProxy) Set(method, path string, p gateway.ProxyHandle)

type UnsafeConn

type UnsafeConn interface {
	net.Conn
	UnsafeConn() net.Conn
}

Directories

Path Synopsis
Package wsutil provides utilities for working with WebSocket protocol.
Package wsutil provides utilities for working with WebSocket protocol.

Jump to

Keyboard shortcuts

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