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) }