眠い眠い。

27日が締め切りの案件を発見。書類はめんどう。

そろそろコードでも書こうかと。

まずは、非同期なaccept()周り。
select()は使わない方向。でもepollは負けかなと。

できたらV-FIELDにも移植するかな。速くなるかも。


それから非同期なストレージレイヤークラス。てきとーに。


続いて、どのノードが何を持っているかテーブル。不完全でいい。これはキャッシュ。

ファイル1つに付き1エントリ。ファイル名はString。1エントリにつきIPv6アドレス×n。

メモリ?足りるでしょ、と言うわけにもいかない量になりそうなので、どうにかする。
使わないエントリは削除するとかとか。


そのあとで、FileIDとNodeIDで非分散ハッシュテーブル。ハッシュ関数どうする。
NDHTとか言うと、DHTの新種みたいで良い。Non-Distributed Hash Table。

DHTと置き換えられるインターフェースにしておくと、あとで広域分散にも対応できるかも。
…このテーブルだけ広域分散してもダメか。少なくとも同期IOでは遅くて使い物にならないな。非同期ならそこそこかな。どうせ広域分散じゃ信頼性も何もないし。

NodeIDはどう生成しようか。
IPアドレスとの逆変換が可能な方法で生成する手もある。

まぁどうせNodeIDは64ビット整数だから衝突することは無いだろうし、適当適当。