31 void Log(
Logger* info_log,
const char* format, ...) {
32 if (info_log != NULL) {
35 info_log->
Logv(format, ap);
41 const std::string& fname,
49 if (s.
ok() && should_sync) {
63 const std::string& fname) {
68 const std::string& fname) {
79 static const int kBufferSize = 8192;
80 char* space =
new char[kBufferSize];
83 s = file->
Read(kBufferSize, &fragment, space);
87 data->append(fragment.
data(), fragment.
size());
88 if (fragment.
empty()) {
Status WriteStringToFileSync(Env *env, const Slice &data, const std::string &fname)
Status WriteStringToFile(Env *env, const Slice &data, const std::string &fname)
static Status NotSupported(const Slice &msg, const Slice &msg2=Slice())
static Status DoWriteStringToFile(Env *env, const Slice &data, const std::string &fname, bool should_sync)
virtual ~RandomAccessFile()
void Log(Logger *info_log, const char *format,...)
virtual Status NewWritableFile(const std::string &fname, WritableFile **result)=0
virtual ~SequentialFile()
virtual void Logv(const char *format, va_list ap)=0
virtual Status NewAppendableFile(const std::string &fname, WritableFile **result)
virtual Status Read(size_t n, Slice *result, char *scratch)=0
virtual Status NewSequentialFile(const std::string &fname, SequentialFile **result)=0
virtual Status Append(const Slice &data)=0
const char * data() const
virtual Status DeleteFile(const std::string &fname)=0
Status ReadFileToString(Env *env, const std::string &fname, std::string *data)