| 1185 | class TOutputBuffers: public TMultiBuffers { |
| 1186 | public: |
| 1187 | void AddResponse(TRequestId reqId, TData& data) { |
| 1188 | TResponseHeader* hdr = new (Allocate<TResponseHeader>()) TResponseHeader(reqId, TResponseHeader::Success, data.size()); |
| 1189 | ResponseData_.push_back(TAutoPtr<TData>(new TData())); |
| 1190 | TData& movedData = *ResponseData_.back(); |
| 1191 | movedData.swap(data); |
| 1192 | AddPart(hdr, sizeof(TResponseHeader)); |
| 1193 | AddPart(movedData.data(), movedData.size()); |
| 1194 | IOVec_ = TContIOVector(Parts_.data(), Parts_.size()); |
| 1195 | } |
| 1196 | |
| 1197 | void AddError(TRequestId reqId, TResponseHeader::TErrorCode errCode) { |
| 1198 | TResponseHeader* hdr = new (Allocate<TResponseHeader>()) TResponseHeader(reqId, errCode, 0); |