/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
library/cpp/neh/multi.cpp
35 строк
970 B
qkrorlqr
Initial NBS OpenSource export
28 апр 2023, 21:54
28 апр 2023, 21:54
783a858
Код
Авторство
О чём код?
#include "rpc.h" #include "multi.h" #include "location.h" #include "factory.h" #include <util/string/cast.h> #include <util/generic/hash.h> using namespace NNeh; namespace { namespace NMulti { class TRequester: public IRequester { public: inline TRequester(const TListenAddrs& addrs, IOnRequest* cb) { for (const auto& addr : addrs) { TParsedLocation loc(addr); IRequesterRef& req = R_[ToString(loc.Scheme) + ToString(loc.GetPort())]; if (!req) { req = ProtocolFactory()->Protocol(loc.Scheme)->CreateRequester(cb, loc); } } } private: typedef THashMap<TString, IRequesterRef> TRequesters; TRequesters R_; }; } } IRequesterRef NNeh::MultiRequester(const TListenAddrs& addrs, IOnRequest* cb) { return new NMulti::TRequester(addrs, cb); }