mock

package
v1.0.13 Latest Latest
Warning

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

Go to latest
Published: May 15, 2015 License: AGPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ClientConnectChan = make(chan *client, 1)
View Source
var ClientConnectChanWss = make(chan *clientWss, 1)
View Source
var ClientDisconnectChan = make(chan *client)
View Source
var ClientDisconnectChanWss = make(chan *clientWss)
View Source
var ClientRmChan = make(chan *client, 5)
View Source
var ClientRmChanWss = make(chan *clientWss, 5)
View Source
var Clients = make(map[*client]*client)
View Source
var ClientsWss = make(map[*clientWss]*clientWss)
View Source
var RecvChan chan interface{}
View Source
var RecvChanWss chan interface{}
View Source
var SendChan chan interface{}
View Source
var SendChanWss chan interface{}

Functions

func DisconnectClient

func DisconnectClient(c *client)

func DisconnectClientWss added in v1.0.4

func DisconnectClientWss(c *clientWss)

func PingAPI

func PingAPI(hostname, apiKey string) (bool, *http.Response)

Types

type API

type API struct {
	GetCode  []int
	GetData  [][]byte
	GetError []error
	// contains filtered or unexported fields
}

func NewAPI

func NewAPI(origin, hostname, apiKey, agentUuid string, links map[string]string) *API
func (a *API) AgentLink(resource string) string

func (*API) AgentUuid

func (a *API) AgentUuid() string

func (*API) ApiKey

func (a *API) ApiKey() string

func (*API) Connect

func (a *API) Connect(hostname, apiKey, agentUuid string) error
func (a *API) EntryLink(resource string) string

func (*API) Get

func (a *API) Get(string, string) (int, []byte, error)

func (*API) Hostname

func (a *API) Hostname() string

func (*API) Init added in v1.0.12

func (a *API) Init(hostname, apiKey string, headers map[string]string) (code int, err error)

func (*API) Origin

func (a *API) Origin() string

func (*API) Post

func (a *API) Post(apiKey, url string, data []byte) (*http.Response, []byte, error)

func (*API) Put

func (a *API) Put(apiKey, url string, data []byte) (*http.Response, []byte, error)

func (*API) URL added in v1.0.12

func (a *API) URL(paths ...string) string

type AnalyzerArgs added in v1.0.11

type AnalyzerArgs struct {
	Config      qan.Config
	Name        string
	MysqlConn   mysql.Connector
	RestartChan <-chan bool
	TickChan    chan time.Time
}

type Clock

type Clock struct {
	Added   []uint
	Removed []chan time.Time
	Eta     float64
}

func NewClock

func NewClock() *Clock

func (*Clock) Add

func (m *Clock) Add(c chan time.Time, t uint, sync bool)

func (*Clock) ETA

func (m *Clock) ETA(c chan time.Time) float64

func (*Clock) Remove

func (m *Clock) Remove(c chan time.Time)

type CmdFactory added in v1.0.7

type CmdFactory struct {
	Cmds []*MockCmd
}

func (*CmdFactory) Make added in v1.0.7

func (f *CmdFactory) Make(name string, args ...string) cmd.Cmd

type ConnectionFactory

type ConnectionFactory struct {
	Conn mysql.Connector
}

func (*ConnectionFactory) Make

func (f *ConnectionFactory) Make(dsn string) mysql.Connector

type DataClient

type DataClient struct {

	// --
	ErrChan   chan error
	RecvError chan error

	ConnectError error
	TraceChan    chan string
	// contains filtered or unexported fields
}

func NewDataClient

func NewDataClient(dataChan chan []byte, respChan chan interface{}) *DataClient

func (*DataClient) Conn

func (c *DataClient) Conn() *websocket.Conn

func (*DataClient) Connect

func (c *DataClient) Connect()

func (*DataClient) ConnectChan

func (c *DataClient) ConnectChan() chan bool

func (*DataClient) ConnectOnce

func (c *DataClient) ConnectOnce(timeout uint) error

func (*DataClient) Disconnect

func (c *DataClient) Disconnect() error

func (*DataClient) DisconnectOnce added in v1.0.7

func (c *DataClient) DisconnectOnce() error

func (*DataClient) ErrorChan

func (c *DataClient) ErrorChan() chan error

