Documentation ¶
Index ¶
Constants ¶
View Source
const ( TraceletNatsSubject = "train.tracelet" GpsNatsSubject = "train.gps" )
Variables ¶
View Source
var (
RegisterSiteNatsTopic = "site.register"
)
Functions ¶
This section is empty.
Types ¶
type Coordinates ¶
type GpsMessage ¶
type GpsMessage struct { ID string `json:"id"` Coordinates Coordinates `json:"coordinates"` }
type SiteInfo ¶
type SiteInfo struct { SiteId string `json:"id"` Zero Coordinates `json:"zero"` Area []Coordinates `json:"area"` }
type SiteManager ¶
type SiteManager struct {
// contains filtered or unexported fields
}
func NewSiteManager ¶
func NewSiteManager() (*SiteManager, error)
NewSiteManager will return an new SiteManager object. The state file can be passed by env variable SITES_STATE_FILE. If no state file is passed, a temporary file will be created.
func (*SiteManager) RegisterHandler ¶
func (c *SiteManager) RegisterHandler(msg *nats.Msg)
func (*SiteManager) RegisterSite ¶
func (s *SiteManager) RegisterSite(siteInfo SiteInfo) error
type TraceletMessage ¶
type TrainPosition ¶
type TrainPosition struct { ID string `json:"id"` SiteID string `json:"site-id"` Position Position `json:"position"` }
func GpsToTrainPositon ¶
func GpsToTrainPositon(gpsData GpsMessage) TrainPosition
GpsToTrainPositon convert GpsMessage to Position struct
func TraceletToTrainPosition ¶
func TraceletToTrainPosition(traceletData TraceletMessage, siteManager *SiteManager) (TrainPosition, error)
TraceletToTrainPosition convert TraceletMessage to Position struct
Click to show internal directories.
Click to hide internal directories.