#include "sds-keyval.h" /* initial implementation requires MPI */ #include #include #include #include "ch-placement.h" #ifndef sds_keyval_group_h #define sds_keyval_group_h #if defined(__cplusplus) extern "C" { #endif typedef struct kvgroup_context_s { kv_context_t *kv_context; margo_instance_id mid; ssg_group_id_t gid; // SSG ID hg_size_t gsize; // size of SSG struct ch_placement_instance *ch_instance; } kvgroup_context_t; static char *kvgroup_protocol(ssg_group_id_t gid) { char *addr_str; int psize = 24; char *protocol = (char*)malloc(psize); memset(protocol, 0, psize); /* figure out protocol to connect with using address information * associated with the SSG group ID */ addr_str = ssg_group_id_get_addr_str(gid); assert(addr_str != NULL); /* we only need to the proto portion of the address to initialize */ for(int i=0; i