summaryrefslogtreecommitdiff
path: root/libs/tdlib/td/benchmark/wget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/tdlib/td/benchmark/wget.cpp')
-rw-r--r--libs/tdlib/td/benchmark/wget.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/libs/tdlib/td/benchmark/wget.cpp b/libs/tdlib/td/benchmark/wget.cpp
new file mode 100644
index 0000000000..dba997e61f
--- /dev/null
+++ b/libs/tdlib/td/benchmark/wget.cpp
@@ -0,0 +1,39 @@
+//
+// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018
+//
+// 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/utils/logging.h"
+#include "td/utils/Status.h"
+
+#include <memory>
+#include <string>
+
+int main(int argc, char *argv[]) {
+ SET_VERBOSITY_LEVEL(VERBOSITY_NAME(INFO));
+ 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);
+ scheduler
+ ->create_actor_unsafe<td::Wget>(0, "Client", td::PromiseCreator::lambda([](td::Result<td::HttpQueryPtr> res) {
+ LOG(ERROR) << *res.ok();
+ td::Scheduler::instance()->finish();
+ }),
+ url)
+ .release();
+ scheduler->start();
+ while (scheduler->run_main(10)) {
+ // empty
+ }
+ scheduler->finish();
+ return 0;
+}