| 267 | } |
| 268 | |
| 269 | inline void DoSendCycle(TCont* c) { |
| 270 | TVector<TResponcePtr> responses; |
| 271 | TParts parts; |
| 272 | |
| 273 | while (Dequeue(MQ, responses, 7000)) { |
| 274 | for (size_t i = 0; i < responses.size(); ++i) { |
| 275 | responses[i]->Serialize(parts); |
| 276 | } |
| 277 | |
| 278 | { |
| 279 | TContIOVector iovec(parts.data(), parts.size()); |
| 280 | NCoro::WriteVectorI(c, S, &iovec); |
| 281 | } |
| 282 | |
| 283 | parts.Clear(); |
| 284 | responses.clear(); |
| 285 | } |
| 286 | } |
| 287 | |
| 288 | void RecvCycle(TCont* c) { |
| 289 | TLinkRef self(this); |