Skip to content

Feature/streams#10

Merged
pro100andrey merged 4 commits into
mainfrom
feature/streams
May 28, 2026
Merged

Feature/streams#10
pro100andrey merged 4 commits into
mainfrom
feature/streams

Conversation

@pro100andrey
Copy link
Copy Markdown
Owner

  • BREAKING CHANGES:

    • Stream API: rewritten architecture — StreamBinaryReader now implements TransactionalReader<List<int>> with delegation to state
    • NotEnoughDataException: message changed from required $required bytes to required $required
  • New Features:

    • Strings: added writeStringFixed and readStringFixed for fixed-width length-prefixed strings.
    • Stream API: added TransactionalReader<TChunk> interface for abstracting transactional read model
    • Stream API: added ChunkedTransactionalState<TChunk> base class for managing chunk queue and bookmarks
    • Stream API: added TransactionalStreamTransformer<TMessage, TChunk, TReader> — generic StreamTransformer for parsing streams
    • Stream API: BinaryStreamTransformer now extends TransactionalStreamTransformer
    • BinaryWriter: improved writeVarString documentation with examples
    • BinaryReader: peekByte() added bounds check — throws RangeError
    • Examples: full restructuring — removed example/main.dart, added example/basic/, example/network_streaming/, example/file_streaming/

@pro100andrey pro100andrey merged commit e21ac26 into main May 28, 2026
3 checks passed
@pro100andrey pro100andrey deleted the feature/streams branch May 28, 2026 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant