ご
眠い眠い。
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ビット整数だから衝突することは無いだろうし、適当適当。