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

Method ProcessResponsesData

library/cpp/neh/http2.cpp:1780–1796  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1778 }
1779
1780 void ProcessResponsesData() {
1781 // process responses data queue, send response (if already have next PrimaryResponse_)
1782 TResponseDataRef rd;
1783 while (ResponsesDataQueue_.Dequeue(&rd)) {
1784 ResponsesData_[rd->RequestId_] = rd;
1785 }
1786 TAtomicBase requestId = AtomicGet(PrimaryResponse_);
1787 if (requestId) {
1788 THashMap<TAtomicBase, TResponseDataRef>::iterator it = ResponsesData_.find(requestId);
1789 if (it != ResponsesData_.end()) {
1790 // has next primary response
1791 rd = it->second;
1792 ResponsesData_.erase(it);
1793 AS_->AsyncWrite(rd->Data_, std::bind(&TConn::OnSend, SelfRef(), _1, _2, _3), THttp2Options::ServerOutputDeadline);
1794 }
1795 }
1796 }
1797
1798 private:
1799 void SendData(TAtomicBase requestId, TTcpSocket::TSendedData sd) {

Callers

nothing calls this directly

Calls 6

AtomicGetFunction · 0.50
DequeueMethod · 0.45
findMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45
AsyncWriteMethod · 0.45

Tested by

no test coverage detected