Loading ifs/include/preload/ipc_types.hpp +3 −3 Original line number Diff line number Diff line Loading @@ -9,9 +9,9 @@ MERCURY_GEN_PROC(ipc_res_out_t, ((hg_bool_t) (res))) // generic return type MERCURY_GEN_PROC(rpc_minimal_in_tt, ((int32_t) (input))) MERCURY_GEN_PROC(rpc_minimal_out_tt, ((int32_t) (output))) //MERCURY_GEN_PROC(rpc_minimal_in_tt, ((int32_t) (input))) // //MERCURY_GEN_PROC(rpc_minimal_out_tt, ((int32_t) (output))) MERCURY_GEN_PROC(ipc_config_in_t, ((int32_t) (dummy))) Loading ifs/include/preload/margo_ipc.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ #include <preload/preload.hpp> #include <preload/ipc_types.hpp> void send_minimal_rpc(const hg_id_t minimal_id); void send_minimal_ipc(const hg_id_t minimal_id); bool ipc_send_get_fs_config(const hg_id_t ipc_get_config_id); Loading ifs/include/rpc/rpc_defs.hpp +6 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,12 @@ #ifndef LFS_RPC_DEFS_HPP #define LFS_RPC_DEFS_HPP #include "../../main.hpp" extern "C" { #include <mercury_types.h> #include <mercury_proc_string.h> #include <margo.h> } //#include "../../main.hpp" /* visible API for RPC operations */ Loading ifs/include/rpc/rpc_types.hpp +6 −2 Original line number Diff line number Diff line Loading @@ -5,8 +5,12 @@ #ifndef LFS_RPC_TYPES_HPP #define LFS_RPC_TYPES_HPP #include "../../main.hpp" extern "C" { #include <mercury_types.h> #include <mercury_proc_string.h> #include <margo.h> } //#include "../../main.hpp" /* visible API for RPC data types used in RPCS */ Loading ifs/src/daemon/adafs_daemon.cpp +63 −63 Original line number Diff line number Diff line Loading @@ -73,8 +73,8 @@ void init_environment() { assert(err); err = init_ipc_server(); assert(err); err = init_rpc_client(); assert(err); // err = init_rpc_client(); // assert(err); // TODO set metadata configurations. these have to go into a user configurable file that is parsed here ADAFS_DATA->atime_state(false); ADAFS_DATA->mtime_state(false); Loading Loading @@ -287,49 +287,49 @@ bool init_rpc_server() { return true; } bool init_rpc_client() { string protocol_port = RPC_PROTOCOL; ADAFS_DATA->spdlogger()->info("Initializing Mercury client ..."); /* MERCURY PART */ // Init Mercury layer (must be finalized when finished) hg_class_t* hg_class; hg_context_t* hg_context; hg_class = HG_Init(protocol_port.c_str(), HG_FALSE); if (hg_class == nullptr) { ADAFS_DATA->spdlogger()->error("HG_Init() Failed to init Mercury client layer"); return false; } // Create a new Mercury context (must be destroyed when finished) hg_context = HG_Context_create(hg_class); if (hg_context == nullptr) { ADAFS_DATA->spdlogger()->error("HG_Context_create() Failed to create Mercury client context"); HG_Finalize(hg_class); return false; } ADAFS_DATA->spdlogger()->info("Success."); /* MARGO PART */ ADAFS_DATA->spdlogger()->info("Initializing Margo client ..."); // Start Margo auto mid = margo_init(1, 16, hg_context); if (mid == MARGO_INSTANCE_NULL) { ADAFS_DATA->spdlogger()->info("[ERR]: margo_init failed to initialize the Margo client"); HG_Context_destroy(hg_context); HG_Finalize(hg_class); return false; } ADAFS_DATA->spdlogger()->info("Success."); // Put context and class into RPC_data object RPC_DATA->client_hg_class(hg_class); RPC_DATA->client_hg_context(hg_context); RPC_DATA->client_mid(mid); register_client_rpcs(); return true; } //bool init_rpc_client() { // string protocol_port = RPC_PROTOCOL; // ADAFS_DATA->spdlogger()->info("Initializing Mercury client ..."); // /* MERCURY PART */ // // Init Mercury layer (must be finalized when finished) // hg_class_t* hg_class; // hg_context_t* hg_context; // hg_class = HG_Init(protocol_port.c_str(), HG_FALSE); // if (hg_class == nullptr) { // ADAFS_DATA->spdlogger()->error("HG_Init() Failed to init Mercury client layer"); // return false; // } // // Create a new Mercury context (must be destroyed when finished) // hg_context = HG_Context_create(hg_class); // if (hg_context == nullptr) { // ADAFS_DATA->spdlogger()->error("HG_Context_create() Failed to create Mercury client context"); // HG_Finalize(hg_class); // return false; // } // ADAFS_DATA->spdlogger()->info("Success."); // // /* MARGO PART */ // ADAFS_DATA->spdlogger()->info("Initializing Margo client ..."); // // Start Margo // auto mid = margo_init(1, 16, // hg_context); // if (mid == MARGO_INSTANCE_NULL) { // ADAFS_DATA->spdlogger()->info("[ERR]: margo_init failed to initialize the Margo client"); // HG_Context_destroy(hg_context); // HG_Finalize(hg_class); // return false; // } // ADAFS_DATA->spdlogger()->info("Success."); // // // Put context and class into RPC_data object // RPC_DATA->client_hg_class(hg_class); // RPC_DATA->client_hg_context(hg_context); // RPC_DATA->client_mid(mid); // // register_client_rpcs(); // // return true; //} void register_server_ipcs() { auto hg_class = RPC_DATA->server_ipc_hg_class(); Loading @@ -354,21 +354,21 @@ void register_server_rpcs() { MERCURY_REGISTER(hg_class, "rpc_srv_read_data", rpc_read_data_in_t, rpc_data_out_t, rpc_srv_read_data_handler); } /** * Register rpcs for the client and add the rpc id to rpc_data * @param hg_class */ void register_client_rpcs() { auto hg_class = RPC_DATA->client_hg_class(); RPC_DATA->rpc_minimal_id(MERCURY_REGISTER(hg_class, "rpc_minimal", rpc_minimal_in_t, rpc_minimal_out_t, nullptr)); RPC_DATA->rpc_srv_create_node_id( MERCURY_REGISTER(hg_class, "rpc_srv_create_node", rpc_create_node_in_t, rpc_res_out_t, nullptr)); RPC_DATA->rpc_srv_attr_id( MERCURY_REGISTER(hg_class, "rpc_srv_attr", rpc_get_attr_in_t, rpc_get_attr_out_t, nullptr)); RPC_DATA->rpc_srv_remove_node_id( MERCURY_REGISTER(hg_class, "rpc_srv_remove_node", rpc_remove_node_in_t, rpc_res_out_t, nullptr)); RPC_DATA->rpc_srv_write_data_id( MERCURY_REGISTER(hg_class, "rpc_srv_write_data", rpc_write_data_in_t, rpc_data_out_t, nullptr)); RPC_DATA->rpc_srv_read_data_id( MERCURY_REGISTER(hg_class, "rpc_srv_read_data", rpc_read_data_in_t, rpc_data_out_t, nullptr)); } No newline at end of file ///** // * Register rpcs for the client and add the rpc id to rpc_data // * @param hg_class // */ //void register_client_rpcs() { // auto hg_class = RPC_DATA->client_hg_class(); // RPC_DATA->rpc_minimal_id(MERCURY_REGISTER(hg_class, "rpc_minimal", rpc_minimal_in_t, rpc_minimal_out_t, nullptr)); // RPC_DATA->rpc_srv_create_node_id( // MERCURY_REGISTER(hg_class, "rpc_srv_create_node", rpc_create_node_in_t, rpc_res_out_t, nullptr)); // RPC_DATA->rpc_srv_attr_id( // MERCURY_REGISTER(hg_class, "rpc_srv_attr", rpc_get_attr_in_t, rpc_get_attr_out_t, nullptr)); // RPC_DATA->rpc_srv_remove_node_id( // MERCURY_REGISTER(hg_class, "rpc_srv_remove_node", rpc_remove_node_in_t, rpc_res_out_t, nullptr)); // RPC_DATA->rpc_srv_write_data_id( // MERCURY_REGISTER(hg_class, "rpc_srv_write_data", rpc_write_data_in_t, rpc_data_out_t, nullptr)); // RPC_DATA->rpc_srv_read_data_id( // MERCURY_REGISTER(hg_class, "rpc_srv_read_data", rpc_read_data_in_t, rpc_data_out_t, nullptr)); //} No newline at end of file Loading
ifs/include/preload/ipc_types.hpp +3 −3 Original line number Diff line number Diff line Loading @@ -9,9 +9,9 @@ MERCURY_GEN_PROC(ipc_res_out_t, ((hg_bool_t) (res))) // generic return type MERCURY_GEN_PROC(rpc_minimal_in_tt, ((int32_t) (input))) MERCURY_GEN_PROC(rpc_minimal_out_tt, ((int32_t) (output))) //MERCURY_GEN_PROC(rpc_minimal_in_tt, ((int32_t) (input))) // //MERCURY_GEN_PROC(rpc_minimal_out_tt, ((int32_t) (output))) MERCURY_GEN_PROC(ipc_config_in_t, ((int32_t) (dummy))) Loading
ifs/include/preload/margo_ipc.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ #include <preload/preload.hpp> #include <preload/ipc_types.hpp> void send_minimal_rpc(const hg_id_t minimal_id); void send_minimal_ipc(const hg_id_t minimal_id); bool ipc_send_get_fs_config(const hg_id_t ipc_get_config_id); Loading
ifs/include/rpc/rpc_defs.hpp +6 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,12 @@ #ifndef LFS_RPC_DEFS_HPP #define LFS_RPC_DEFS_HPP #include "../../main.hpp" extern "C" { #include <mercury_types.h> #include <mercury_proc_string.h> #include <margo.h> } //#include "../../main.hpp" /* visible API for RPC operations */ Loading
ifs/include/rpc/rpc_types.hpp +6 −2 Original line number Diff line number Diff line Loading @@ -5,8 +5,12 @@ #ifndef LFS_RPC_TYPES_HPP #define LFS_RPC_TYPES_HPP #include "../../main.hpp" extern "C" { #include <mercury_types.h> #include <mercury_proc_string.h> #include <margo.h> } //#include "../../main.hpp" /* visible API for RPC data types used in RPCS */ Loading
ifs/src/daemon/adafs_daemon.cpp +63 −63 Original line number Diff line number Diff line Loading @@ -73,8 +73,8 @@ void init_environment() { assert(err); err = init_ipc_server(); assert(err); err = init_rpc_client(); assert(err); // err = init_rpc_client(); // assert(err); // TODO set metadata configurations. these have to go into a user configurable file that is parsed here ADAFS_DATA->atime_state(false); ADAFS_DATA->mtime_state(false); Loading Loading @@ -287,49 +287,49 @@ bool init_rpc_server() { return true; } bool init_rpc_client() { string protocol_port = RPC_PROTOCOL; ADAFS_DATA->spdlogger()->info("Initializing Mercury client ..."); /* MERCURY PART */ // Init Mercury layer (must be finalized when finished) hg_class_t* hg_class; hg_context_t* hg_context; hg_class = HG_Init(protocol_port.c_str(), HG_FALSE); if (hg_class == nullptr) { ADAFS_DATA->spdlogger()->error("HG_Init() Failed to init Mercury client layer"); return false; } // Create a new Mercury context (must be destroyed when finished) hg_context = HG_Context_create(hg_class); if (hg_context == nullptr) { ADAFS_DATA->spdlogger()->error("HG_Context_create() Failed to create Mercury client context"); HG_Finalize(hg_class); return false; } ADAFS_DATA->spdlogger()->info("Success."); /* MARGO PART */ ADAFS_DATA->spdlogger()->info("Initializing Margo client ..."); // Start Margo auto mid = margo_init(1, 16, hg_context); if (mid == MARGO_INSTANCE_NULL) { ADAFS_DATA->spdlogger()->info("[ERR]: margo_init failed to initialize the Margo client"); HG_Context_destroy(hg_context); HG_Finalize(hg_class); return false; } ADAFS_DATA->spdlogger()->info("Success."); // Put context and class into RPC_data object RPC_DATA->client_hg_class(hg_class); RPC_DATA->client_hg_context(hg_context); RPC_DATA->client_mid(mid); register_client_rpcs(); return true; } //bool init_rpc_client() { // string protocol_port = RPC_PROTOCOL; // ADAFS_DATA->spdlogger()->info("Initializing Mercury client ..."); // /* MERCURY PART */ // // Init Mercury layer (must be finalized when finished) // hg_class_t* hg_class; // hg_context_t* hg_context; // hg_class = HG_Init(protocol_port.c_str(), HG_FALSE); // if (hg_class == nullptr) { // ADAFS_DATA->spdlogger()->error("HG_Init() Failed to init Mercury client layer"); // return false; // } // // Create a new Mercury context (must be destroyed when finished) // hg_context = HG_Context_create(hg_class); // if (hg_context == nullptr) { // ADAFS_DATA->spdlogger()->error("HG_Context_create() Failed to create Mercury client context"); // HG_Finalize(hg_class); // return false; // } // ADAFS_DATA->spdlogger()->info("Success."); // // /* MARGO PART */ // ADAFS_DATA->spdlogger()->info("Initializing Margo client ..."); // // Start Margo // auto mid = margo_init(1, 16, // hg_context); // if (mid == MARGO_INSTANCE_NULL) { // ADAFS_DATA->spdlogger()->info("[ERR]: margo_init failed to initialize the Margo client"); // HG_Context_destroy(hg_context); // HG_Finalize(hg_class); // return false; // } // ADAFS_DATA->spdlogger()->info("Success."); // // // Put context and class into RPC_data object // RPC_DATA->client_hg_class(hg_class); // RPC_DATA->client_hg_context(hg_context); // RPC_DATA->client_mid(mid); // // register_client_rpcs(); // // return true; //} void register_server_ipcs() { auto hg_class = RPC_DATA->server_ipc_hg_class(); Loading @@ -354,21 +354,21 @@ void register_server_rpcs() { MERCURY_REGISTER(hg_class, "rpc_srv_read_data", rpc_read_data_in_t, rpc_data_out_t, rpc_srv_read_data_handler); } /** * Register rpcs for the client and add the rpc id to rpc_data * @param hg_class */ void register_client_rpcs() { auto hg_class = RPC_DATA->client_hg_class(); RPC_DATA->rpc_minimal_id(MERCURY_REGISTER(hg_class, "rpc_minimal", rpc_minimal_in_t, rpc_minimal_out_t, nullptr)); RPC_DATA->rpc_srv_create_node_id( MERCURY_REGISTER(hg_class, "rpc_srv_create_node", rpc_create_node_in_t, rpc_res_out_t, nullptr)); RPC_DATA->rpc_srv_attr_id( MERCURY_REGISTER(hg_class, "rpc_srv_attr", rpc_get_attr_in_t, rpc_get_attr_out_t, nullptr)); RPC_DATA->rpc_srv_remove_node_id( MERCURY_REGISTER(hg_class, "rpc_srv_remove_node", rpc_remove_node_in_t, rpc_res_out_t, nullptr)); RPC_DATA->rpc_srv_write_data_id( MERCURY_REGISTER(hg_class, "rpc_srv_write_data", rpc_write_data_in_t, rpc_data_out_t, nullptr)); RPC_DATA->rpc_srv_read_data_id( MERCURY_REGISTER(hg_class, "rpc_srv_read_data", rpc_read_data_in_t, rpc_data_out_t, nullptr)); } No newline at end of file ///** // * Register rpcs for the client and add the rpc id to rpc_data // * @param hg_class // */ //void register_client_rpcs() { // auto hg_class = RPC_DATA->client_hg_class(); // RPC_DATA->rpc_minimal_id(MERCURY_REGISTER(hg_class, "rpc_minimal", rpc_minimal_in_t, rpc_minimal_out_t, nullptr)); // RPC_DATA->rpc_srv_create_node_id( // MERCURY_REGISTER(hg_class, "rpc_srv_create_node", rpc_create_node_in_t, rpc_res_out_t, nullptr)); // RPC_DATA->rpc_srv_attr_id( // MERCURY_REGISTER(hg_class, "rpc_srv_attr", rpc_get_attr_in_t, rpc_get_attr_out_t, nullptr)); // RPC_DATA->rpc_srv_remove_node_id( // MERCURY_REGISTER(hg_class, "rpc_srv_remove_node", rpc_remove_node_in_t, rpc_res_out_t, nullptr)); // RPC_DATA->rpc_srv_write_data_id( // MERCURY_REGISTER(hg_class, "rpc_srv_write_data", rpc_write_data_in_t, rpc_data_out_t, nullptr)); // RPC_DATA->rpc_srv_read_data_id( // MERCURY_REGISTER(hg_class, "rpc_srv_read_data", rpc_read_data_in_t, rpc_data_out_t, nullptr)); //} No newline at end of file