Messages & wire (message)
Message types, msgId, serialization, and partial-field send / overrides — the network-facing bundle.
Which protocol strings are interop vs Deuk native: start at Wire protocol families.
In IDL
messageis a struct shaped for network naming conventions; field IDs and required rules follow Thrift/Deuk rules.- Services: Thrift-style
service/ methods stay in the AST as RPC definitions (bindings depend on generators/runtime).
Protocols & registries
ProtocolRegistry: maps message types ↔ msgId (and related ids) for dispatch and serialization routing.- CLI
--protocol/wireFamily: see the table in Wire protocol families. Interop Thrift (tbinary, etc.) is centered on generated C# / C++; JS can use the same wire withinteropRootStructon options, orpack/json/yamlwithout schema. - C#:
IDeukPackReader/IDeukPackWriterper protocol. --wire-profile: subset / DTO-style emit. See Wire profile subset.
Unified Write (subset fields & overrides)
- C#:
Write(oprot, fieldIds, overrides?)—fieldIdsnon-null ⇒ only those fields;overrides⇒ per-field ID replacement values; usenullfor unused parameters. - JavaScript:
toJson/toBinary(and pack helpers) with the same(obj, fieldIds, overrides)shape.
Tutorial: Unified Write tutorial
Deep API: DEUKPACK_WRITE_WITH_OVERRIDES_API
Tables in API reference — Unified Write.
Hands-on (DeukPack Kits)
Product story: Protocol.