43 lines
782 B
Go
43 lines
782 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)
|
|
}
|
|
|
|
type Pusher interface {
|
|
Push(data *sensorData) error
|
|
}
|
|
|
|
type Storer interface {
|
|
EnqueuePair(tcp sensorData, ser sensorData)
|
|
EnqueueRaw(data sensorData)
|
|
}
|
|
|
|
type Repo interface {
|
|
Save(tracking Tracking) error
|
|
LoadAll() ([]TrackingMetadata, error)
|
|
Load(id uuid.UUID) (Tracking, error)
|
|
}
|
|
|
|
type Service interface {
|
|
AllTrackings()
|
|
NewSetup(cols ...CollectorType)
|
|
StartRecord()
|
|
StopRecord()
|
|
StopAll()
|
|
|
|
LoadTracking(trackingId uuid.UUID)
|
|
DeleteTracking(trackingId uuid.UUID)
|
|
|
|
StartReplay()
|
|
PauseReplay()
|
|
StopReplay()
|
|
}
|