File tree 2 files changed +31
-16
lines changed
data/services/data_source
domain/data_source/models
2 files changed +31
-16
lines changed Original file line number Diff line number Diff line change @@ -254,23 +254,38 @@ class DemoDataSource extends DataSource
254
254
mockManager.handlePeriodicPackage (package);
255
255
}
256
256
257
- timer ?? = Timer .periodic (
258
- Duration (milliseconds: updatePeriodMillis ()),
259
- (timer) async {
260
- for (final element in subscriptionParameters) {
261
- try {
262
- unawaited (mockManager.handleSubscriptionParameterId (element));
263
- } catch (e, s) {
264
- unawaited (
265
- Future <void >.error (
266
- 'Got error trying to send a package:\n $e ' ,
267
- s,
268
- ),
257
+ if (timer == null ) {
258
+ final updatePeriod = updatePeriodMillis ();
259
+ timer = Timer .periodic (
260
+ Duration (milliseconds: updatePeriod),
261
+ (timer) async {
262
+ final innerTimerPeriod =
263
+ (updatePeriod / subscriptionParameters.length).floor ();
264
+ for (var i = 0 ; i < subscriptionParameters.length; i++ ) {
265
+ if (i >= subscriptionParameters.length) {
266
+ break ;
267
+ }
268
+ try {
269
+ unawaited (
270
+ mockManager.handleSubscriptionParameterId (
271
+ subscriptionParameters.elementAt (i),
272
+ ),
273
+ );
274
+ } catch (e, s) {
275
+ unawaited (
276
+ Future <void >.error (
277
+ 'Got error trying to send a package:\n $e ' ,
278
+ s,
279
+ ),
280
+ );
281
+ }
282
+ await Future <void >.delayed (
283
+ Duration (milliseconds: innerTimerPeriod),
269
284
);
270
285
}
271
- }
272
- },
273
- );
286
+ },
287
+ );
288
+ }
274
289
275
290
return const Result .value (null );
276
291
},
Original file line number Diff line number Diff line change @@ -57,7 +57,7 @@ class DeveloperToolsParameters {
57
57
const DeveloperToolsParameters .defaultValues ()
58
58
: enableRandomErrorGenerationForDemoDataSource = false ,
59
59
protocolVersion = DataSourceProtocolVersion .subscription,
60
- requestsPeriodInMillis = 800 ,
60
+ requestsPeriodInMillis = 1500 ,
61
61
enableHandshakeResponse = true ,
62
62
handshakeResponseTimeoutInMillis = 0 ,
63
63
subscriptionParameterIds = const {};
You can’t perform that action at this time.
0 commit comments