wsclient

package
v0.11.4 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTestWSServer

func NewTestWSServer(testReq func(req *http.Request)) (toServer, fromServer chan string, url string, done func())

NewTestWSServer creates a little test server for packages (including wsclient itself) to use in unit tests

Types

type WSClient

type WSClient interface {
	Connect() error
	Receive() <-chan []byte
	URL() string
	SetURL(url string)
	Send(ctx context.Context, message []byte) error
	Close()
}

func New

func New(ctx context.Context, config *WSConfig, afterConnect WSPostConnectHandler) (WSClient, error)

type WSConfig

type WSConfig struct {
	HTTPURL                string             `json:"httpUrl,omitempty"`
	WSKeyPath              string             `json:"wsKeyPath,omitempty"`
	ReadBufferSize         int                `json:"readBufferSize,omitempty"`
	WriteBufferSize        int                `json:"writeBufferSize,omitempty"`
	InitialDelay           time.Duration      `json:"initialDelay,omitempty"`
	MaximumDelay           time.Duration      `json:"maximumDelay,omitempty"`
	InitialConnectAttempts int                `json:"initialConnectAttempts,omitempty"`
	AuthUsername           string             `json:"authUsername,omitempty"`
	AuthPassword           string             `json:"authPassword,omitempty"`
	HTTPHeaders            fftypes.JSONObject `json:"headers,omitempty"`
}

type WSPostConnectHandler

type WSPostConnectHandler func(ctx context.Context, w WSClient) error

WSPostConnectHandler will be called after every connect/reconnect. Can send data over ws, but must not block listening for data on the ws.

Jump to

Keyboard shortcuts

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