Skip to content

Improvements#8

Merged
pro100andrey merged 10 commits into
mainfrom
improvements
May 24, 2026
Merged

Improvements#8
pro100andrey merged 10 commits into
mainfrom
improvements

Conversation

@pro100andrey
Copy link
Copy Markdown
Owner

BREAKING CHANGES:

  • BinaryWriterPool: renamed _defaultBufferSize_initialBufferSizer (and parameter defaultBufferSizeinitialBufferSizer in acquire() and withWriter())

New Features:

  • BinaryWriterPool: added _discardedPoolFull counter — tracks writers discarded due to pool full (max 32)
  • BinaryWriter: added _varIntSize(int value) — helper function for VarInt size calculation (switch expression)
  • BinaryReader: added peekByte() — returns byte at current position without advancing offset
  • BinaryReader: added BinaryReader.fromList(List<int>) — convenient constructor for List<int>

Fixes:

  • BinaryWriterPool: added validation for initialBufferSizer in acquire() — throws RangeError for invalid size
  • BinaryWriterPool: _initializeBuffer() now resets _isInPool = false, correct takeBytes()release() flow for pooled writers
  • BinaryWriterPool: clear() now resets _isInPool for pooled writers
  • BinaryReader/BinaryWriter: removed unnecessary late from _ReaderState and _WriterState (offset, capacity, list)
  • BinaryReader: removed redundant bounds check in peekBytes() (already guarded by _checkBounds)

Refactoring:

  • _WriterState: renamed _validated_fromSize
  • string_utils.dart: replaced JSDoc tags @param/@return with Dart style (Parameters:/Returns:)

Tests:

  • Added tests for pool statistics, edge cases takeBytes/reset/release

@pro100andrey pro100andrey merged commit 2cd6248 into main May 24, 2026
7 checks passed
@pro100andrey pro100andrey deleted the improvements branch May 24, 2026 21:58
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