Changeset View
Changeset View
Standalone View
Standalone View
src/leveldb/helpers/memenv/memenv.cc
Show First 20 Lines • Show All 170 Lines • ▼ Show 20 Lines | virtual Status Skip(uint64_t n) { | ||||
const uint64_t available = file_->Size() - pos_; | const uint64_t available = file_->Size() - pos_; | ||||
if (n > available) { | if (n > available) { | ||||
n = available; | n = available; | ||||
} | } | ||||
pos_ += n; | pos_ += n; | ||||
return Status::OK(); | return Status::OK(); | ||||
} | } | ||||
virtual std::string GetName() const { return "[memenv]"; } | |||||
private: | private: | ||||
FileState* file_; | FileState* file_; | ||||
uint64_t pos_; | uint64_t pos_; | ||||
}; | }; | ||||
class RandomAccessFileImpl : public RandomAccessFile { | class RandomAccessFileImpl : public RandomAccessFile { | ||||
public: | public: | ||||
explicit RandomAccessFileImpl(FileState* file) : file_(file) { | explicit RandomAccessFileImpl(FileState* file) : file_(file) { | ||||
file_->Ref(); | file_->Ref(); | ||||
} | } | ||||
~RandomAccessFileImpl() { | ~RandomAccessFileImpl() { | ||||
file_->Unref(); | file_->Unref(); | ||||
} | } | ||||
virtual Status Read(uint64_t offset, size_t n, Slice* result, | virtual Status Read(uint64_t offset, size_t n, Slice* result, | ||||
char* scratch) const { | char* scratch) const { | ||||
return file_->Read(offset, n, result, scratch); | return file_->Read(offset, n, result, scratch); | ||||
} | } | ||||
virtual std::string GetName() const { return "[memenv]"; } | |||||
private: | private: | ||||
FileState* file_; | FileState* file_; | ||||
}; | }; | ||||
class WritableFileImpl : public WritableFile { | class WritableFileImpl : public WritableFile { | ||||
public: | public: | ||||
WritableFileImpl(FileState* file) : file_(file) { | WritableFileImpl(FileState* file) : file_(file) { | ||||
file_->Ref(); | file_->Ref(); | ||||
} | } | ||||
~WritableFileImpl() { | ~WritableFileImpl() { | ||||
file_->Unref(); | file_->Unref(); | ||||
} | } | ||||
virtual Status Append(const Slice& data) { | virtual Status Append(const Slice& data) { | ||||
return file_->Append(data); | return file_->Append(data); | ||||
} | } | ||||
virtual Status Close() { return Status::OK(); } | virtual Status Close() { return Status::OK(); } | ||||
virtual Status Flush() { return Status::OK(); } | virtual Status Flush() { return Status::OK(); } | ||||
virtual Status Sync() { return Status::OK(); } | virtual Status Sync() { return Status::OK(); } | ||||
virtual std::string GetName() const { return "[memenv]"; } | |||||
private: | private: | ||||
FileState* file_; | FileState* file_; | ||||
}; | }; | ||||
class NoOpLogger : public Logger { | class NoOpLogger : public Logger { | ||||
public: | public: | ||||
virtual void Logv(const char* format, va_list ap) { } | virtual void Logv(const char* format, va_list ap) { } | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 170 Lines • Show Last 20 Lines |