awslabs / amazon-kinesis-client

Client library for Amazon Kinesis
Apache License 2.0
642 stars 465 forks source link

Embed StreamConfig within ShardInfo #1304

Open furq-aws opened 6 months ago

furq-aws commented 6 months ago

Issue #, if available: N/A.

Description of changes: Add StreamConfig as a field within ShardInfo.

Previously, StreamIdentifier instances were reconstructed using the optional streamIdentifierSerOpt field within ShardInfo (which has since been removed). Now, ShardInfo maintains a reference to the StreamIdentifier through StreamConfig, eliminating the need for reconstruction.

This change encompasses any additional refactoring necessitated by embedding StreamConfig within ShardInfo. For example, there's no longer a need to explicitly provide initialPositionInStreamExtended (a field of StreamConfig) when ShardInfo is already available.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.