func (*DataClient) Recv

func (c *DataClient) Recv(resp interface{}, timeout uint) error

Second, agent calls this to recv response from API to previous send.

func (*DataClient) RecvChan

func (c *DataClient) RecvChan() chan *proto.Cmd

func (*DataClient) Send

func (c *DataClient) Send(data interface{}, timeout uint) error

func (*DataClient) SendBytes

func (c *DataClient) SendBytes(data []byte, timeout uint) error

First, agent calls this to send encoded proto.Data to API.

func (*DataClient) SendChan

func (c *DataClient) SendChan() chan *proto.Reply

func (*DataClient) SetConnectChan

func (c *DataClient) SetConnectChan(connectChan chan bool)

func (*DataClient) Start

func (c *DataClient) Start()

func (*DataClient) Status

func (c *DataClient) Status() map[string]string

func (*DataClient) Stop

func (c *DataClient) Stop()

type HttpClient

type HttpClient struct {
	PostChan chan []byte
}

func (*HttpClient) Get

func (c *HttpClient) Get(url string, v interface{}, timeout time.Duration) error

func (*HttpClient) Post

func (c *HttpClient) Post(url string, data []byte) error

type IntervalIterFactory

type IntervalIterFactory struct {
	Iters []qan.IntervalIter

	TickChans map[qan.IntervalIter]chan time.Time
	// contains filtered or unexported fields
}

func (*IntervalIterFactory) Make

func (tf *IntervalIterFactory) Make(collectFrom string, filename slowlog.FilenameFunc, tickChan chan time.Time) qan.IntervalIter

func (*IntervalIterFactory) Reset

func (tf *IntervalIterFactory) Reset()

type Iter added in v1.0.11

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

func NewIter added in v1.0.11

func NewIter(intervalChan chan *qan.Interval) *Iter

func (*Iter) Calls added in v1.0.11

func (i *Iter) Calls() []string

func (*Iter) IntervalChan added in v1.0.11

func (i *Iter) IntervalChan() chan *qan.Interval

func (*Iter) Reset added in v1.0.11

func (i *Iter) Reset()

func (*Iter) Start added in v1.0.11

func (i *Iter) Start()

func (*Iter) Stop added in v1.0.11

func (i *Iter) Stop()

func (*Iter) TickChan added in v1.0.11

func (i *Iter) TickChan() chan time.Time

type LogParser added in v1.0.11

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

func NewLogParser added in v1.0.11

func NewLogParser() *LogParser

func (*LogParser) EventChan added in v1.0.11

func (p *LogParser) EventChan() <-chan *log.Event

func (*LogParser) Send added in v1.0.11

func (p *LogParser) Send(e *log.Event)

func (*LogParser) Start added in v1.0.11

func (p *LogParser) Start() error

func (*LogParser) Stop added in v1.0.11

func (p *LogParser) Stop()

type MmMonitor

type MmMonitor struct {
	ReadyChan chan bool
	// contains filtered or unexported fields
}

func NewMmMonitor

func NewMmMonitor() *MmMonitor

func (*MmMonitor) Config

func (m *MmMonitor) Config() interface{}

func (*MmMonitor) SetConfig

func (m *MmMonitor) SetConfig(v interface{})

func (*MmMonitor) Start

func (m *MmMonitor) Start(tickChan chan time.Time, collectionChan chan *mm.Collection) error

func (*MmMonitor) Status

func (m *MmMonitor) Status() map[string]string

func (*MmMonitor) Stop

func (m *MmMonitor) Stop() error

func (*MmMonitor) TickChan

func (m *MmMonitor) TickChan() chan time.Time

type MmMonitorFactory

type MmMonitorFactory struct {
	Made []string
	// contains filtered or unexported fields
}

func NewMmMonitorFactory

func NewMmMonitorFactory(monitors map[string]mm.Monitor) *MmMonitorFactory

func (*MmMonitorFactory) Make

func (f *MmMonitorFactory) Make(service string, id uint, data []byte) (mm.Monitor, error)

type MockCmd added in v1.0.7

type MockCmd struct {
	Name string
	Args []string
	// --
	RunOutput string
	RunErr    error
}

func NewMockCmd added in v1.0.7

func NewMockCmd(name string, args ...string) *MockCmd

