systree

package
Version: v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2019 License: Apache-2.0 Imports: 6 Imported by: 37

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTree

func NewTree(base string) (Provider, []types.RetainObject, []DynamicValue, error)

NewTree allocate systree provider

Types

type BytesMetric

type BytesMetric interface {
	Sent(bytes uint64)
	Received(bytes uint64)
}

BytesMetric bytes metric

type ClientConnectStatus

type ClientConnectStatus struct {
	Address           string
	Username          string
	Timestamp         string
	ReceiveMaximum    uint32
	MaximumPacketSize uint32
	KeepAlive         uint16
	GeneratedID       bool
	CleanSession      bool
	Durable           bool
	SessionPresent    bool
	PreserveOrder     bool
	MaximumQoS        mqttp.QosType
	Protocol          mqttp.ProtocolVersion
	ConnAckCode       mqttp.ReasonCode
}

ClientConnectStatus is argument to client connected state

type Clients

type Clients interface {
	Connected(id string, status *ClientConnectStatus)
	Disconnected(id string, reason mqttp.ReasonCode)
}

Clients Statistic of sessions

type DynamicValue

type DynamicValue interface {
	Topic() string
	// Retained used by topics provider to get retained message when there is new subscription to given topic
	Retained() *mqttp.Publish
	// Publish used by systree update routine to publish new value when on periodic basis
	Publish() *mqttp.Publish
}

DynamicValue interface describes states of the dynamic value

type Metric

type Metric interface {
	Bytes() BytesMetric
	Packets() PacketsMetric
}

Metric is wrap around all of metrics

type PacketsMetric

type PacketsMetric interface {
	Sent(t mqttp.Type)
	Received(t mqttp.Type)
}

PacketsMetric packets metric

type Provider

type Provider interface {
	SetCallbacks(types.TopicMessenger)
	Metric() Metric
	Topics() TopicsStat
	Subscriptions() SubscriptionsStat
	Clients() Clients
	Sessions() Sessions
}

Provider systree provider

type SessionCreatedStatus

type SessionCreatedStatus struct {
	ExpiryInterval string `json:"expiryInterval,omitempty"`
	WillDelay      string `json:"willDelay,omitempty"`
	Timestamp      string `json:"timestamp"`
	Clean          bool   `json:"clean"`
	Durable        bool   `json:"durable"`
}

SessionCreatedStatus report when session status once created

type SessionDeletedStatus

type SessionDeletedStatus struct {
	Timestamp string `json:"timestamp"`
	Reason    string `json:"reason"`
}

SessionDeletedStatus report when session status once deleted

type Sessions

type Sessions interface {
	Created(id string, status *SessionCreatedStatus)
	Removed(id string, status *SessionDeletedStatus)
}

Sessions Statistic of sessions

type SubscriptionsStat

type SubscriptionsStat interface {
	Subscribed()
	UnSubscribed()
}

SubscriptionsStat statistic of subscriptions

type TopicsStat

type TopicsStat interface {
	Added()
	Removed()
}

TopicsStat statistic of topics

Jump to

Keyboard shortcuts

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