add a factory method for creating hdfs env

This commit is contained in:
Shu Zhang 2015-12-23 17:26:50 -08:00
parent b9f77ba12b
commit 4fd23fb130
2 changed files with 14 additions and 0 deletions

View File

@ -947,6 +947,10 @@ class WritableFileWrapper : public WritableFile {
// *base_env must remain live while the result is in use.
Env* NewMemEnv(Env* base_env);
// Returns a new environment that is used for HDFS environment.
// This is a factory method for HdfsEnv declared in hdfs/env_hdfs.h
Status NewHdfsEnv(Env** hdfs_env, const std::string& fsname);
} // namespace rocksdb
#endif // STORAGE_ROCKSDB_INCLUDE_ENV_H_

View File

@ -594,6 +594,11 @@ Status HdfsEnv::NewLogger(const std::string& fname,
return Status::OK();
}
// The factory method for creating an HDFS Env
Status NewHdfsEnv(Env** hdfs_env, const std::string& fsname) {
*hdfs_env = new HdfsEnv(fsname);
return Status::OK();
}
} // namespace rocksdb
#endif // ROCKSDB_HDFS_FILE_C
@ -607,6 +612,11 @@ namespace rocksdb {
const EnvOptions& options) {
return Status::NotSupported("Not compiled with hdfs support");
}
Status NewHdfsEnv(Env** hdfs_env, const std::string& fsname) {
return Status::NotSupported("Not compiled with hdfs support");
}
}
#endif