func (*MockCmd) Run added in v1.0.7

func (c *MockCmd) Run() (output string, err error)

type MockServiceManager

type MockServiceManager struct {
	StartErr     error
	StopErr      error
	IsRunningVal bool

	Cmds []*proto.Cmd
	// contains filtered or unexported fields
}

func NewMockServiceManager

func NewMockServiceManager(name string, readyChan chan bool, traceChan chan string) *MockServiceManager

func (*MockServiceManager) GetConfig

func (m *MockServiceManager) GetConfig() ([]proto.AgentConfig, []error)

func (*MockServiceManager) Handle

func (m *MockServiceManager) Handle(cmd *proto.Cmd) *proto.Reply

func (*MockServiceManager) IsRunning

func (m *MockServiceManager) IsRunning() bool

func (*MockServiceManager) Reset

func (m *MockServiceManager) Reset()

func (*MockServiceManager) Start

func (m *MockServiceManager) Start() error

func (*MockServiceManager) Status

func (m *MockServiceManager) Status() map[string]string

func (*MockServiceManager) Stop

func (m *MockServiceManager) Stop() error

type MrmsMonitor added in v1.0.4

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

func NewMrmsMonitor added in v1.0.4

func NewMrmsMonitor() *MrmsMonitor

func (*MrmsMonitor) Add added in v1.0.4

func (m *MrmsMonitor) Add(dsn string) (<-chan bool, error)

func (*MrmsMonitor) Check added in v1.0.4

func (m *MrmsMonitor) Check()

func (*MrmsMonitor) GlobalSubscribe added in v1.0.11

func (m *MrmsMonitor) GlobalSubscribe() (chan string, error)

func (*MrmsMonitor) Remove added in v1.0.4

func (m *MrmsMonitor) Remove(dsn string, c <-chan bool)

func (*MrmsMonitor) SimulateMySQLRestart added in v1.0.10

func (m *MrmsMonitor) SimulateMySQLRestart()

The restartChan in the real MrmsMonitor is read only. To be consistent with that, instead of returning the channel just for testing purposes, we have this method to simulate a MySQL restart

func (*MrmsMonitor) Start added in v1.0.4

func (m *MrmsMonitor) Start(interval time.Duration) error

func (*MrmsMonitor) Status added in v1.0.4

func (m *MrmsMonitor) Status() (status map[string]string)

func (*MrmsMonitor) Stop added in v1.0.4

func (m *MrmsMonitor) Stop() error

type NullClient

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

func NewNullClient

func NewNullClient() *NullClient

func (*NullClient) Conn

func (c *NullClient) Conn() *websocket.Conn

func (*NullClient) Connect

func (c *NullClient) Connect()

func (*NullClient) ConnectChan

func (c *NullClient) ConnectChan() chan bool

func (*NullClient) ConnectOnce

func (c *NullClient) ConnectOnce() error

func (*NullClient) Disconnect

func (c *NullClient) Disconnect() error

func (*NullClient) ErrorChan

func (c *NullClient) ErrorChan() chan error

func (*NullClient) Recv

func (c *NullClient) Recv(data interface{}, timeout uint) error

func (*NullClient) RecvChan

func (c *NullClient) RecvChan() chan *proto.Cmd

func (*NullClient) Send

func (c *NullClient) Send(data interface{}, timeout uint) error

func (*NullClient) SendBytes

func (c *NullClient) SendBytes(data []byte, timeout uint) error

func (*NullClient) SendChan

func (c *NullClient) SendChan() chan *proto.Reply

func (*NullClient) Start

func (c *NullClient) Start()

func (*NullClient) Stop

func (c *NullClient) Stop()

type NullMySQL

type NullMySQL struct {
	SetChan chan bool

	Version string
	// contains filtered or unexported fields
}

func NewNullMySQL

func NewNullMySQL() *NullMySQL

func (*NullMySQL) AtLeastVersion added in v1.0.12

func (n *NullMySQL) AtLeastVersion(v string) (bool, error)

func (*NullMySQL) Close

func (n *NullMySQL) Close()

func (*NullMySQL) Connect

func (n *NullMySQL) Connect(tries uint) error

func (*NullMySQL) DB

func (n *NullMySQL) DB() *sql.DB

