uIPのドキュメントを読んでみます。
http://www.sics.se/~adam/uip/uip-0.9-refman/main.html
メモ
- uIPはメモリ使用量が少ない(グローバルに1つしかパケットバッファがない)
- uIPはOS非依存にするためにCPUにやさしいブロック的なものがない
- uIPはパケット再送処理アプリケーション側が面倒を見なければならない(他のスタックでは再送はアプリケーションから見えない)
- The application must be implemented as a C function, UIP_APPCALL(), that uIP calls whenever an event occurs.
- uip_connが現在の接続を表す
- uip_conn->lport (ローカルTCPポート)
- 受信
- uip_newdata()が非ゼロを返した場合、リモートホストが新しいデータを送信している
- uip_appdataポインタが実際のデータを指し示す
- uip_datalen()がデータサイズ
- 送信
- uip_mss()実際に送信されたデータの量
- uip_send()データ送信