summaryrefslogtreecommitdiff
path: root/libs/tdlib/td/benchmark/bench_http.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/tdlib/td/benchmark/bench_http.cpp')
-rw-r--r--libs/tdlib/td/benchmark/bench_http.cpp78
1 files changed, 0 insertions, 78 deletions
diff --git a/libs/tdlib/td/benchmark/bench_http.cpp b/libs/tdlib/td/benchmark/bench_http.cpp
deleted file mode 100644
index 6958a5b313..0000000000
--- a/libs/tdlib/td/benchmark/bench_http.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// 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/net/HttpOutboundConnection.h"
-#include "td/net/HttpQuery.h"
-
-#include "td/utils/buffer.h"
-#include "td/utils/logging.h"
-#include "td/utils/port/IPAddress.h"
-#include "td/utils/port/SocketFd.h"
-#include "td/utils/Status.h"
-
-#include <atomic>
-#include <limits>
-
-namespace td {
-
-std::atomic<int> counter;
-class HttpClient : public HttpOutboundConnection::Callback {
- void start_up() override {
- IPAddress addr;
- addr.init_ipv4_port("127.0.0.1", 8082).ensure();
- auto fd = SocketFd::open(addr);
- CHECK(fd.is_ok()) << fd.error();
- connection_ =
- create_actor<HttpOutboundConnection>("Connect", fd.move_as_ok(), std::numeric_limits<size_t>::max(), 0, 0,
- ActorOwn<HttpOutboundConnection::Callback>(actor_id(this)));
- yield();
- cnt_ = 100000;
- counter++;
- }
- void tear_down() override {
- if (--counter == 0) {
- Scheduler::instance()->finish();
- }
- }
- void loop() override {
- if (cnt_-- < 0) {
- return stop();
- }
- send_closure(connection_, &HttpOutboundConnection::write_next, BufferSlice("GET / HTTP/1.1\r\n\r\n"));
- send_closure(connection_, &HttpOutboundConnection::write_ok);
- LOG(INFO) << "SEND";
- }
- void handle(HttpQueryPtr result) override {
- loop();
- }
- void on_connection_error(Status error) override {
- LOG(ERROR) << "ERROR: " << error;
- }
-
- ActorOwn<HttpOutboundConnection> connection_;
- int cnt_;
-};
-
-int main() {
- SET_VERBOSITY_LEVEL(VERBOSITY_NAME(ERROR));
- auto scheduler = make_unique<ConcurrentScheduler>();
- scheduler->init(0);
- scheduler->create_actor_unsafe<HttpClient>(0, "Client1").release();
- scheduler->create_actor_unsafe<HttpClient>(0, "Client2").release();
- scheduler->start();
- while (scheduler->run_main(10)) {
- // empty
- }
- scheduler->finish();
- return 0;
-}
-} // namespace td
-
-int main() {
- return td::main();
-}