func (*NullMySQL) DSN

func (n *NullMySQL) DSN() string

func (*NullMySQL) Explain added in v1.0.4

func (n *NullMySQL) Explain(query string, db string) (explain *proto.ExplainResult, err error)

func (*NullMySQL) GetGlobalVarNumber added in v1.0.12

func (n *NullMySQL) GetGlobalVarNumber(varName string) float64

func (*NullMySQL) GetGlobalVarString

func (n *NullMySQL) GetGlobalVarString(varName string) string

func (*NullMySQL) GetSet

func (n *NullMySQL) GetSet() []mysql.Query

func (*NullMySQL) GetUptimeCount added in v1.0.4

func (n *NullMySQL) GetUptimeCount() uint

func (*NullMySQL) Reset

func (n *NullMySQL) Reset()

func (*NullMySQL) Set

func (n *NullMySQL) Set(queries []mysql.Query) error

func (*NullMySQL) SetAtLeastVersion added in v1.0.12

func (n *NullMySQL) SetAtLeastVersion(atLeastVersion bool, err error)

func (*NullMySQL) SetExplain added in v1.0.4

func (n *NullMySQL) SetExplain(query string, explain *proto.ExplainResult)

func (*NullMySQL) SetGlobalVarNumber added in v1.0.12

func (n *NullMySQL) SetGlobalVarNumber(name string, value float64)

func (*NullMySQL) SetGlobalVarString added in v1.0.11

func (n *NullMySQL) SetGlobalVarString(name, value string)

func (*NullMySQL) SetUptime added in v1.0.4

func (n *NullMySQL) SetUptime(uptime int64)

func (*NullMySQL) Uptime added in v1.0.4

func (n *NullMySQL) Uptime() (int64, error)

type QanAnalyzer added in v1.0.11

type QanAnalyzer struct {
	StartChan chan bool
	StopChan  chan bool
	ErrorChan chan error
	CrashChan chan bool
	// contains filtered or unexported fields
}

func NewQanAnalyzer added in v1.0.11

func NewQanAnalyzer() *QanAnalyzer

func (*QanAnalyzer) Config added in v1.0.12

func (a *QanAnalyzer) Config() qan.Config

func (*QanAnalyzer) SetConfig added in v1.0.12

func (a *QanAnalyzer) SetConfig(config qan.Config)

func (*QanAnalyzer) Start added in v1.0.11

func (a *QanAnalyzer) Start() error

func (*QanAnalyzer) Status added in v1.0.11

func (a *QanAnalyzer) Status() map[string]string

func (*QanAnalyzer) Stop added in v1.0.11

func (a *QanAnalyzer) Stop() error

func (*QanAnalyzer) String added in v1.0.11

func (a *QanAnalyzer) String() string

type QanAnalyzerFactory added in v1.0.11

type QanAnalyzerFactory struct {
	Args []AnalyzerArgs
	// contains filtered or unexported fields
}

func NewQanAnalyzerFactory added in v1.0.11

func NewQanAnalyzerFactory(a ...qan.Analyzer) *QanAnalyzerFactory

func (*QanAnalyzerFactory) Make added in v1.0.11

func (f *QanAnalyzerFactory) Make(
	config qan.Config,
	name string,
	mysqlConn mysql.Connector,
	restartChan <-chan bool,
	tickChan chan time.Time,
) qan.Analyzer

type QanWorker

type QanWorker struct {
	SetupChan        chan bool
	RunChan          chan bool
	StopChan         chan bool
	CleanupChan      chan bool
	ErrorChan        chan error
	SetupCrashChan   chan bool
	RunCrashChan     chan bool
	CleanupCrashChan chan bool
	Interval         *qan.Interval
	Result           *qan.Result
}

func NewQanWorker

func NewQanWorker() *QanWorker

func (*QanWorker) Cleanup added in v1.0.11

func (w *QanWorker) Cleanup() error

func (*QanWorker) Run

func (w *QanWorker) Run() (*qan.Result, error)

func (*QanWorker) Setup added in v1.0.11

func (w *QanWorker) Setup(interval *qan.Interval) error

func (*QanWorker) Status

func (w *QanWorker) Status() map[string]string

func (*QanWorker) Stop added in v1.0.11

func (w *QanWorker) Stop() error

