| 285 | TIntrusivePtr<TLocalDataBuffer> WriteBuffer; |
| 286 | |
| 287 | void NewRequest(TRemoteQueryProcessor* p, TNetworkRequest* req) override { |
| 288 | CHROMIUM_TRACE_FUNCTION(); |
| 289 | if (req->Url == "wb_copy") { |
| 290 | Y_ASSERT(req->Url == "wb_copy"); |
| 291 | TVector<i64> data; |
| 292 | SerializeFromMem(&req->Data, data); |
| 293 | |
| 294 | TVector<TVector<char>> res; |
| 295 | res.resize(data.size()); |
| 296 | for (int i = 0; i < data.ysize(); ++i) { |
| 297 | WriteBuffer->GetData(data[i], &res[i], TLocalDataBuffer::DO_COPY); |
| 298 | } |
| 299 | |
| 300 | TVector<char> tmp; |
| 301 | SerializeToMem(&tmp, res); |
| 302 | int dataSize = tmp.ysize(); |
| 303 | p->SendReply(req->ReqId, &tmp); |
| 304 | PAR_DEBUG_LOG << "Sending " << dataSize << " bytes from write buffer data" << Endl; |
| 305 | |
| 306 | } else { |
| 307 | Y_ASSERT(0); |
| 308 | } |
| 309 | } |
| 310 | |
| 311 | public: |
| 312 | TWriteBufferHandler(TRemoteQueryProcessor* queryProc) { |
nothing calls this directly
no test coverage detected