MCPcopy Create free account
hub / github.com/catboost/catboost / Request

Method Request

library/cpp/neh/multiclient.cpp:205–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203
204 public:
205 THandleRef Request(const TRequest& request) override {
206 TIntrusivePtr<TRequestSupervisor> rs(new TRequestSupervisor(request, this));
207 THandleRef h;
208 try {
209 rs->Ref();
210 h = NNeh::Request(request.Msg, rs.Get());
211 //accurately handle race when processing new request event
212 //(we already can receive response (call OnNotify) before we schedule info about new request here)
213 } catch (...) {
214 rs->UnRef();
215 throw;
216 }
217 rs->OnMakeRequest(h);
218 ScheduleRequest(rs, h, request.Deadline);
219 return h;
220 }
221
222 bool Wait(TEvent& ev, const TInstant deadline_ = TInstant::Max()) override {
223 while (!Interrupt_) {

Callers 1

RequestMethod · 0.45

Calls 5

OnMakeRequestMethod · 0.80
RequestFunction · 0.70
RefMethod · 0.45
GetMethod · 0.45
UnRefMethod · 0.45

Tested by

no test coverage detected