えびの中身

昼休みにEbbのソースをちょこちょこと読んでみる。
大まかな処理の流れは以下の通り。

  1. Ebb::Serverをstartすると、FFI::server_listen_on_xxxでサーバソケットのイベントコールバックにebb.c#on_requestを登録
  2. サーバにリクエストがくるとon_requestがコールバックされる。acceptして、クライアントソケットのイベントコールバックにebb.c#on_readableを登録
  3. クライアントソケットが読み取り可能になると、on_readbleがコールバックしてむにゃむにゃむにゃ
  4. 以下、繰り返し

以下、雑感。

  • ファイルが少なくて読み易し
  • gotoをそれなりに活用しているソースは初めて見た
  • GLibの関数はそれほど多くない。GLib無くても何とかならないかな?

帰ったら、もう少し詳しく読んでみよ。