core

package
v0.9.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	MessageMethodData = iota
	MessageMethodDial
)

Variables

This section is empty.

Functions

func GenP256 added in v0.2.2

func GenP256(hosts []string) (key, cert []byte, err error)

Modified https://github.com/Shyp/generate-tls-cert

func GenRSA2048 added in v0.3.0

func GenRSA2048(hosts []string) (key, cert []byte, err error)

Types

type Client added in v0.2.1

type Client struct {
	*ClientConfig
	LogLevel loggo.Level

	ServerURL  *url.URL
	ListenAddr *net.TCPAddr
	Dialer     *websocket.Dialer

	//statistics
	CreatedAt time.Time
	// contains filtered or unexported fields
}

func (*Client) DialMuxConn added in v0.8.0

func (client *Client) DialMuxConn(host string, conn *net.TCPConn)

func (*Client) DialWSConn added in v0.8.0

func (client *Client) DialWSConn(host string, conn *net.TCPConn)

func (*Client) Listen added in v0.2.1

func (client *Client) Listen() (err error)

func (*Client) OpenMux added in v0.8.0

func (client *Client) OpenMux() (err error)

type ClientConfig added in v0.9.0

type ClientConfig struct {
	ListenAddr string
	ServerURL  string

	SNI          string
	InsecureCert bool

	Mux bool
}

type Message added in v0.8.0

type Message struct {
	Method    byte
	ConnID    uint64
	MessageID uint64
	Data      []byte
}

type MuxConn added in v0.8.0

type MuxConn struct {
	ID uint64
	// contains filtered or unexported fields
}

func NewMuxConn added in v0.8.0

func NewMuxConn(muxWS *MuxWebSocket) (conn *MuxConn)

NewMuxConn create new mux connection for client

func (*MuxConn) DialMessage added in v0.8.0

func (conn *MuxConn) DialMessage(host string) (err error)

client dial remote

func (*MuxConn) HandleMessage added in v0.8.0

func (conn *MuxConn) HandleMessage(m *Message) (err error)

func (*MuxConn) Read added in v0.8.0

func (conn *MuxConn) Read(p []byte) (n int, err error)

func (*MuxConn) Run added in v0.8.0

func (conn *MuxConn) Run(c *net.TCPConn)

func (*MuxConn) SendMessageID added in v0.8.0

func (conn *MuxConn) SendMessageID() (id uint64)

func (*MuxConn) Write added in v0.8.0

func (conn *MuxConn) Write(p []byte) (n int, err error)

type MuxWebSocket added in v0.8.0

type MuxWebSocket struct {
	*WebSocket
	Decoder *gob.Decoder
	Encoder *gob.Encoder
	// contains filtered or unexported fields
}

func NewMuxWebSocket added in v0.8.0

func NewMuxWebSocket(ws *WebSocket) (muxWS *MuxWebSocket)

func (*MuxWebSocket) AcceptMuxConn added in v0.8.0

func (muxWS *MuxWebSocket) AcceptMuxConn(m *Message) (conn *MuxConn, host string, err error)

func (*MuxWebSocket) ClientListen added in v0.8.0

func (muxWS *MuxWebSocket) ClientListen()

func (*MuxWebSocket) GetMuxConn added in v0.8.0

func (muxWS *MuxWebSocket) GetMuxConn(connID uint64) (conn *MuxConn)

func (*MuxWebSocket) PutMuxConn added in v0.8.0

func (muxWS *MuxWebSocket) PutMuxConn(conn *MuxConn)

func (*MuxWebSocket) ReceiveMessage added in v0.8.0

func (muxWS *MuxWebSocket) ReceiveMessage() (m *Message, err error)

func (*MuxWebSocket) SendMessage added in v0.8.0

func (muxWS *MuxWebSocket) SendMessage(m *Message) (err error)

func (*MuxWebSocket) ServerHandleMessage added in v0.8.0

func (muxWS *MuxWebSocket) ServerHandleMessage(m *Message)

func (*MuxWebSocket) ServerListen added in v0.8.0

func (muxWS *MuxWebSocket) ServerListen()

type Server

type Server struct {
	*ServerConfig
	LogLevel loggo.Level

	Upgrader *websocket.Upgrader

	//statistics
	CreatedAt time.Time
	// contains filtered or unexported fields
}

func (*Server) HandleWebSocket added in v0.4.0

func (server *Server) HandleWebSocket(w http.ResponseWriter, r *http.Request)

func (*Server) Listen

func (server *Server) Listen() (err error)

type ServerConfig added in v0.9.0

type ServerConfig struct {
	ListenAddr   string
	Pattern      string
	TLS          bool
	CertPath     string
	KeyPath      string
	ReverseProxy string
}

type WebSocket added in v0.6.0

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

func (*WebSocket) Close added in v0.8.0

func (ws *WebSocket) Close() (err error)

func (*WebSocket) Read added in v0.6.0

func (ws *WebSocket) Read(p []byte) (n int, err error)

func (*WebSocket) Write added in v0.6.0

func (ws *WebSocket) Write(p []byte) (n int, err error)

Jump to

Keyboard shortcuts

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