Skip to content

Implement wire protocol feature for binary order entry #69

@joaquinbejar

Description

@joaquinbejar

Overview

Implement a binary wire protocol feature for order entry (NewOrder, Cancel, CancelReplace, MassCancel) with execution report and market-data (trade, book-update) responses. Protocol is little-endian framed binary (length:u32 | kind:u8 | payload), not serde-JSON. Target for integration with a gateway / networking layer.

Context

  • Files: new src/wire/ submodule or feature-gated src/orderbook/wire.rs
  • Worktest requirement: "binary wire protocol... real binary protocol you defined, not serde-JSON over HTTP"
  • Integration point: examples/wire_server.rs listening on TCP localhost:9999
  • Non-functional: integer prices/qty only, no floats; explicit schema, no implicit type coercion

Acceptance criteria

  • cargo clippy --all-targets --all-features -- -D warnings clean
  • cargo fmt --all --check clean
  • cargo test --all-features clean
  • cargo build --release --all-features clean
  • Wire protocol documented in doc/wire.md with example hex dumps
  • Round-trip test: 10+ message types encode/decode identically
  • Unit test: test_wire_neworder_malformed rejects invalid bytes cleanly
  • Example: cargo run --example wire_client --all-features connects, submits order, receives exec report
  • No panics on invalid wire input; all errors returned as rejection codes

Metadata

Metadata

Assignees

Labels

bookCore engine: matching, operations, modifications, stp, fees, cache, poolenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions