2017-09-23 01:22:21 +02:00
|
|
|
// Package writer provides message writer concept definitions.
|
|
|
|
package writer
|
|
|
|
|
2017-09-29 00:42:45 +02:00
|
|
|
// Message represents a resolved (normalized) raw message.
|
2017-09-23 01:22:21 +02:00
|
|
|
type Message struct {
|
|
|
|
Channel string
|
|
|
|
Publisher string
|
|
|
|
Protocol string
|
|
|
|
Name string `json:"n,omitempty"`
|
|
|
|
Unit string `json:"u,omitempty"`
|
|
|
|
Value float64 `json:"v,omitempty"`
|
|
|
|
StringValue string `json:"vs,omitempty"`
|
|
|
|
BoolValue bool `json:"vb,omitempty"`
|
|
|
|
DataValue string `json:"vd,omitempty"`
|
|
|
|
ValueSum float64 `json:"s,omitempty"`
|
|
|
|
Time float64 `json:"t,omitempty"`
|
|
|
|
UpdateTime float64 `json:"ut,omitempty"`
|
|
|
|
Link string `json:"l,omitempty"`
|
|
|
|
}
|
|
|
|
|
2017-09-29 00:42:45 +02:00
|
|
|
// RawMessage represents a message emitted by the mainflux adapters layer.
|
|
|
|
type RawMessage struct {
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
Publisher string `json:"publisher"`
|
|
|
|
Protocol string `json:"protocol"`
|
|
|
|
ContentType string `json:"content_type"`
|
|
|
|
Payload []byte `json:"payload"`
|
|
|
|
}
|
|
|
|
|
2017-09-23 01:22:21 +02:00
|
|
|
// MessageRepository specifies a message persistence API.
|
|
|
|
type MessageRepository interface {
|
|
|
|
// Save persists the message. A non-nil error is returned to indicate
|
|
|
|
// operation failure.
|
2017-09-29 00:42:45 +02:00
|
|
|
Save(RawMessage) error
|
2017-09-23 01:22:21 +02:00
|
|
|
}
|