Closed tenax66 closed 1 year ago
Issue #14 で議論しているピアごとの証拠ピース収集について実装を進めているので、途中経過的ではありますが、一旦プルリクエストを送らせてもらいます。
まずClient.downloadメソッドでファイル全体のダウンロードを行うと、そこで接続したピアの一覧がpeer.csvに吐かれます。それを読み込んでClient.download_pieceメソッドが各ピアからひとつのピースのダウンロードを試みるようになっています。
Client.download
peer.csv
Client.download_piece
IPとピースを指定してのダウンロードはうまくいっているのですが、ピースをファイルとして書き出す処理がまだ実装できておらず、現状だと全体をダウンロードするときと変わらない見た目になっています。 (Big Buck Bunnyでテストしているのでそれを例にとると、仮にピースをひとつだけダウンロードしたときでもBig Buck Bunny.mp4ができてしまう)
Big Buck Bunny.mp4
あとは、当たり前と言えば当たり前なのですが、ピアをローカルに記録する形式だとすぐ古くなってしまうのでダウンロードできない場合が多いという問題も判明してきています。 ここは、トラッカー等から生きているピアを読み込むように仕組みを修正することを考えたほうがよいのかもしれません。
参考画像: 各ファイル名のフォルダ配下にpeer.csvが作成され、それを読み込んで、IPアドレス名のフォルダにピースがダウンロードされます。
ありがとうございます!
生きているピアを読み込むように仕組みを修正 可能なら、上記をやった上で既存のピア情報と照合して、既存のピアから優先的にピースを確保するのが良さそうです。
Issue #14 で議論しているピアごとの証拠ピース収集について実装を進めているので、途中経過的ではありますが、一旦プルリクエストを送らせてもらいます。
まず
Client.download
メソッドでファイル全体のダウンロードを行うと、そこで接続したピアの一覧がpeer.csv
に吐かれます。それを読み込んでClient.download_piece
メソッドが各ピアからひとつのピースのダウンロードを試みるようになっています。IPとピースを指定してのダウンロードはうまくいっているのですが、ピースをファイルとして書き出す処理がまだ実装できておらず、現状だと全体をダウンロードするときと変わらない見た目になっています。 (Big Buck Bunnyでテストしているのでそれを例にとると、仮にピースをひとつだけダウンロードしたときでも
Big Buck Bunny.mp4
ができてしまう)あとは、当たり前と言えば当たり前なのですが、ピアをローカルに記録する形式だとすぐ古くなってしまうのでダウンロードできない場合が多いという問題も判明してきています。 ここは、トラッカー等から生きているピアを読み込むように仕組みを修正することを考えたほうがよいのかもしれません。
参考画像: 各ファイル名のフォルダ配下に
peer.csv
が作成され、それを読み込んで、IPアドレス名のフォルダにピースがダウンロードされます。