RootingTableを実装してみよう
KIDを実装する。
InfoHashもPeerIDもKIDとして表せる。
class KId {
List<int> _values = null;
List<int> get value => new List.from(_values);
KId(List<int> id) {
if(id == null || id.length != 20) {
throw {};
}
this._values = new Uint8List.fromList(id);
}
int get length => _values.length;
int operator [](int idx) => _values[idx];
Iterator<int> get iterator => _values.iterator;
}XOR の計算機能を追加する
大小比較の機能を追加する
kBucketを実装する。
RootingTableを実装する
KIdに値に応じて、追加するxBucketを決める機能を追加する
Peerの情報が渡されたら、対応するkBucketに追加する
Last updated