Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ドラえもんコミック

正月に実家に帰ったら子供のときに集めていたドラえもんのコミックを発見。
てんとう虫も持っていたけどこちらのほうが多かったな。
巻末のおまけマンガが楽しいんだようなぁ。

[Mona][network] uIPのhttpdのソースを読んでフローとやるべきことをつかむ

ネットワークサーバの実装にはuIPを利用したアプリケーションの作り方を学ぶ必要がある。
Emacs + GLOBALでフローを追ってみた。

処理フロー

httpd_init();
  fs_init();
  uip_listen(HTONS(80));
uip_input() (== uip_process(UIP_DATA))
  uip_tcpchksum()
  UIP_APPCALL(==httpd_appcall)

httpd_appcall内で使われている関数たち

  • uip_conn->lport // ポートが分かる
  • uip_connected() // 接続されているか
  • uip_poll() // poolしているか?
  • uip_abort() // abort
  • uip_newdata() // 新しいデータがあったらtrue
  • uip_appdataにデータがある


ちなみにこの作業が終わってからドキュメントの存在に気づいた。
これは次回読みます。
http://www.sics.se/~adam/uip/uip-0.9-refman/main.html