Skip to content

Commit 380a26f

Browse files
authored
Jv/kinesis fix flush strategy naming (#6791)
* Expose library version in foundation, use it in kinesis user agent * Fix flush strategy naming * Apply autoformat * Apply autoformat
1 parent 533b626 commit 380a26f

File tree

5 files changed

+28
-37
lines changed

5 files changed

+28
-37
lines changed

packages/kinesis/aws_kinesis_datastreams/example/integration_test/kinesis_integration_test.dart

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void main() {
3636
credentialsProvider: credentialsProvider,
3737
options: const AmplifyKinesisClientOptions(
3838
maxRetries: 3,
39-
flushStrategy: KinesisDataStreamsNone(),
39+
flushStrategy: FlushNone(),
4040
),
4141
);
4242
});
@@ -150,7 +150,7 @@ void main() {
150150
credentialsProvider: credentialsProvider,
151151
options: const AmplifyKinesisClientOptions(
152152
cacheMaxBytes: 100,
153-
flushStrategy: KinesisDataStreamsNone(),
153+
flushStrategy: FlushNone(),
154154
),
155155
);
156156

@@ -237,7 +237,7 @@ void main() {
237237
region: testRegion,
238238
credentialsProvider: badCredentials,
239239
options: const AmplifyKinesisClientOptions(
240-
flushStrategy: KinesisDataStreamsNone(),
240+
flushStrategy: FlushNone(),
241241
),
242242
);
243243

@@ -307,7 +307,7 @@ void main() {
307307
credentialsProvider: credentialsProvider,
308308
options: const AmplifyKinesisClientOptions(
309309
maxRetries: maxRetries,
310-
flushStrategy: KinesisDataStreamsNone(),
310+
flushStrategy: FlushNone(),
311311
),
312312
);
313313

@@ -460,9 +460,7 @@ void main() {
460460
region: testRegion,
461461
credentialsProvider: credentialsProvider,
462462
options: const AmplifyKinesisClientOptions(
463-
flushStrategy: KinesisDataStreamsInterval(
464-
interval: Duration(seconds: 3),
465-
),
463+
flushStrategy: FlushInterval(interval: Duration(seconds: 3)),
466464
),
467465
);
468466
// Note: no explicit enable() call — scheduler should auto-start
@@ -492,9 +490,7 @@ void main() {
492490
region: testRegion,
493491
credentialsProvider: credentialsProvider,
494492
options: const AmplifyKinesisClientOptions(
495-
flushStrategy: KinesisDataStreamsInterval(
496-
interval: Duration(seconds: 5),
497-
),
493+
flushStrategy: FlushInterval(interval: Duration(seconds: 5)),
498494
),
499495
);
500496

@@ -562,7 +558,7 @@ void main() {
562558
credentialsProvider: credentialsProvider,
563559
options: const AmplifyKinesisClientOptions(
564560
cacheMaxBytes: 12 * 1024 * 1024, // 12 MB
565-
flushStrategy: KinesisDataStreamsNone(),
561+
flushStrategy: FlushNone(),
566562
),
567563
);
568564

