ssg-internal.h 833 Bytes
Newer Older
1 2 3 4 5
/*
 * Copyright (c) 2016 UChicago Argonne, LLC
 *
 * See COPYRIGHT in top-level directory.
 */
Jonathan Jenkins's avatar
Jonathan Jenkins committed
6
#pragma once
Jonathan Jenkins's avatar
Jonathan Jenkins committed
7
#include <margo.h>
8
#include <ssg.h>
9

10 11
#if USE_SWIM_FD
#include "swim-fd/swim-fd.h"
12
#endif
Jonathan Jenkins's avatar
Jonathan Jenkins committed
13

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
typedef struct ssg_view ssg_view_t;
typedef struct ssg_member_state ssg_member_state_t;

struct ssg_view
{
    int self_rank;
    int group_size;
    ssg_member_state_t *member_states;
};

struct ssg_member_state
{
    ssg_member_status_t status;
    hg_addr_t addr;
    char *addr_str;
};

Jonathan Jenkins's avatar
Jonathan Jenkins committed
31 32
struct ssg
{
33
    margo_instance_id mid;
34 35 36 37 38 39 40
    ssg_view_t view;
    void *addr_str_buf;
    int addr_str_buf_size;
#if USE_SWIM_FD
    swim_context_t *swim_ctx;
#endif
#if 0
Jonathan Jenkins's avatar
Jonathan Jenkins committed
41 42 43 44 45 46
    hg_id_t barrier_rpc_id;
    int barrier_id;
    int barrier_count;
    ABT_mutex barrier_mutex;
    ABT_cond  barrier_cond;
    ABT_eventual barrier_eventual;
47
#endif
Jonathan Jenkins's avatar
Jonathan Jenkins committed
48
};