modify websocketserver to broker with callback functions
This commit is contained in:
@@ -36,7 +36,14 @@ func (d *DBMHandler) Subscribe(req *json_dataModels.Request, id string) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
dp.AddSubscribtion(id, sub)
|
||||
|
||||
client := d.DBM.Conns.GetClient(id)
|
||||
if client == nil {
|
||||
d.Log.Warning("subscribe", "id "+id+" not found")
|
||||
continue
|
||||
}
|
||||
|
||||
dp.AddSubscribtion(client, sub)
|
||||
resp.AddSubscription(json_dataModels.Subscription{
|
||||
Uuid: dp.Uuid,
|
||||
Path: dp.Path,
|
||||
@@ -68,10 +75,17 @@ func (d *DBMHandler) Unsubscribe(req *json_dataModels.Request, id string) {
|
||||
|
||||
for _, sub := range req.Unsubscribe {
|
||||
for _, dp := range d.DBM.QueryDatapoints(sub.Depth, sub.Uuid, sub.Path) {
|
||||
if _, ok := dp.Subscriptions[id]; !ok {
|
||||
|
||||
client := d.DBM.Conns.GetClient(id)
|
||||
if client == nil {
|
||||
d.Log.Warning("subscribe", "id "+id+" not found")
|
||||
continue
|
||||
}
|
||||
dp.RemoveSubscribtion(id)
|
||||
|
||||
if _, ok := dp.Subscriptions[client]; !ok {
|
||||
continue
|
||||
}
|
||||
dp.RemoveSubscribtion(client)
|
||||
resp.AddUnsubscription(json_dataModels.Subscription{
|
||||
Uuid: dp.Uuid,
|
||||
Path: dp.Path,
|
||||
|
Reference in New Issue
Block a user