25 #include <glog/logging.h>
32 #include "metadata_management.h"
44 std::string GetVersion();
138 void Finalize(
bool force_rpc_shutdown =
false);
171 const std::string &blob_name);
189 Status TransferBlob(
const Bucket &src_bkt,
const std::string &src_blob_name,
190 Bucket &dst_bkt,
const std::string &dst_blob_name,
205 std::shared_ptr<api::Hermes>
InitHermes(
const char *config_file = NULL,
206 bool is_daemon =
false,
207 bool is_adapter =
false);
221 std::shared_ptr<api::Hermes>
InitHermes(Config *config,
bool is_daemon =
false,
222 bool is_adapter =
false);
255 std::shared_ptr<api::Hermes>
InitHermesClient(
const char *config_file = NULL);
Definition: hermes_status.h:80
hermes::CommunicationContext comm_
Definition: hermes.h:54
hermes::Arena trans_arena_
Definition: hermes.h:56
bool BucketExists(const std::string &bucket_name)
Returns true if bucket_name exists in this Hermes instance.
Definition: hermes.cc:96
void Finalize(bool force_rpc_shutdown=false)
Shutdown Hermes.
Definition: hermes.cc:127
bool is_initialized
Definition: hermes.h:50
void AppBarrier()
A barrier across all application processes.
Definition: hermes.cc:84
hermes::SharedMemoryContext context_
Definition: hermes.h:53
void * GetAppCommunicator()
Get an application communicator handle.
Definition: hermes.cc:121
void RunDaemon()
Starts a Hermes daemon.
Definition: hermes.cc:141
std::string rpc_server_name_
Definition: hermes.h:62
bool IsFirstRankOnNode()
Returns true if this is the first MPI rank on this node, otherwise false.
Definition: hermes.cc:78
int GetNumProcesses()
Returns the total number of application processes.
Definition: hermes.cc:115
bool BucketContainsBlob(const std::string &bucket_name, const std::string &blob_name)
Check if a given Bucket contains a Blob.
Definition: hermes.cc:88
void RemoteFinalize()
Definition: hermes.cc:137
void FinalizeClient(bool stop_daemon=true)
Shutdown application cores.
Definition: hermes.cc:133
Hermes(SharedMemoryContext context)
Definition: hermes.h:69
bool IsApplicationCore()
Return true if this rank is an application core, otherwise false.
Definition: hermes.cc:72
hermes::RpcContext rpc_
Definition: hermes.h:55
std::string shmem_name_
Definition: hermes.h:60
int GetNodeId()
Return ID of the node this process is running on.
Definition: hermes.cc:109
int GetProcessRank()
Returns the rank of this process.
Definition: hermes.cc:103
Definition: adapter_utils.cc:35
std::shared_ptr< api::Hermes > InitHermesClient(const char *config_file)
Initialize a Hermes instance as a client or adapter.
Definition: hermes.cc:436
std::shared_ptr< api::Hermes > InitHermes(Config *config, bool is_daemon, bool is_adapter)
Definition: hermes.cc:318
void RenameBucket(SharedMemoryContext *context, RpcContext *rpc, BucketID id, const std::string &old_name, const std::string &new_name)
Definition: metadata_management.cc:972
std::shared_ptr< api::Hermes > InitHermesDaemon(char *config_file)
Initialize a Hermes instance as a daemon.
Definition: hermes.cc:443
Definition: memory_management.h:84
Definition: communication.h:35
Definition: buffer_pool.h:273