TCP/IP stack using C++
class Packet{
public:
const MsgBody * msg; // msg body。サイズなどもここに含まれる。
encap(<Header> header); // テンプレートを使う。
decap();
private:
unsigned int _header_count ; // ついてるヘッダの数。0-3だろうね。
unsigned int _last_header; // 一番外側についてるヘッダの種類(いらない?)
// encap,decapの時はこれを書き換える
}
class MsgBody{
char * msg_body;
unsinged int msg_size;
MsgBody(char * msg_body, size); // 正確にsize分だけmallocする
}
そのレイヤ特有の動作。
コネクションが成立するたびに生成され、TCPの一つのコネクションを管理する。