decoupled the winIDs from the telemetry data #11
+13
-7
@@ -7,6 +7,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"esdi/providers"
|
"esdi/providers"
|
||||||
|
"esdi/telemetry"
|
||||||
telem "esdi/telemetry"
|
telem "esdi/telemetry"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -203,15 +204,20 @@ func (t *TelemetryService) UnsubscribeListener(id string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (t *TelemetryService) SubscribeToFields() {
|
func (t *TelemetryService) SubscribeToFields() {
|
||||||
// _ = t.devService.SubscribeFields()
|
seen := make(map[telemetry.FieldID]struct{})
|
||||||
// TODO: we need to find a way of requesting devices to send all subscribed fields
|
var allFields []telemetry.FieldID
|
||||||
// instead of going through the devices on DevService here
|
|
||||||
// REVAMP
|
|
||||||
for _, dev := range t.devService.Devices {
|
for _, dev := range t.devService.Devices {
|
||||||
fields := dev.RequiredFields()
|
for _, field := range dev.RequiredFields() {
|
||||||
t.logger.Debug("requested fields", "fields", fields)
|
if _, exists := seen[field]; !exists {
|
||||||
t.activeProvider.Subscribe(fields)
|
seen[field] = struct{}{}
|
||||||
|
allFields = append(allFields, field)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
t.logger.Debug("requested fields", "fields", allFields)
|
||||||
|
t.activeProvider.Subscribe(allFields)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *TelemetryService) StartStream() {
|
func (t *TelemetryService) StartStream() {
|
||||||
|
|||||||
Reference in New Issue
Block a user