diff options
Diffstat (limited to 'protocols/Telegram/tdlib/td/benchmark/wget.cpp')
-rw-r--r-- | protocols/Telegram/tdlib/td/benchmark/wget.cpp | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/protocols/Telegram/tdlib/td/benchmark/wget.cpp b/protocols/Telegram/tdlib/td/benchmark/wget.cpp index dba997e61f..5145f317f1 100644 --- a/protocols/Telegram/tdlib/td/benchmark/wget.cpp +++ b/protocols/Telegram/tdlib/td/benchmark/wget.cpp @@ -1,39 +1,43 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2022 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#include "td/actor/actor.h" -#include "td/actor/PromiseFuture.h" - #include "td/net/HttpQuery.h" #include "td/net/Wget.h" +#include "td/actor/actor.h" +#include "td/actor/ConcurrentScheduler.h" + +#include "td/utils/common.h" #include "td/utils/logging.h" +#include "td/utils/Promise.h" #include "td/utils/Status.h" -#include <memory> -#include <string> - int main(int argc, char *argv[]) { - SET_VERBOSITY_LEVEL(VERBOSITY_NAME(INFO)); + SET_VERBOSITY_LEVEL(VERBOSITY_NAME(DEBUG)); td::VERBOSITY_NAME(fd) = VERBOSITY_NAME(INFO); - std::string url = (argc > 1 ? argv[1] : "https://telegram.org"); - auto scheduler = std::make_unique<td::ConcurrentScheduler>(); - scheduler->init(0); + td::string url = (argc > 1 ? argv[1] : "https://telegram.org"); + auto timeout = 10; + auto ttl = 3; + auto prefer_ipv6 = (argc > 2 && td::string(argv[2]) == "-6"); + auto scheduler = td::make_unique<td::ConcurrentScheduler>(0, 0); scheduler - ->create_actor_unsafe<td::Wget>(0, "Client", td::PromiseCreator::lambda([](td::Result<td::HttpQueryPtr> res) { + ->create_actor_unsafe<td::Wget>(0, "Client", + td::PromiseCreator::lambda([](td::Result<td::unique_ptr<td::HttpQuery>> res) { + if (res.is_error()) { + LOG(FATAL) << res.error(); + } LOG(ERROR) << *res.ok(); td::Scheduler::instance()->finish(); }), - url) + url, td::Auto(), timeout, ttl, prefer_ipv6) .release(); scheduler->start(); while (scheduler->run_main(10)) { // empty } scheduler->finish(); - return 0; } |