MCPcopy Create free account
hub / github.com/FoundationDB/fdb-document-layer / advance

Method advance

src/BufferedConnection.actor.cpp:195–213  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

193}
194
195void BufferedConnection::advance(int count) {
196 ASSERT(count <= self->total_bytes.get());
197
198 while (count) {
199 int to_remove = std::min(count, BCBlock::DATA_SIZE - self->buffer_begin_offset);
200
201 self->desired_bytes.set(self->desired_bytes.get() - to_remove);
202 self->total_bytes.set(self->total_bytes.get() - to_remove);
203
204 self->buffer_begin_offset += to_remove;
205 if (self->buffer_begin_offset == BCBlock::DATA_SIZE) {
206 self->deadlist.push_back(self->buffer.front());
207 self->buffer.pop_front();
208 self->buffer_begin_offset = 0;
209 }
210
211 count -= to_remove;
212 }
213}
214
215void BufferedConnection::pop(int count) {
216 while (count) {

Callers 3

DocLayer.actor.cppFile · 0.80
Future<Void> doReadFunction · 0.80

Calls 2

getMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected