Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client interface {
NewRequest(service ServiceType, rpcEndpoint Endpoint, opt interface{}) (*Request, error)
Do(req *Request, v interface{}) (*http.Response, error)
SetBaseURL(url *url.URL) error
// SetLogHandler sets a slog compatible log handler
SetLogHandler(handler slog.Handler)
// SubscribeSelf subscribes to responses to requests from this service
SubscribeSelf() error
// Subscribe adds a subscription to events from a particular service
Subscribe(service string) error
// AddHandler adds a handler function that will be called when a message is received over the websocket
// Does not apply to HTTP client
AddHandler(handler WebsocketResponseHandler) (uuid.UUID, error)
// RemoveHandler removes the handler from the active websocket handlers
RemoveHandler(handlerID uuid.UUID)
// AddDisconnectHandler adds a function to call if the connection is disconnected
// Applies to websocket connections
AddDisconnectHandler(onDisconnect DisconnectHandler)
// AddReconnectHandler adds a function to call if the connection is reconnected
// Applies to websocket connections
AddReconnectHandler(onReconnect ReconnectHandler)
// SetSyncMode enforces synchronous request/response behavior
// This is default for HTTP client, but websocket default is async, so this forces a different mode
// Note that anything received by the websocket in sync mode that is not the current expected response
// will be ignored
SetSyncMode()
// SetAsyncMode sets the client to async mode
// This is not supported for the HTTP client, but will set the websocket client back to async mode
// if it was set to sync mode temporarily
SetAsyncMode()
}
Client defines the interface for a client HTTP (standard RPC) and websockets are the two supported now
type ClientOptionFunc ¶
ClientOptionFunc can be used to customize a new RPC client.
type ConfigOptionFunc ¶ added in v0.2.0
type ConfigOptionFunc func() (*config.ChiaConfig, error)
ConfigOptionFunc used to specify how to load configuration for the RPC client
type DisconnectHandler ¶
type DisconnectHandler func()
DisconnectHandler the function to call when the client is disconnected
type ReconnectHandler ¶ added in v0.0.12
type ReconnectHandler func()
ReconnectHandler the function to call when the client is reconnected
type Request ¶
type Request struct {
Service ServiceType
Endpoint Endpoint
Data interface{}
Request *http.Request
}
Request is a wrapped http.Request that indicates the service we're making the RPC call to
type ServiceType ¶
type ServiceType uint8
ServiceType is a type that refers to a particular service
const ( // ServiceDaemon the daemon ServiceDaemon ServiceType = iota // ServiceFullNode the full node service ServiceFullNode // ServiceFarmer the farmer service ServiceFarmer // ServiceHarvester the harvester service ServiceHarvester // ServiceWallet the wallet service ServiceWallet // ServiceTimelord is the timelord service ServiceTimelord // ServicePeer full node service, but for communicating with full nodes using the public protocol ServicePeer // ServiceCrawler crawler service ServiceCrawler // ServiceDataLayer datalayer service ServiceDataLayer )
type WebsocketResponseHandler ¶
type WebsocketResponseHandler func(*types.WebsocketResponse, error)
WebsocketResponseHandler is a function that is called to process a received websocket response
Click to show internal directories.
Click to hide internal directories.