## 概説 kble-dump は、デバッグを目的として通信データをダンプし、またダンプしたデータを再生するためのプログラムである。 kble-dump は、サブコマンドとして record と replay をもつ。 kble-dump record は、kble から受信したそのままkbleに送信すると同時に、kble から受信したメッセージの内容をダンプ形式でファイルに保存する。 kble-dump replay は、kble から受信した内容を全て無視し、引数として与えらえたダンプ形式のファイルに記録された内容を kble に 送信する。送信のタイミングは、ダンプ形式のファイルに記録されたタイムスタンプの相対的タイミングと可能な限り一致させる。 ## ダンプ形式 出力ファイルは、レコードをMessagePack形式で並べたものである。 レコードは、未圧縮レコード1つをdeflate圧縮したものである。 未圧縮のレコードの構造は12バイトのタイムスタンプと可変長のデータ部からなる(下図参照)。 タイムスタンプは、kble-dumpをデータが通過した時刻を UNIX EPOCH からの経過時間で表したものである。 データ部の内容はkble-dumpを通過したメッセージのバイト列をそのまま記録したものである。 ``` +---------------------------------------------------+------+ | timestamp (12 bytes) | data | +-------------------+-------------------------------+ | | seconds (8 bytes) | subseconds in nanos (4 bytes) | | +-------------------+-------------------------------+------+ ```