Esempio n. 1
0
static void fill(pcu_order o, pcu_aa_tree t)
{
  if (pcu_aa_empty(t))
    return;
  fill(o, t->left);
  o->array[o->at++] = (struct message*) t;
  fill(o, t->right);
}
Esempio n. 2
0
static bool done_sending_peers(pcu_aa_tree t)
{
  if (pcu_aa_empty(t))
    return true;
  pcu_msg_peer* peer;
  peer = (pcu_msg_peer*)t;
  return pcu_mpi_done(&(peer->message))
    && done_sending_peers(t->left)
    && done_sending_peers(t->right);
}
Esempio n. 3
0
static void send_peers(pcu_aa_tree t)
{
  if (pcu_aa_empty(t))
    return;
  pcu_msg_peer* peer;
  peer = (pcu_msg_peer*)t;
  pcu_mpi_send(&(peer->message),pcu_user_comm);
  send_peers(t->left);
  send_peers(t->right);
}
Esempio n. 4
0
static void free_messages(pcu_aa_tree* t)
{
  if (pcu_aa_empty(*t))
    return;
  free_messages(&((*t)->left));
  free_messages(&((*t)->right));
  struct message* m;
  m = (struct message*) *t;
  free_message(m);
  pcu_make_aa(t);
}
Esempio n. 5
0
static void free_peers(pcu_aa_tree* t)
{
  if (pcu_aa_empty(*t))
    return;
  free_peers(&((*t)->left));
  free_peers(&((*t)->right));
  pcu_msg_peer* peer;
  peer = (pcu_msg_peer*) *t;
  pcu_free_message(&(peer->message));
  noto_free(peer);
  pcu_make_aa(t);
}