Change mutable ref to pointer so outparams are obvious.
This commit is contained in:
parent
0efcccc06f
commit
22a08b2b4e
|
@ -828,15 +828,15 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void readFromBuffer( StringBuffer& result, int& bytes ) {
|
void readFromBuffer( StringBuffer* result, int* bytes ) {
|
||||||
// extract up to bytes from readBufPage into result
|
// extract up to bytes from readBufPage into result
|
||||||
int len = std::min( readBufPage->payloadSize - readBufPos, bytes );
|
int len = std::min( readBufPage->payloadSize - readBufPos, *bytes );
|
||||||
if (len<=0) return;
|
if (len<=0) return;
|
||||||
|
|
||||||
result.append( StringRef(readBufPage->payload+readBufPos, len) );
|
result->append( StringRef(readBufPage->payload+readBufPos, len) );
|
||||||
|
|
||||||
readBufPos += len;
|
readBufPos += len;
|
||||||
bytes -= len;
|
*bytes -= len;
|
||||||
nextReadLocation += len;
|
nextReadLocation += len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -866,7 +866,7 @@ private:
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
if (self->readBufPage) {
|
if (self->readBufPage) {
|
||||||
self->readFromBuffer( result, bytes );
|
self->readFromBuffer( &result, &bytes );
|
||||||
// if done, return
|
// if done, return
|
||||||
if (!bytes) return result.str;
|
if (!bytes) return result.str;
|
||||||
ASSERT( self->readBufPos == self->readBufPage->payloadSize );
|
ASSERT( self->readBufPos == self->readBufPage->payloadSize );
|
||||||
|
@ -899,7 +899,7 @@ private:
|
||||||
// The fully durable popped point is self->lastPoppedSeq; tell the raw queue that.
|
// The fully durable popped point is self->lastPoppedSeq; tell the raw queue that.
|
||||||
int f; int64_t p;
|
int f; int64_t p;
|
||||||
TEST( self->lastPoppedSeq/sizeof(Page) != self->poppedSeq/sizeof(Page) ); // DiskQueue: Recovery popped position not fully durable
|
TEST( self->lastPoppedSeq/sizeof(Page) != self->poppedSeq/sizeof(Page) ); // DiskQueue: Recovery popped position not fully durable
|
||||||
self->findPhysicalLocation( self->lastPoppedSeq, f, p, "lastPoppedSeq" );
|
self->findPhysicalLocation( self->lastPoppedSeq, &f, &p, "lastPoppedSeq" );
|
||||||
wait(self->rawQueue->setPoppedPage( f, p, self->lastPoppedSeq/sizeof(Page)*sizeof(Page) ));
|
wait(self->rawQueue->setPoppedPage( f, p, self->lastPoppedSeq/sizeof(Page)*sizeof(Page) ));
|
||||||
|
|
||||||
// Writes go at the end of our reads (but on the next page)
|
// Writes go at the end of our reads (but on the next page)
|
||||||
|
@ -948,13 +948,13 @@ private:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int file; int64_t page;
|
int file; int64_t page;
|
||||||
self->findPhysicalLocation( self->poppedSeq, file, page, "poppedSeq" );
|
self->findPhysicalLocation( self->poppedSeq, &file, &page, "poppedSeq" );
|
||||||
self->rawQueue->setStartPage( file, page );
|
self->rawQueue->setStartPage( file, page );
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void findPhysicalLocation( loc_t loc, int& file, int64_t& page, const char* context ) {
|
void findPhysicalLocation( loc_t loc, int* file, int64_t* page, const char* context ) {
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
Page*p = (Page*)recoveryFirstPages.begin();
|
Page*p = (Page*)recoveryFirstPages.begin();
|
||||||
|
|
||||||
|
@ -970,11 +970,11 @@ private:
|
||||||
|
|
||||||
for(int i=recoveryFirstPages.size() / sizeof(Page) - 2; i>=0; i--)
|
for(int i=recoveryFirstPages.size() / sizeof(Page) - 2; i>=0; i--)
|
||||||
if ( p[i].checkHash() && p[i].seq <= (size_t)loc ) {
|
if ( p[i].checkHash() && p[i].seq <= (size_t)loc ) {
|
||||||
file = i;
|
*file = i;
|
||||||
page = (loc - p[i].seq)/sizeof(Page);
|
*page = (loc - p[i].seq)/sizeof(Page);
|
||||||
TraceEvent("FoundPhysicalLocation", dbgid)
|
TraceEvent("FoundPhysicalLocation", dbgid)
|
||||||
.detail("PageIndex", i)
|
.detail("PageIndex", i)
|
||||||
.detail("PageLocation", page)
|
.detail("PageLocation", *page)
|
||||||
.detail("RecoveryFirstPagesSize", recoveryFirstPages.size())
|
.detail("RecoveryFirstPagesSize", recoveryFirstPages.size())
|
||||||
.detail("SizeofPage", sizeof(Page))
|
.detail("SizeofPage", sizeof(Page))
|
||||||
.detail("PageSequence", p[i].seq)
|
.detail("PageSequence", p[i].seq)
|
||||||
|
|
Loading…
Reference in New Issue