MessagePack Ext
MessagePackのExt型は(type_code, data)のペアでカスタム型を拡張し、アプリケーション層が非標準の型をシリアライズできるようにする。
目的
MessagePackでアプリケーション定義の型(例:Date、BigInt、カスタムクラス)をサポートしつつ、バイナリ効率を保つ。
メカニズム
Ext型のマーカー(fixext1/2/4/8/16またはext8/16/32)の後に、1バイトのtype_code(0-127はアプリケーション定義)と生データが続く。デコーダーはtype_codeに基づいてカスタムデシリアライザーへディスパッチする。
ユースケース
- カスタム型のシリアライズ
- Date/BigIntの拡張
- アプリケーション型の保持