[Filter]
「データを処理」し、最終的にこのデータをさまざまなデバイスに書き込む多数のモジュールを使用しています。
[Filter] -> [Filter] -> [Writer]
構成はランタイムに依存します。問題は、一般に、[Filter]
それがチェーンの終わりであり、データがどこに書き込まれるかを本当に知らないことです。
一部[Filter]
の は Google プロトコル バッファに出力を生成[Writer]
し、ファイルに書き込む場合があります。ただし、構造化データが生成され、ネットワーク経由で送信する必要がある場合は、次のようになります。
#pragma pack(push,1)
struct data_s {
char a;
int i;
int j;
char str[64];
};
#pragma pack(pop)
data_t d;
//...
d.i = htonl( d.i);
d.j = htonl( d.j);
this->write( d );
この場合...すべての[フィルター]でも[ライター]でもこれを行う方法はありますか...ライターはメモリのチャンクのみを参照し、構造化されたものは何も表示しません。方法はありますか
[Filter] -> [Filter] -> [hton_struct] -> [Writer]
構造化されたネットワーク バイト オーダーの変換を外部委託します。メモリのチャンクをネットワーク バイト オーダーへの変換記述とともに送信する快適で再利用可能な方法はありますか? したがって、[Filter]
上記の前提条件が適用される場合にのみ使用されるコンポーネントで実装する必要はありませんか?