#define MAILBOX_NAME_SIZE 10
static int nb_bits = 16;
-static int nb_keys = 0;
static int timeout = 50;
static int max_simulation_time = 1000;
extern long int smx_total_comms;
-
-static int domain_mask = pow(2, DOMAIN_SIZE) - 1;
-
typedef struct s_node {
int id; //128bits generated random(2^128 -1)
int known_id;
state_t state;
} s_task_data_t, *task_data_t;
+
static void print_node(node_t node);
static void print_node_id(node_t node);
static void print_node_neighborood_set(node_t node);
/**
* Get the specific level of a node id
*/
+int domain_mask = 0;
static int domain(int a, int level) {
+ if (domain_mask == 0)
+ domain_mask = pow(2, DOMAIN_SIZE) - 1;
int shift = (LEVELS_COUNT-level-1)*DOMAIN_SIZE;
return (a >> shift) & domain_mask;
}
static int closest_in_namespace_set(node_t node, int dest) {
int best_dist;
int res = -1;
- if (node->namespace_set[NAMESPACE_SIZE-1] <= dest & dest <= node->namespace_set[0]) {
+ if ((node->namespace_set[NAMESPACE_SIZE-1] <= dest) & (dest <= node->namespace_set[0])) {
best_dist = abs(node->id - dest);
res = node->id;
int i, dist;
max = -1;
for (i=0; i<=NAMESPACE_SIZE; i++) {
j = task_namespace_set[i];
- printf("%08x %08x | ", j, curr_namespace_set[i]);
+ if (i<NAMESPACE_SIZE)
+ printf("%08x %08x | ", j, curr_namespace_set[i]);
if (j != -1 && j < node->id) min = i;
if (j != -1 && max == -1 && j > node->id) max = i;
}
* - the time to sleep before I join (except for the first node)
* - the deadline time
*/
-int node(int argc, char *argv[])
+static int node(int argc, char *argv[])
{
double init_time = MSG_get_clock();
msg_task_t task_received = NULL;
}
print_node(&node);
}
+ return 1;
}
/*