gyrogpsc/core/interfaces.go

29 lines
481 B
Go

package core
import "github.com/google/uuid"
type Subscriber interface {
Subscribe() (int16, <-chan string)
Unsubscribe(id int16) error
}
type Publisher interface {
Publish(message string)
Streamer
}
type Processor interface {
Push(data *SensorData) error
}
type Streamer interface {
SetStreaming(s bool) (ok bool)
IsClosed() bool
}
type Storer interface {
Save(tracking Tracking) error
LoadAll() ([]TrackingMetadata, error)
Load(id uuid.UUID) (*Tracking, error)
}