Delay HTTPDownloader dtor until current session finishes

This commit is contained in:
Devon White
2020-08-14 15:45:56 -04:00
committed by manojsdoshi
parent e1a2939f89
commit f8a0ef8f87
8 changed files with 91 additions and 68 deletions

View File

@@ -80,19 +80,22 @@ class DatabaseDownloader_test : public beast::unit_test::suite
{
test::StreamSink sink_;
beast::Journal journal_;
// The DatabaseDownloader must be created as shared_ptr
// because it uses shared_from_this
std::shared_ptr<DatabaseDownloader> ptr_;
Downloader(jtx::Env& env)
: journal_{sink_}
, ptr_{std::make_shared<DatabaseDownloader>(
, ptr_{make_DatabaseDownloader(
env.app().getIOService(),
journal_,
env.app().config())}
env.app().config(),
journal_)}
{
}
~Downloader()
{
ptr_->onStop();
}
DatabaseDownloader*
operator->()
{