type QueryService added in v1.0.4

type QueryService struct {
}

func NewQueryService added in v1.0.4

func NewQueryService() *QueryService

func (*QueryService) Handle added in v1.0.4

func (q *QueryService) Handle(cmd *proto.Cmd) (reply *proto.Reply)

type SlowMySQL added in v1.0.7

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

func NewSlowMySQL added in v1.0.7

func NewSlowMySQL(dsn string) *SlowMySQL

func (*SlowMySQL) AtLeastVersion added in v1.0.12

func (s *SlowMySQL) AtLeastVersion(v string) (bool, error)

func (*SlowMySQL) Close added in v1.0.7

func (s *SlowMySQL) Close()

func (*SlowMySQL) Connect added in v1.0.7

func (s *SlowMySQL) Connect(tries uint) error

func (*SlowMySQL) DB added in v1.0.7

func (s *SlowMySQL) DB() *sql.DB

func (*SlowMySQL) DSN added in v1.0.7

func (s *SlowMySQL) DSN() string

func (*SlowMySQL) GetGlobalVarNumber added in v1.0.7

func (s *SlowMySQL) GetGlobalVarNumber(varName string) float64

func (*SlowMySQL) GetGlobalVarString added in v1.0.7

func (s *SlowMySQL) GetGlobalVarString(varName string) string

func (*SlowMySQL) Set added in v1.0.7

func (s *SlowMySQL) Set(queries []mysql.Query) error

func (*SlowMySQL) SetGlobalDelay added in v1.0.7

func (s *SlowMySQL) SetGlobalDelay(delay time.Duration)

func (*SlowMySQL) Uptime added in v1.0.7

func (s *SlowMySQL) Uptime() (int64, error)

type Spooler

type Spooler struct {
	FilesOut []string          // test provides
	DataOut  map[string][]byte // test provides
	DataIn   []interface{}

	RejectedFiles []string
	// contains filtered or unexported fields
}

func NewSpooler

func NewSpooler(dataChan chan interface{}) *Spooler

func (*Spooler) CancelFiles added in v1.0.13

func (s *Spooler) CancelFiles()

func (*Spooler) Files

func (s *Spooler) Files() <-chan string

func (*Spooler) Purge added in v1.0.13

func (s *Spooler) Purge(now time.Time, limits proto.DataSpoolLimits) (int, map[string][]string)

func (*Spooler) Read

func (s *Spooler) Read(file string) ([]byte, error)

func (*Spooler) Reject added in v1.0.7

func (s *Spooler) Reject(file string) error

func (*Spooler) Remove

func (s *Spooler) Remove(file string) error

func (*Spooler) Reset added in v1.0.11

func (s *Spooler) Reset()

func (*Spooler) Start

func (s *Spooler) Start(sz data.Serializer) error

func (*Spooler) Status

func (s *Spooler) Status() map[string]string

func (*Spooler) Stop

func (s *Spooler) Stop() error

func (*Spooler) Write

func (s *Spooler) Write(service string, data interface{}) error

type SysconfigMonitor

type SysconfigMonitor struct {
	ReadyChan chan bool
	// contains filtered or unexported fields
}

func NewSysconfigMonitor

func NewSysconfigMonitor() *SysconfigMonitor

func (*SysconfigMonitor) Config

func (m *SysconfigMonitor) Config() interface{}

func (*SysconfigMonitor) SetConfig

func (m *SysconfigMonitor) SetConfig(v interface{})

func (*SysconfigMonitor) Start

func (m *SysconfigMonitor) Start(tickChan chan time.Time, reportChan chan *sysconfig.Report) error

func (*SysconfigMonitor) Status

func (m *SysconfigMonitor) Status() map[string]string

func (*SysconfigMonitor) Stop

func (m *SysconfigMonitor) Stop() error

func (*SysconfigMonitor) TickChan

func (m *SysconfigMonitor) TickChan() chan time.Time

type SysconfigMonitorFactory

type SysconfigMonitorFactory struct {
	Made []string
	// contains filtered or unexported fields
}

func NewSysconfigMonitorFactory

func NewSysconfigMonitorFactory(monitors []sysconfig.Monitor) *SysconfigMonitorFactory

func (*SysconfigMonitorFactory) Make