@@ -624,9 +620,7 @@ void main() {
624620
final newClient = await AmplifyKinesisClient.create(
625621
region: testRegion,
626622
credentialsProvider: credentialsProvider,
627-
options: const AmplifyKinesisClientOptions(
628-
flushStrategy: KinesisDataStreamsNone(),
629-
),
623+
options: const AmplifyKinesisClientOptions(flushStrategy: FlushNone()),
630624
);
631625

632626
try {

packages/kinesis/aws_kinesis_datastreams_dart/lib/src/amplify_kinesis_client.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import 'dart:typed_data';
77
import 'package:amplify_foundation_dart/amplify_foundation_dart.dart'
88
hide packageVersion;
99
import 'package:amplify_foundation_dart/amplify_foundation_dart.dart'
10-
as foundation show packageVersion;
10+
as foundation
11+
show packageVersion;
1112
import 'package:amplify_foundation_dart_bridge/amplify_foundation_dart_bridge.dart';
1213
import 'package:aws_kinesis_datastreams_dart/src/amplify_kinesis_client_options.dart';
1314
import 'package:aws_kinesis_datastreams_dart/src/exception/amplify_kinesis_exception.dart';
@@ -131,11 +132,11 @@ class AmplifyKinesisClient {
131132
);
132133

133134
final scheduler = switch (opts.flushStrategy) {
134-
KinesisDataStreamsInterval(:final interval) => AutoFlushScheduler(
135+
FlushInterval(:final interval) => AutoFlushScheduler(
135136
interval: interval,
136137
client: recordClient,
137138
)..start(),
138-
KinesisDataStreamsNone() => null,
139+
FlushNone() => null,
139140
};
140141

141142
return AmplifyKinesisClient._(

packages/kinesis/aws_kinesis_datastreams_dart/lib/src/amplify_kinesis_client_options.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class AmplifyKinesisClientOptions {
1313
const AmplifyKinesisClientOptions({
1414
this.cacheMaxBytes = 5 * 1024 * 1024,
1515
this.maxRetries = 5,
16-
this.flushStrategy = const KinesisDataStreamsInterval(),
16+
this.flushStrategy = const FlushInterval(),
1717
});
1818

1919
/// Maximum size of the local cache in bytes.
@@ -28,6 +28,6 @@ final class AmplifyKinesisClientOptions {
2828

2929
/// Strategy for automatic flushing of cached records.
3030
///
31-
/// Defaults to [KinesisDataStreamsInterval] with a 30-second interval.
32-
final KinesisDataStreamsFlushStrategy flushStrategy;
31+
/// Defaults to [FlushInterval] with a 30-second interval.
32+
final FlushStrategy flushStrategy;
3333
}

packages/kinesis/aws_kinesis_datastreams_dart/lib/src/flush_strategy/flush_strategy.dart

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,20 @@
55
/// Determines when automatic flushing of cached records occurs.
66
///
77
/// Available strategies:
8-
/// - [KinesisDataStreamsInterval]: Flush at a fixed time interval (default)
9-
/// - [KinesisDataStreamsNone]: Disable automatic flushing entirely
8+
/// - [FlushInterval]: Flush at a fixed time interval (default)
9+
/// - [FlushNone]: Disable automatic flushing entirely
1010
/// {@endtemplate}
11-
sealed class KinesisDataStreamsFlushStrategy {
11+
sealed class FlushStrategy {
1212
/// {@macro aws_kinesis_datastreams.flush_strategy}
13-
const KinesisDataStreamsFlushStrategy();
13+
const FlushStrategy();
1414
}
1515

1616
/// {@template aws_kinesis_datastreams.interval_flush_strategy}
1717
/// A flush strategy that triggers automatic flushes at a fixed interval.
1818
/// {@endtemplate}
19-
final class KinesisDataStreamsInterval extends KinesisDataStreamsFlushStrategy {
19+
final class FlushInterval extends FlushStrategy {
2020
/// {@macro aws_kinesis_datastreams.interval_flush_strategy}
21-
const KinesisDataStreamsInterval({
22-
this.interval = const Duration(seconds: 30),
23-
});
21+
const FlushInterval({this.interval = const Duration(seconds: 30)});
2422

2523
/// The interval between automatic flush operations.
2624
final Duration interval;
@@ -29,7 +27,7 @@ final class KinesisDataStreamsInterval extends KinesisDataStreamsFlushStrategy {
2927
/// {@template aws_kinesis_datastreams.none_flush_strategy}
3028
/// A flush strategy that disables automatic flushing.
3129
/// {@endtemplate}
32-
final class KinesisDataStreamsNone extends KinesisDataStreamsFlushStrategy {
30+
final class FlushNone extends FlushStrategy {
3331
/// {@macro aws_kinesis_datastreams.none_flush_strategy}
34-
const KinesisDataStreamsNone();
32+
const FlushNone();
3533
}

packages/kinesis/aws_kinesis_datastreams_dart/test/kinesis_data_streams_test.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,14 @@ void main() {
5757
expect(client.region, equals('us-east-1'));
5858
expect(client.options.cacheMaxBytes, equals(5 * 1024 * 1024));
5959
expect(client.options.maxRetries, equals(5));
60-
expect(client.options.flushStrategy, isA<KinesisDataStreamsInterval>());
60+
expect(client.options.flushStrategy, isA<FlushInterval>());
6161
});
6262

6363
test('initializes with custom options', () {
6464
const customOptions = AmplifyKinesisClientOptions(
6565
cacheMaxBytes: 10 * 1024 * 1024,
6666
maxRetries: 10,
67-
flushStrategy: KinesisDataStreamsInterval(
68-
interval: Duration(minutes: 1),
69-
),
67+
flushStrategy: FlushInterval(interval: Duration(minutes: 1)),
7068
);
7169

7270
final client = AmplifyKinesisClient.withRecordClient(
@@ -79,22 +77,22 @@ void main() {
7977
expect(client.options.cacheMaxBytes, equals(10 * 1024 * 1024));
8078
expect(client.options.maxRetries, equals(10));
8179
expect(
82-
(client.options.flushStrategy as KinesisDataStreamsInterval).interval,
80+
(client.options.flushStrategy as FlushInterval).interval,
8381
equals(const Duration(minutes: 1)),
8482
);
8583
});
8684

8785
test('supports None flush strategy', () {
8886
const customOptions = AmplifyKinesisClientOptions(
89-
flushStrategy: KinesisDataStreamsNone(),
87+
flushStrategy: FlushNone(),
9088
);
9189

9290
final client = AmplifyKinesisClient.withRecordClient(
9391
recordClient: mockRecordClient,
9492
options: customOptions,
9593
);
9694

97-
expect(client.options.flushStrategy, isA<KinesisDataStreamsNone>());
95+
expect(client.options.flushStrategy, isA<FlushNone>());
9896
});
9997
});
10098

0 commit comments

Comments
 (0)