現在、CLI Libtorrent ラッパーであるRagnarを使用しています。
私はレンガの壁にぶつかりました。おそらく、私が使用しているラッパーの実装上の欠陥であるか、単に Libtorrent API ドキュメントを誤解しているだけですが、現在のセッション状態データを適切に保存/ロードする方法がわかりません.
私の現在の目標は、私が最もよく述べることができるようtorrent_handles
に、現在のセッションですべてを保存することです。これにより、作業中の torrent クライアントを次に実行するときに、起動時にそれらを自動的にロードし、ダウンロード/シードを再開できます。
セッション状態を保存してこれを行うべきかどうかはまだわかりません。APIドキュメントの文言によると:
save_state に渡される flags 引数を使用して、保存するセッション状態の部分をフィルタリングできます。デフォルトでは、すべての状態が保存されます (個々の torrent を除く)。
しかし、関連するフラグが表示されませんindividual torrents
:
enum save_state_flags_t
{
save_settings = 0x001,
save_dht_settings = 0x002,
save_dht_state = 0x004,
save_proxy = 0x008,
save_i2p_proxy = 0x010,
save_encryption_settings = 0x020,
save_as_map = 0x040,
save_feeds = 0x080
};
また、ラッパーは現在、これらのフラグを受け入れないようにハードコードされています。
cli::array<byte>^ Session::SaveState()
{
libtorrent::entry entry;
this->_session->save_state(entry);
return Utils::GetByteArrayFromLibtorrentEntry(entry);
}
これは簡単に修正できるはずですが、何か不足していますか? 間違ったメカニズムで保存しようとしていますか?