Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotFound error = fmt.Errorf("not found")
Functions ¶
This section is empty.
Types ¶
type AggrResult ¶
type Measurement ¶
type Measurement struct { DeviceID string `json:"deviceID"` ID string `json:"id"` Name string `json:"name"` Tenant string `json:"tenant"` Timestamp time.Time `json:"timestamp"` Urn string `json:"urn"` BoolValue *bool `json:"vb,omitempty"` Lat float64 `json:"lat"` Lon float64 `json:"lon"` StringValue string `json:"vs,omitempty"` Unit string `json:"unit,omitempty"` Value *float64 `json:"v,omitempty"` }
func NewMeasurement ¶
func NewMeasurement(ts time.Time, id, deviceID, name, urn, tenant string) Measurement
type MeasurementResult ¶
type MeasurementResult struct { ID string `json:"id,omitempty"` DeviceID string `json:"deviceID,omitempty"` Name string `json:"name,omitempty"` Urn string `json:"urn,omitempty"` Lat *float64 `json:"lat,omitempty"` Lon *float64 `json:"lon,omitempty"` LastObserved *time.Time `json:"lastObserved,omitempty"` Values []Value `json:"values"` Tenant string `json:"tenant,omitempty"` }
type MeasurementRetriever ¶
type MeasurementRetriever interface { Query(ctx context.Context, q QueryParams, tenants []string) QueryResult QueryDevice(ctx context.Context, deviceID string, tenants []string) QueryResult QueryObject(ctx context.Context, deviceID, urn string, tenants []string) QueryResult }
type MeasurementStorer ¶
type MeasurementStorer interface { Save(ctx context.Context, m Measurement) error SaveMany(ctx context.Context, m []Measurement) error }
type MessageCollector ¶
type MessageCollector struct {
// contains filtered or unexported fields
}
func New ¶
func New(m mediator.Mediator, s MeasurementStorer) MessageCollector
func (*MessageCollector) Start ¶
func (mc *MessageCollector) Start(ctx context.Context)
type QueryParams ¶
func ParseQuery ¶
func ParseQuery(q map[string][]string) QueryParams
func (QueryParams) GetUint64OrDefault ¶
func (q QueryParams) GetUint64OrDefault(key string, i uint64) uint64
type QueryResult ¶
type Value ¶
type Value struct { ID *string `json:"id,omitempty"` Name *string `json:"n,omitempty"` BoolValue *bool `json:"vb,omitempty"` StringValue string `json:"vs,omitempty"` Value *float64 `json:"v,omitempty"` Unit string `json:"unit,omitempty"` Timestamp time.Time `json:"timestamp"` Link *string `json:"link,omitempty"` Sum *float64 `json:"sum,omitempty"` Urn *string `json:"urn,omitempty"` }
Click to show internal directories.
Click to hide internal directories.