func (f *SysconfigMonitorFactory) Make(service string, id uint, data []byte) (sysconfig.Monitor, error)

func (*SysconfigMonitorFactory) Set

func (f *SysconfigMonitorFactory) Set(monitors []sysconfig.Monitor)

type SysinfoService added in v1.0.7

type SysinfoService struct {
}

func NewSysinfoService added in v1.0.7

func NewSysinfoService() *SysinfoService

func (*SysinfoService) Handle added in v1.0.7

func (q *SysinfoService) Handle(cmd *proto.Cmd) (reply *proto.Reply)

type Ticker

type Ticker struct {
	Added       []chan time.Time
	RunningChan chan bool
	// contains filtered or unexported fields
}

func NewTicker

func NewTicker(syncChan chan bool) *Ticker

func (*Ticker) Add

func (t *Ticker) Add(c chan time.Time)

func (*Ticker) ETA

func (t *Ticker) ETA(now int64) float64

func (*Ticker) Remove

func (t *Ticker) Remove(c chan time.Time)

func (*Ticker) Run

func (t *Ticker) Run(now int64)

func (*Ticker) Stop

func (t *Ticker) Stop()

type TickerFactory

type TickerFactory struct {
	Made []uint
	// contains filtered or unexported fields
}

func NewTickerFactory

func NewTickerFactory() *TickerFactory

func (*TickerFactory) Make

func (tf *TickerFactory) Make(atInterval uint, sync bool) ticker.Ticker

func (*TickerFactory) Set

func (tf *TickerFactory) Set(tickers []ticker.Ticker)

type WebsocketClient

type WebsocketClient struct {
	ErrChan      chan error
	SendError    chan error
	RecvError    chan error
	ConnectError error

	RecvBytes chan []byte
	TraceChan chan string
	// contains filtered or unexported fields
}

func NewWebsocketClient

func NewWebsocketClient(sendChan chan *proto.Cmd, recvChan chan *proto.Reply, sendDataChan chan interface{}, recvDataChan chan interface{}) *WebsocketClient

func (*WebsocketClient) Conn

func (c *WebsocketClient) Conn() *websocket.Conn

func (*WebsocketClient) Connect

func (c *WebsocketClient) Connect()

func (*WebsocketClient) ConnectChan

func (c *WebsocketClient) ConnectChan() chan bool

func (*WebsocketClient) ConnectOnce

func (c *WebsocketClient) ConnectOnce(timeout uint) error

func (*WebsocketClient) Disconnect

func (c *WebsocketClient) Disconnect() error

func (*WebsocketClient) DisconnectOnce added in v1.0.7

func (c *WebsocketClient) DisconnectOnce() error

func (*WebsocketClient) ErrorChan

func (c *WebsocketClient) ErrorChan() chan error

func (*WebsocketClient) Recv

func (c *WebsocketClient) Recv(data interface{}, timeout uint) error

func (*WebsocketClient) RecvChan

func (c *WebsocketClient) RecvChan() chan *proto.Cmd

func (*WebsocketClient) Send

func (c *WebsocketClient) Send(data interface{}, timeout uint) error

func (*WebsocketClient) SendBytes

func (c *WebsocketClient) SendBytes(data []byte, timeout uint) error

func (*WebsocketClient) SendChan

func (c *WebsocketClient) SendChan() chan *proto.Reply

func (*WebsocketClient) SetConnectChan

func (c *WebsocketClient) SetConnectChan(connectChan chan bool)

func (*WebsocketClient) Start

func (c *WebsocketClient) Start()

func (*WebsocketClient) Status

func (c *WebsocketClient) Status() map[string]string

func (*WebsocketClient) Stop

func (c *WebsocketClient) Stop()

type WebsocketServer

type WebsocketServer struct {
}

func (*WebsocketServer) Run

func (s *WebsocketServer) Run(addr string, endpoint string)

addr: http://127.0.0.1:8000 endpoint: /agent

type WebsocketServerWss added in v1.0.4

type WebsocketServerWss struct {
}

func (*WebsocketServerWss) RunWss added in v1.0.4

func (s *WebsocketServerWss) RunWss(addr string, endpoint string)

addr: https://127.0.0.1:8443 endpoint: /agent

Jump to

Keyboard shortcuts

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