Mona のプロトコルスタックは lwIP にしようと思う

FreeBSD 系のソケットは移植難度が高い。なので lwIP にしようかと。
採用理由は

  • 移植難易度が低い事
  • BSD Socket API がついてくる事
  • 今もメンテナンスされている事
  • uIP とおなじ作者(いまは違う人達がメンテしている)
  • 採用 OS が多い事(組み込みだけど)

など。


予想される良くない点としては

  • パフォーマンス
  • SOCK オプションなどが不十分

など。


BSD Socket API のバックエンドはごっそり入れ替える事が可能なので、本当に困ったら入れ替えればよい。
今は Socket API がある事の方が大事。


移植用のドキュメントを読んでいたら、タイムアウト付きの Semaphore が必要な事が判明。
これを機会にスレッド、同期周りをきちんと整理しよう。Java並行処理プログラミングを読んだので以前よりはまともなものが実装できよう。