websockets

package
v2.3.1-beta.3 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2021 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PluginName string = "websockets"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// http path for the websocket
	Path string `mapstructure:"path"`
	// ["redis", "amqp", "memory"]
	PubSubs    []string `mapstructure:"pubsubs"`
	Middleware []string `mapstructure:"middleware"`

	AllowedOrigin string `mapstructure:"allowed_origin"`

	Redis *RedisConfig `mapstructure:"redis"`
	Pool  *pool.Config `mapstructure:"pool"`
	// contains filtered or unexported fields
}

Config represents configuration for the ws plugin

func (*Config) InitDefault

func (c *Config) InitDefault()

InitDefault initialize default values for the ws config

type Plugin

type Plugin struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func (*Plugin) Available

func (p *Plugin) Available()

func (*Plugin) Collects

func (p *Plugin) Collects() []interface{}

func (*Plugin) GetPublishers

func (p *Plugin) GetPublishers(name endure.Named, pub pubsub.PSProvider)

GetPublishers collects all pubsubs

func (*Plugin) Init

func (p *Plugin) Init(cfg config.Configurer, log logger.Logger, server server.Server) error

func (*Plugin) Middleware

func (p *Plugin) Middleware(next http.Handler) http.Handler

func (*Plugin) Name

func (p *Plugin) Name() string

func (*Plugin) Publish

func (p *Plugin) Publish(m []byte) error

Publish is an entry point to the websocket PUBSUB

func (*Plugin) PublishAsync

func (p *Plugin) PublishAsync(m []byte)

func (*Plugin) RPC

func (p *Plugin) RPC() interface{}

func (*Plugin) Reset

func (p *Plugin) Reset() error

Reset destroys the old pool and replaces it with new one, waiting for old pool to die

func (*Plugin) Serve

func (p *Plugin) Serve() chan error

func (*Plugin) Stop

func (p *Plugin) Stop() error

func (*Plugin) Workers

func (p *Plugin) Workers() []process.State

Workers returns slice with the process states for the workers

type RedisConfig

type RedisConfig struct {
	Addrs            []string      `mapstructure:"addrs"`
	DB               int           `mapstructure:"db"`
	Username         string        `mapstructure:"username"`
	Password         string        `mapstructure:"password"`
	MasterName       string        `mapstructure:"master_name"`
	SentinelPassword string        `mapstructure:"sentinel_password"`
	RouteByLatency   bool          `mapstructure:"route_by_latency"`
	RouteRandomly    bool          `mapstructure:"route_randomly"`
	MaxRetries       int           `mapstructure:"max_retries"`
	DialTimeout      time.Duration `mapstructure:"dial_timeout"`
	MinRetryBackoff  time.Duration `mapstructure:"min_retry_backoff"`
	MaxRetryBackoff  time.Duration `mapstructure:"max_retry_backoff"`
	PoolSize         int           `mapstructure:"pool_size"`
	MinIdleConns     int           `mapstructure:"min_idle_conns"`
	MaxConnAge       time.Duration `mapstructure:"max_conn_age"`
	ReadTimeout      time.Duration `mapstructure:"read_timeout"`
	WriteTimeout     time.Duration `mapstructure:"write_timeout"`
	PoolTimeout      time.Duration `mapstructure:"pool_timeout"`
	IdleTimeout      time.Duration `mapstructure:"idle_timeout"`
	IdleCheckFreq    time.Duration `mapstructure:"idle_check_freq"`
	ReadOnly         bool          `mapstructure:"read_only"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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