Skip to content

fix(q): harden temporal decoding and frame receive - #14

Open
belowzeroff wants to merge 3 commits into
RayforceDB:masterfrom
belowzeroff:fix/q-handshake-capability
Open

belowzeroff wants to merge 3 commits into
RayforceDB:masterfrom
belowzeroff:fix/q-handshake-capability

Conversation

@belowzeroff

@belowzeroff belowzeroff commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • reject Q timespan atoms and vectors instead of decoding durations as timestamps
  • receive Q frame bodies in 64 KiB chunks to avoid reserving the advertised size before data arrives
  • keep the existing 256 MiB frame limit and cover multi-chunk round-trips
  • include inet declarations in driver tests for stricter libc/compiler environments

User-facing behavior

  • Q timespan values now fail as unsupported instead of appearing as incorrect dates/timestamps
  • large Q frames remain supported; an idle peer that advertises a large frame no longer makes the server reserve the full body up front
  • no change to ordinary Q connection or frame semantics

Tests

  • make recheck
  • partial 128 MiB frame memory regression: 4 KiB VmSize growth
  • multi-chunk vector round-trip
  • codec, exchange, CLI, real-q interop, client, server, and push/poll suites

@belowzeroff belowzeroff changed the title fix(q): include inet declarations in driver tests fix(q): harden temporal decoding and frame receive Oct 2, 2026
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