aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/http/client/scheduler.h
diff options
context:
space:
mode:
authorqrort <qrort@yandex-team.com>2022-12-02 11:31:25 +0300
committerqrort <qrort@yandex-team.com>2022-12-02 11:31:25 +0300
commitb1f4ffc9c8abff3ba58dc1ec9a9f92d2f0de6806 (patch)
tree2a23209faf0fea5586a6d4b9cee60d1b318d29fe /library/cpp/http/client/scheduler.h
parent559174a9144de40d6bb3997ea4073c82289b4974 (diff)
downloadydb-b1f4ffc9c8abff3ba58dc1ec9a9f92d2f0de6806.tar.gz
remove kikimr/driver DEPENDS
Diffstat (limited to 'library/cpp/http/client/scheduler.h')
-rw-r--r--library/cpp/http/client/scheduler.h47
1 files changed, 0 insertions, 47 deletions
diff --git a/library/cpp/http/client/scheduler.h b/library/cpp/http/client/scheduler.h
deleted file mode 100644
index 6700d7cee90..00000000000
--- a/library/cpp/http/client/scheduler.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#pragma once
-
-#include "request.h"
-
-#include <util/generic/ptr.h>
-#include <util/generic/queue.h>
-#include <util/generic/strbuf.h>
-#include <util/system/mutex.h>
-
-namespace NHttp {
- using namespace NHttpFetcher;
-
- // Асинхронный механизм скачивания.
- // Несколько документов одновременно.
- // - несколько потоков
- // - контроль нагрузки на хост => один объект на приложение.
- // Редиректы
- // Отмена запроса по таймеру.
-
- class IHostsPolicy {
- public:
- virtual ~IHostsPolicy() = default;
-
- //! Максимальное количество одновременных соединений к хосту.
- virtual size_t GetMaxHostConnections(const TStringBuf& host) const = 0;
- };
-
- //! Управляет процессом скачивания документа по заданному урлу.
- class TScheduler {
- // host loading
- // redirects
- public:
- TScheduler();
-
- //! Получить запрос на скачивание.
- TFetchRequestRef Extract();
-
- //! Поместить запрос в очередь на скачивание.
- void Schedule(TFetchRequestRef req);
-
- private:
- THolder<IHostsPolicy> HostsPolicy_;
- TMutex Lock_;
- TQueue<TFetchRequestRef> RequestQueue_;
- };
-
-}