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

Method AddRequest

library/cpp/neh/tcp2.cpp:588–601  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

586 class TOutputBuffers: public TMultiBuffers {
587 public:
588 void AddRequest(const TRequestRef& req) {
589 Requests_.push_back(req);
590 if (req->Service().size() > MemPoolReserve_) {
591 TRequestHeader* hdr = new (Allocate<TRequestHeader>()) TRequestHeader(req->ReqId(), req->Service().size(), req->Data().size());
592 AddPart(hdr, sizeof(TRequestHeader));
593 AddPart(req->Service().data(), req->Service().size());
594 } else {
595 TRequestHeader* hdr = new (AllocatePlus<TRequestHeader>(req->Service().size())) TRequestHeader(req->ReqId(), req->Service().size(), req->Data().size());
596 AddPart(hdr, sizeof(TRequestHeader) + req->Service().size());
597 memmove(++hdr, req->Service().data(), req->Service().size());
598 }
599 AddPart(req->Data().data(), req->Data().size());
600 IOVec_ = TContIOVector(Parts_.data(), Parts_.size());
601 }
602
603 void AddCancelRequest(TRequestId reqId) {
604 TCancelHeader* hdr = new (Allocate<TCancelHeader>()) TCancelHeader(reqId);

Callers 1

SendMessagesMethod · 0.45

Calls 8

memmoveFunction · 0.85
ReqIdMethod · 0.80
TContIOVectorClass · 0.50
push_backMethod · 0.45
sizeMethod · 0.45
ServiceMethod · 0.45
DataMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected