Documentation
¶
Index ¶
- Constants
- Variables
- func DecryptBinary(key string, payload []byte) ([]byte, error)
- func DecryptFromJSON(key string, raw string) (string, error)
- func DefaultConfigPath() (string, error)
- func EncodeHiveBinaryFrame(message HiveMessage) ([]byte, error)
- func EncryptAsBinary(key string, plaintext []byte) ([]byte, error)
- func EncryptAsJSON(key string, plaintext string) (string, error)
- func EndpointFromDomain(domain string, protocol HubProtocol) string
- func EventMatchesContext(event Event, expected Context) bool
- func NewRequestID() string
- func NewSessionID() string
- func RequestIDFromContext(context Context) string
- func RichMediaFromData(data Data) map[string]any
- func RuntimeCryptoKey(raw string) []byte
- func SessionIDFromContext(context Context) string
- func StripSSML(text string) string
- type ActionOptions
- type AnalyticsOverviewOptions
- type BootstrapIdentityOptions
- type BootstrapIdentityResult
- type Client
- func (c *Client) Ask(ctx context.Context, text string, opts RequestOptions) (Reply, error)
- func (c *Client) Close(ctx context.Context) error
- func (c *Client) Connect(ctx context.Context) error
- func (c *Client) ConnectWithInfo(ctx context.Context) (TransportConnectionInfo, error)
- func (c *Client) ConnectionInfo() TransportConnectionInfo
- func (c *Client) Conversation(opts ConversationOptions) Conversation
- func (c *Client) Emit(ctx context.Context, eventType string, data Data, eventContext Context) error
- func (c *Client) Healthcheck() TransportHealth
- func (c *Client) Query(ctx context.Context, text string, opts QueryOptions) (Reply, error)
- func (c *Client) SendAction(ctx context.Context, payload string, opts ActionOptions) error
- func (c *Client) SendCode(ctx context.Context, value string, opts CodeOptions) error
- func (c *Client) SendUtterance(ctx context.Context, text string, opts RequestOptions) error
- type ClientContextOptions
- type ClientOptions
- type CodeOptions
- type Context
- type ControlPlane
- func (c *ControlPlane) CreateClient(ctx context.Context, payload map[string]any, idempotencyKey string) (map[string]any, error)
- func (c *ControlPlane) CreateClientIdentity(ctx context.Context, hub map[string]any, opts BootstrapIdentityOptions) (BootstrapIdentityResult, error)
- func (c *ControlPlane) CreateClientIdentityForHubID(ctx context.Context, hubID string, opts BootstrapIdentityOptions) (BootstrapIdentityResult, error)
- func (c *ControlPlane) CreateMemoryItem(ctx context.Context, payload map[string]any) (map[string]any, error)
- func (c *ControlPlane) DeleteMemoryItem(ctx context.Context, memoryID string) error
- func (c *ControlPlane) GetAnalyticsOverview(ctx context.Context, opts AnalyticsOverviewOptions) (map[string]any, error)
- func (c *ControlPlane) GetHub(ctx context.Context, hubID string) (map[string]any, error)
- func (c *ControlPlane) GetMemoryItem(ctx context.Context, memoryID string) (map[string]any, error)
- func (c *ControlPlane) GetMemorySummary(ctx context.Context, ownerID string) (map[string]any, error)
- func (c *ControlPlane) GetOperation(ctx context.Context, operationID string) (OperationResource, error)
- func (c *ControlPlane) GetPublicHub(ctx context.Context, hubRef string) (map[string]any, error)
- func (c *ControlPlane) ListHubs(ctx context.Context, limit int, cursor string, ownerID string) (map[string]any, error)
- func (c *ControlPlane) ListMemoryItems(ctx context.Context, opts MemoryListOptions) (map[string]any, error)
- func (c *ControlPlane) ListPublicHubs(ctx context.Context, limit int, cursor string) (map[string]any, error)
- func (c *ControlPlane) Login(ctx context.Context, email string, password string, scope string) (map[string]any, error)
- func (c *ControlPlane) RequireRuntimeProtocol(result BootstrapIdentityResult, protocol HubProtocol) (*SelectedHubEndpoint, error)
- func (c *ControlPlane) UpdateMemoryItem(ctx context.Context, memoryID string, payload map[string]any) (map[string]any, error)
- type Conversation
- func (c Conversation) Ask(ctx context.Context, text string, opts RequestOptions) (Reply, error)
- func (c Conversation) Query(ctx context.Context, text string, opts QueryOptions) (Reply, error)
- func (c Conversation) SendAction(ctx context.Context, payload string, opts ActionOptions) error
- func (c Conversation) SendCode(ctx context.Context, value string, opts CodeOptions) error
- func (c Conversation) SendUtterance(ctx context.Context, text string, opts RequestOptions) error
- type ConversationOptions
- type Data
- type DisplayItem
- type Event
- func (e Event) DisplayItems(maxTextChars int) []DisplayItem
- func (e Event) DisplayText() string
- func (e Event) IsFailure() bool
- func (e Event) RequestID() string
- func (e Event) RichMedia() map[string]any
- func (e Event) SessionID() string
- func (e Event) Text() string
- func (e Event) Utterances() []string
- type HTTPTransport
- func (t *HTTPTransport) Authorization() string
- func (t *HTTPTransport) BaseURL() string
- func (t *HTTPTransport) Connect(ctx context.Context) error
- func (t *HTTPTransport) ConnectionInfo() TransportConnectionInfo
- func (t *HTTPTransport) Disconnect(ctx context.Context) error
- func (t *HTTPTransport) EmitBus(ctx context.Context, eventType string, data Data, eventContext Context) error
- func (t *HTTPTransport) Events() <-chan Event
- func (t *HTTPTransport) Healthcheck() TransportHealth
- func (t *HTTPTransport) HiveMessages() <-chan HiveMessage
- func (t *HTTPTransport) IsHandshakeComplete() bool
- func (t *HTTPTransport) PollOnce(ctx context.Context) error
- func (t *HTTPTransport) SendHiveMessage(ctx context.Context, message HiveMessage, encrypt bool) error
- type HiveMessage
- type HubDataPlaneEndpoints
- type HubProtocol
- type HubProtocolSettings
- type Identity
- type MQTTTransport
- func (t *MQTTTransport) Connect(ctx context.Context) error
- func (t *MQTTTransport) ConnectionInfo() TransportConnectionInfo
- func (t *MQTTTransport) Disconnect(ctx context.Context) error
- func (t *MQTTTransport) EmitBus(ctx context.Context, eventType string, data Data, eventContext Context) error
- func (t *MQTTTransport) Events() <-chan Event
- func (t *MQTTTransport) Healthcheck() TransportHealth
- func (t *MQTTTransport) HiveMessages() <-chan HiveMessage
- func (t *MQTTTransport) IsHandshakeComplete() bool
- func (t *MQTTTransport) SendHiveMessage(ctx context.Context, message HiveMessage, encrypt bool) error
- type MemoryListOptions
- type MqttBrokerCredentials
- type MqttTopicSet
- type OperationResource
- type OperationStatus
- type QueryOptions
- type Reply
- type RequestOptions
- type RuntimeTransport
- type SelectedHubEndpoint
- type TransportConnectionInfo
- type TransportConnectionPhase
- type TransportHealth
- type WSSTransport
- func (t *WSSTransport) Authorization() string
- func (t *WSSTransport) Connect(ctx context.Context) error
- func (t *WSSTransport) ConnectionInfo() TransportConnectionInfo
- func (t *WSSTransport) Disconnect(_ context.Context) error
- func (t *WSSTransport) EmitBus(ctx context.Context, eventType string, data Data, eventContext Context) error
- func (t *WSSTransport) Events() <-chan Event
- func (t *WSSTransport) Healthcheck() TransportHealth
- func (t *WSSTransport) HiveMessages() <-chan HiveMessage
- func (t *WSSTransport) IsHandshakeComplete() bool
- func (t *WSSTransport) SendHiveMessage(ctx context.Context, message HiveMessage, encrypt bool) error
Constants ¶
View Source
const ( EventRecognizerLoopUtterance = "recognizer_loop:utterance" EventSpeak = "speak" EventOvosUtteranceSpeak = "ovos.utterance.speak" EventUtteranceHandled = "ovos.utterance.handled" EventIntentFailure = "complete_intent_failure" EventPolicyDenied = "hive.policy.denied" EventQueryTimeout = "hive.query.timeout" DefaultUserAgent = "ThalovantGoSDK/0.3.1" )
View Source
const ( DefaultControlAPIURL = "https://api.thalovant.com" DefaultControlUserAgent = "ThalovantGoSDK/0.3.0" )
View Source
const DefaultConfigFilename = "config.yaml"
Variables ¶
View Source
var ( ErrIdentity = errors.New("thalovant identity error") ErrConnection = errors.New("thalovant connection error") ErrTimeout = errors.New("thalovant timeout") ErrRuntime = errors.New("thalovant runtime error") ErrAPI = errors.New("thalovant api error") ErrProtocol = errors.New("thalovant unsupported protocol") )
View Source
var DefaultProtocolPreference = []HubProtocol{ProtocolWSS, ProtocolHTTPS, ProtocolMQTT}
Functions ¶
func DefaultConfigPath ¶ added in v0.2.11
func EncodeHiveBinaryFrame ¶ added in v0.2.5
func EncodeHiveBinaryFrame(message HiveMessage) ([]byte, error)
func EncryptAsBinary ¶ added in v0.2.5
func EndpointFromDomain ¶ added in v0.2.1
func EndpointFromDomain(domain string, protocol HubProtocol) string
func EventMatchesContext ¶
func NewRequestID ¶
func NewRequestID() string
func NewSessionID ¶
func NewSessionID() string
func RequestIDFromContext ¶
func RichMediaFromData ¶
func RuntimeCryptoKey ¶
func SessionIDFromContext ¶
Types ¶
type ActionOptions ¶
type AnalyticsOverviewOptions ¶ added in v0.2.13
type BootstrapIdentityOptions ¶ added in v0.2.2
type BootstrapIdentityResult ¶ added in v0.2.2
type BootstrapIdentityResult struct {
Identity Identity
Hub map[string]any
Client map[string]any
Endpoint *SelectedHubEndpoint
}
func (BootstrapIdentityResult) SelectedProtocol ¶ added in v0.2.2
func (r BootstrapIdentityResult) SelectedProtocol() HubProtocol
type Client ¶
type Client struct {
Identity Identity
Transport RuntimeTransport
ConnectTimeout time.Duration
}
func NewClientFromConfig ¶ added in v0.2.11
func NewClientFromEnv ¶
func NewClientFromFile ¶
func NewClientWithOptions ¶ added in v0.2.2
func NewClientWithOptions(identity Identity, opts ClientOptions) (*Client, error)
func (*Client) ConnectWithInfo ¶ added in v0.2.14
func (c *Client) ConnectWithInfo(ctx context.Context) (TransportConnectionInfo, error)
func (*Client) ConnectionInfo ¶ added in v0.2.14
func (c *Client) ConnectionInfo() TransportConnectionInfo
func (*Client) Conversation ¶
func (c *Client) Conversation(opts ConversationOptions) Conversation
func (*Client) Healthcheck ¶
func (c *Client) Healthcheck() TransportHealth
func (*Client) SendAction ¶
func (*Client) SendUtterance ¶
type ClientContextOptions ¶
type ClientOptions ¶ added in v0.2.2
type ClientOptions struct {
Protocol HubProtocol
ConnectTimeout time.Duration
}
type CodeOptions ¶
type Context ¶
func BuildClientContext ¶
func BuildClientContext(base Context, opts ClientContextOptions) Context
func ContextWithCorrelation ¶
func MergeContext ¶
type ControlPlane ¶ added in v0.2.2
type ControlPlane struct {
APIURL string
AccessToken string
UserAgent string
HTTPClient *http.Client
}
func NewControlPlane ¶ added in v0.2.2
func NewControlPlane(apiURL string, accessToken string) *ControlPlane
func NewDefaultControlPlane ¶ added in v0.2.8
func NewDefaultControlPlane(accessToken string) *ControlPlane
func (*ControlPlane) CreateClient ¶ added in v0.2.2
func (*ControlPlane) CreateClientIdentity ¶ added in v0.2.2
func (c *ControlPlane) CreateClientIdentity(ctx context.Context, hub map[string]any, opts BootstrapIdentityOptions) (BootstrapIdentityResult, error)
func (*ControlPlane) CreateClientIdentityForHubID ¶ added in v0.2.2
func (c *ControlPlane) CreateClientIdentityForHubID(ctx context.Context, hubID string, opts BootstrapIdentityOptions) (BootstrapIdentityResult, error)
func (*ControlPlane) CreateMemoryItem ¶ added in v0.2.13
func (*ControlPlane) DeleteMemoryItem ¶ added in v0.2.13
func (c *ControlPlane) DeleteMemoryItem(ctx context.Context, memoryID string) error
func (*ControlPlane) GetAnalyticsOverview ¶ added in v0.2.13
func (c *ControlPlane) GetAnalyticsOverview(ctx context.Context, opts AnalyticsOverviewOptions) (map[string]any, error)
func (*ControlPlane) GetMemoryItem ¶ added in v0.2.13
func (*ControlPlane) GetMemorySummary ¶ added in v0.2.13
func (*ControlPlane) GetOperation ¶ added in v0.2.16
func (c *ControlPlane) GetOperation(ctx context.Context, operationID string) (OperationResource, error)
func (*ControlPlane) GetPublicHub ¶ added in v0.2.6
func (*ControlPlane) ListMemoryItems ¶ added in v0.2.13
func (c *ControlPlane) ListMemoryItems(ctx context.Context, opts MemoryListOptions) (map[string]any, error)
func (*ControlPlane) ListPublicHubs ¶ added in v0.2.6
func (*ControlPlane) RequireRuntimeProtocol ¶ added in v0.2.2
func (c *ControlPlane) RequireRuntimeProtocol(result BootstrapIdentityResult, protocol HubProtocol) (*SelectedHubEndpoint, error)
type Conversation ¶
type Conversation struct {
Client *Client
Options ConversationOptions
}
func (Conversation) Ask ¶
func (c Conversation) Ask(ctx context.Context, text string, opts RequestOptions) (Reply, error)
func (Conversation) Query ¶ added in v0.2.15
func (c Conversation) Query(ctx context.Context, text string, opts QueryOptions) (Reply, error)
func (Conversation) SendAction ¶
func (c Conversation) SendAction(ctx context.Context, payload string, opts ActionOptions) error
func (Conversation) SendCode ¶
func (c Conversation) SendCode(ctx context.Context, value string, opts CodeOptions) error
func (Conversation) SendUtterance ¶
func (c Conversation) SendUtterance(ctx context.Context, text string, opts RequestOptions) error
type ConversationOptions ¶
type Data ¶
func UtterancePayload ¶
type DisplayItem ¶
type DisplayItem struct {
Kind string
Text string
Data any
Title string
Payload string
URL string
Silent bool
}
func DisplayItemsFromEventData ¶
func DisplayItemsFromEventData(data Data, eventName string, maxTextChars int) []DisplayItem
type Event ¶
func (Event) DisplayItems ¶
func (e Event) DisplayItems(maxTextChars int) []DisplayItem
func (Event) DisplayText ¶
func (Event) Utterances ¶
type HTTPTransport ¶
type HTTPTransport struct {
Identity Identity
UserAgent string
PollInterval time.Duration
HTTPClient *http.Client
BusEvents chan Event
HiveEvents chan HiveMessage
// contains filtered or unexported fields
}
func NewHTTPTransport ¶
func NewHTTPTransport(identity Identity) *HTTPTransport
func (*HTTPTransport) Authorization ¶
func (t *HTTPTransport) Authorization() string
func (*HTTPTransport) BaseURL ¶
func (t *HTTPTransport) BaseURL() string
func (*HTTPTransport) ConnectionInfo ¶ added in v0.2.14
func (t *HTTPTransport) ConnectionInfo() TransportConnectionInfo
func (*HTTPTransport) Disconnect ¶
func (t *HTTPTransport) Disconnect(ctx context.Context) error
func (*HTTPTransport) Events ¶ added in v0.2.4
func (t *HTTPTransport) Events() <-chan Event
func (*HTTPTransport) Healthcheck ¶
func (t *HTTPTransport) Healthcheck() TransportHealth
func (*HTTPTransport) HiveMessages ¶ added in v0.2.15
func (t *HTTPTransport) HiveMessages() <-chan HiveMessage
func (*HTTPTransport) IsHandshakeComplete ¶
func (t *HTTPTransport) IsHandshakeComplete() bool
func (*HTTPTransport) SendHiveMessage ¶ added in v0.2.15
func (t *HTTPTransport) SendHiveMessage(ctx context.Context, message HiveMessage, encrypt bool) error
type HiveMessage ¶
type HiveMessage struct {
MsgType string `json:"msg_type"`
Payload map[string]any `json:"payload"`
Metadata map[string]any `json:"metadata"`
Route []any `json:"route"`
Node any `json:"node"`
TargetSiteID any `json:"target_site_id"`
TargetPubKey any `json:"target_pubkey"`
SourcePeer any `json:"source_peer"`
}
func DecodeHiveBinaryFrame ¶ added in v0.2.5
func DecodeHiveBinaryFrame(payload []byte) (HiveMessage, error)
type HubDataPlaneEndpoints ¶ added in v0.2.1
type HubDataPlaneEndpoints struct {
HTTPS string `json:"https,omitempty"`
WSS string `json:"wss,omitempty"`
MQTT string `json:"mqtt,omitempty"`
}
func DataPlaneEndpointsFromHub ¶ added in v0.2.1
func DataPlaneEndpointsFromHub(hub map[string]any) HubDataPlaneEndpoints
func DataPlaneEndpointsFromMap ¶ added in v0.2.1
func DataPlaneEndpointsFromMap(values map[string]any) HubDataPlaneEndpoints
func (HubDataPlaneEndpoints) EndpointFor ¶ added in v0.2.1
func (e HubDataPlaneEndpoints) EndpointFor(protocol HubProtocol) string
type HubProtocol ¶ added in v0.2.1
type HubProtocol string
const ( ProtocolWSS HubProtocol = "wss" ProtocolHTTPS HubProtocol = "https" ProtocolMQTT HubProtocol = "mqtt" )
type HubProtocolSettings ¶ added in v0.2.1
type HubProtocolSettings struct {
WSS bool `json:"wss"`
HTTP bool `json:"http"`
MQTT bool `json:"mqtt"`
}
func DefaultHubProtocolSettings ¶ added in v0.2.1
func DefaultHubProtocolSettings() HubProtocolSettings
func ProtocolSettingsFromMap ¶ added in v0.2.1
func ProtocolSettingsFromMap(values map[string]any) HubProtocolSettings
func (HubProtocolSettings) EnabledProtocols ¶ added in v0.2.1
func (s HubProtocolSettings) EnabledProtocols() []HubProtocol
func (HubProtocolSettings) IsEnabled ¶ added in v0.2.1
func (s HubProtocolSettings) IsEnabled(protocol HubProtocol) bool
func (HubProtocolSettings) SpecMap ¶ added in v0.2.1
func (s HubProtocolSettings) SpecMap() map[string]any
type Identity ¶
type Identity struct {
AccessKey string `json:"access_key"`
Password string `json:"password"`
CryptoKey string `json:"crypto_key,omitempty"`
SiteID string `json:"site_id"`
DefaultMaster string `json:"default_master"`
DefaultPort int `json:"default_port"`
DefaultPath string `json:"default_path,omitempty"`
PublicKey string `json:"public_key,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
DataPlaneEndpoints HubDataPlaneEndpoints `json:"data_plane_endpoints,omitempty"`
Protocols HubProtocolSettings `json:"protocols,omitempty"`
MQTT *MqttBrokerCredentials `json:"mqtt,omitempty"`
}
func IdentityFromConfig ¶ added in v0.2.11
func IdentityFromEnv ¶
func IdentityFromFile ¶
func (Identity) EnabledProtocols ¶ added in v0.2.1
func (i Identity) EnabledProtocols() []HubProtocol
func (Identity) EndpointBase ¶
func (Identity) EndpointFor ¶ added in v0.2.1
func (i Identity) EndpointFor(protocol HubProtocol) string
func (Identity) SupportsProtocol ¶ added in v0.2.1
func (i Identity) SupportsProtocol(protocol HubProtocol) bool
type MQTTTransport ¶ added in v0.2.4
type MQTTTransport struct {
Identity Identity
UserAgent string
Topics MqttTopicSet
BusEvents chan Event
HiveEvents chan HiveMessage
// contains filtered or unexported fields
}
func NewMQTTTransport ¶ added in v0.2.4
func NewMQTTTransport(identity Identity) (*MQTTTransport, error)
func (*MQTTTransport) Connect ¶ added in v0.2.4
func (t *MQTTTransport) Connect(ctx context.Context) error
func (*MQTTTransport) ConnectionInfo ¶ added in v0.2.14
func (t *MQTTTransport) ConnectionInfo() TransportConnectionInfo
func (*MQTTTransport) Disconnect ¶ added in v0.2.4
func (t *MQTTTransport) Disconnect(ctx context.Context) error
func (*MQTTTransport) Events ¶ added in v0.2.4
func (t *MQTTTransport) Events() <-chan Event
func (*MQTTTransport) Healthcheck ¶ added in v0.2.4
func (t *MQTTTransport) Healthcheck() TransportHealth
func (*MQTTTransport) HiveMessages ¶ added in v0.2.15
func (t *MQTTTransport) HiveMessages() <-chan HiveMessage
func (*MQTTTransport) IsHandshakeComplete ¶ added in v0.2.4
func (t *MQTTTransport) IsHandshakeComplete() bool
func (*MQTTTransport) SendHiveMessage ¶ added in v0.2.15
func (t *MQTTTransport) SendHiveMessage(ctx context.Context, message HiveMessage, encrypt bool) error
type MemoryListOptions ¶ added in v0.2.13
type MqttBrokerCredentials ¶ added in v0.2.3
type MqttBrokerCredentials struct {
Endpoint string `json:"endpoint"`
Username string `json:"username"`
Password string `json:"password"`
TopicPrefix string `json:"topic_prefix,omitempty"`
HubID string `json:"hub_id,omitempty"`
C2STopic string `json:"c2s_topic,omitempty"`
S2CTopic string `json:"s2c_topic,omitempty"`
StatusTopic string `json:"status_topic,omitempty"`
HashTopics bool `json:"hash_topics,omitempty"`
QOS byte `json:"qos,omitempty"`
TLS bool `json:"tls"`
}
func MqttBrokerCredentialsFromMap ¶ added in v0.2.3
func MqttBrokerCredentialsFromMap(raw any) *MqttBrokerCredentials
type MqttTopicSet ¶ added in v0.2.4
func MQTTTopicsForIdentity ¶ added in v0.2.4
func MQTTTopicsForIdentity(identity Identity) (MqttTopicSet, error)
type OperationResource ¶ added in v0.2.16
type OperationResource struct {
ID string `json:"id"`
Kind string `json:"kind"`
AggregateType string `json:"aggregate_type"`
AggregateID *string `json:"aggregate_id"`
Status OperationStatus `json:"status"`
Details map[string]any `json:"details"`
GitCommitSHA *string `json:"git_commit_sha"`
ErrorCode *string `json:"error_code"`
ErrorMessage *string `json:"error_message"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
CommittedAt *string `json:"committed_at"`
AppliedAt *string `json:"applied_at"`
ReadyAt *string `json:"ready_at"`
TerminalAt *string `json:"terminal_at"`
Links map[string]*string `json:"links"`
}
type OperationStatus ¶ added in v0.2.16
type OperationStatus string
const ( OperationRequested OperationStatus = "requested" OperationCommitted OperationStatus = "committed" OperationApplied OperationStatus = "applied" OperationReady OperationStatus = "ready" OperationFailed OperationStatus = "failed" OperationTimedOut OperationStatus = "timed_out" )
type QueryOptions ¶ added in v0.2.15
type Reply ¶
type Reply struct {
Text string
Utterances []string
Handled bool
OK bool
SessionID string
RequestID string
Events []Event
FailureEvent *Event
}
func (Reply) DisplayItems ¶
func (r Reply) DisplayItems(maxTextChars int) []DisplayItem
func (Reply) DisplayText ¶
type RequestOptions ¶
type RuntimeTransport ¶ added in v0.2.4
type SelectedHubEndpoint ¶ added in v0.2.2
type SelectedHubEndpoint struct {
Protocol HubProtocol `json:"protocol"`
Endpoint string `json:"endpoint"`
}
func SelectDataPlaneEndpoint ¶ added in v0.2.2
func SelectDataPlaneEndpoint(endpoints HubDataPlaneEndpoints, protocols HubProtocolSettings, preferred []HubProtocol) *SelectedHubEndpoint
type TransportConnectionInfo ¶ added in v0.2.14
type TransportConnectionInfo struct {
Phase TransportConnectionPhase `json:"phase"`
StartedAt time.Time `json:"started_at,omitempty"`
ConnectedAt time.Time `json:"connected_at,omitempty"`
TransportOpenMS float64 `json:"transport_open_ms,omitempty"`
SocketOpenMS float64 `json:"socket_open_ms,omitempty"`
HandshakeMS float64 `json:"handshake_ms,omitempty"`
ConnectMS float64 `json:"connect_ms,omitempty"`
LastError string `json:"last_error,omitempty"`
}
type TransportConnectionPhase ¶ added in v0.2.14
type TransportConnectionPhase string
const ( ConnectionIdle TransportConnectionPhase = "idle" ConnectionConnecting TransportConnectionPhase = "connecting" ConnectionHandshake TransportConnectionPhase = "handshake" ConnectionReady TransportConnectionPhase = "ready" ConnectionClosed TransportConnectionPhase = "closed" ConnectionError TransportConnectionPhase = "error" )
type TransportHealth ¶
type TransportHealth struct {
Connected bool
HandshakeComplete bool
TransportAlive bool
LastError string
Connection TransportConnectionInfo
}
type WSSTransport ¶ added in v0.2.4
type WSSTransport struct {
Identity Identity
UserAgent string
BusEvents chan Event
HiveEvents chan HiveMessage
// contains filtered or unexported fields
}
func NewWSSTransport ¶ added in v0.2.4
func NewWSSTransport(identity Identity) *WSSTransport
func (*WSSTransport) Authorization ¶ added in v0.2.4
func (t *WSSTransport) Authorization() string
func (*WSSTransport) Connect ¶ added in v0.2.4
func (t *WSSTransport) Connect(ctx context.Context) error
func (*WSSTransport) ConnectionInfo ¶ added in v0.2.14
func (t *WSSTransport) ConnectionInfo() TransportConnectionInfo
func (*WSSTransport) Disconnect ¶ added in v0.2.4
func (t *WSSTransport) Disconnect(_ context.Context) error
func (*WSSTransport) Events ¶ added in v0.2.4
func (t *WSSTransport) Events() <-chan Event
func (*WSSTransport) Healthcheck ¶ added in v0.2.4
func (t *WSSTransport) Healthcheck() TransportHealth
func (*WSSTransport) HiveMessages ¶ added in v0.2.15
func (t *WSSTransport) HiveMessages() <-chan HiveMessage
func (*WSSTransport) IsHandshakeComplete ¶ added in v0.2.4
func (t *WSSTransport) IsHandshakeComplete() bool
func (*WSSTransport) SendHiveMessage ¶ added in v0.2.15
func (t *WSSTransport) SendHiveMessage(ctx context.Context, message HiveMessage, encrypt bool) error
Click to show internal directories.
Click to hide internal directories.