Skip to content
This repository was archived by the owner on Jul 7, 2022. It is now read-only.

Commit b7418ee

Browse files
committed
feat(client): handle initial set complete event
1 parent c4e5f21 commit b7418ee

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

client/metric-stream-client.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ export class MetricStreamClient {
168168
let subId = message.subscription_id;
169169
let sub = this.subscriptions[subId];
170170
if (!sub) {
171+
console.log('received subscription for unknown sub id ' + subId);
171172
this.sendUnsubscribe(subId);
172173
return;
173174
}
@@ -176,14 +177,10 @@ export class MetricStreamClient {
176177
return;
177178
}
178179
let data = message.data;
179-
if (data.series) {
180-
sub.data.series.next(data.series);
181-
return;
182-
}
183-
if (!sub.data.initialSetComplete.value && !data.initial_set) {
184-
sub.data.initialSetComplete.next(true);
185-
}
186180
switch (data.response_type) {
181+
case 0: // ListDatapointResponseType.LIST_DATAPOINT_SERIES_DETAILS
182+
sub.data.series.next(data.series);
183+
break;
187184
case 2: // ListDatapointResponseType.LIST_DATAPOINT_DEL:
188185
this.removeDatapoint(sub.data, data.datapoint.timestamp);
189186
break;
@@ -196,7 +193,9 @@ export class MetricStreamClient {
196193
case 1: // ListDatapointResponseType.LIST_DATAPOINT_ADD:
197194
this.insertDatapoint(sub.data, data.datapoint);
198195
break;
199-
// Unhandled
196+
case 4: // ListDatapointResponseType.LIST_DATAPOINT_INITIAL_SET_COMPLETE:
197+
sub.data.initialSetComplete.next(true);
198+
break;
200199
default:
201200
break;
202201
}
@@ -240,6 +239,7 @@ export class MetricStreamClient {
240239
if (message.error) {
241240
return;
242241
}
242+
console.log('got subscribe result for unknown sub ' + subId);
243243
this.sendUnsubscribe(subId);
244244
return;
245245
}
@@ -261,6 +261,7 @@ export class MetricStreamClient {
261261
let aliasSub = this.subscriptions[message.alias_subscription_id];
262262
if (!aliasSub) {
263263
// Respin the subscription after unsubscribing both in order.
264+
console.log('respinning ' + message.subscription_id);
264265
this.sendUnsubscribe(message.alias_subscription_id);
265266
this.sendUnsubscribe(message.subscription_id);
266267
this.sendSubscribe(sub);

0 commit comments

Comments
 (0)