ダウンロード機能

2日間の休みがもらえたので、作り直す前にcoreにダウンロードやアップロードなど基本的な機能を一度実装しておこうと思う。
初めての実装だと、作った後にアレはまずかった…なんてことになって、また作り直しにならないように…。
(もちろん、作り前にきちんと考えているのだけど、実際に作っている段階でいろいろと思うことが出てくるの)
今のところ、小さなテキストファイルが取れればOK的なものにするつもりだけど、大きいファイルのDL実験も必要だなぁ…

一応、Winny通信プロトコルを調べながらライブラリを作っていた時にダウンロードの確認も行っているので、ダウンロード状況の管理さえできれば、そう難しくないはず。
機能制限はUI側で行い、core側ではしない予定(うまく動く、動かないは別…)。

  • 追記

少し作ってみてて気づいたこと。
Winnyライブラリ(自称)へノードタスクの持っている関数を一部移動させる。
=> ダウンローダー、アップローダーで使いたい

タウンロード機能は、登録されたダウンロード予定ファイルを管理する常駐タスクとダウンロードを行うワーカーで構成する。
関連して、キャッシュファイル管理機能が必要。(重要)