Versions in this module Expand all Collapse all v0 v0.1.0 Oct 20, 2018 Changes in this version + const NoiseStream + const RecordsStream + var ErrNoOngoingRace = errors.New("no ongoing race found") + var ErrRaceOngoing = errors.New("race already ongoing") + type FatalLogger struct + func (FatalLogger) Debugf(_ string, _ ...interface{}) + func (FatalLogger) Errorf(_ string, _ ...interface{}) + func (FatalLogger) Fatalf(tmpl string, args ...interface{}) + func (FatalLogger) Infof(_ string, _ ...interface{}) + type Handler struct + Log Logger + Publisher Publisher + Storage Storage + func (h *Handler) OnError(err error) + func (h *Handler) OnNoise(noise uint16) + func (h *Handler) OnPassing(passing tranx2.Passing) + type Logger interface + Debugf func(tmpl string, args ...interface{}) + Errorf func(tmpl string, args ...interface{}) + Fatalf func(tmpl string, args ...interface{}) + Infof func(tmpl string, args ...interface{}) + type Publisher interface + PublishNoise func(noise uint16) + PublishRecord func(rec Record) + type Race struct + Ended *time.Time + ID int64 + Started *time.Time + type Record struct + ID int64 + RaceID int64 + type SqliteStorage struct + func NewSqliteStorage(dsn string) (*SqliteStorage, error) + func (s *SqliteStorage) Save(passing tranx2.Passing) (rec Record, err error) + func (s *SqliteStorage) StartRace(started time.Time) (race Race, err error) + func (s *SqliteStorage) StopRace(ended time.Time) (err error) + type SsePublisher struct + Log Logger + Server *sse.Server + func NewSsePublisher() *SsePublisher + func (s *SsePublisher) PublishNoise(noise uint16) + func (s *SsePublisher) PublishRecord(rec Record) + type Storage interface + Save func(passing tranx2.Passing) (rec Record, err error)