/* Check whether all group members have been probed */
- if (g->status != FLX_ENTRY_GROUP_REGISTERING || g->n_probing > 0)
+ if (g->state != FLX_ENTRY_GROUP_REGISTERING || g->n_probing > 0)
return;
- flx_entry_group_run_callback(g, g->status = FLX_ENTRY_GROUP_ESTABLISHED);
+ flx_entry_group_change_state(g, FLX_ENTRY_GROUP_ESTABLISHED);
if (g->dead)
return;
a->entry->group->n_probing--;
}
- if (a->entry->group && a->entry->group->status == FLX_ENTRY_GROUP_REGISTERING)
+ if (a->entry->group && a->entry->group->state == FLX_ENTRY_GROUP_REGISTERING)
a->state = FLX_WAITING;
else {
a->state = FLX_ANNOUNCING;
a->state = FLX_PROBING;
else if (!(e->flags & FLX_ENTRY_NOANNOUNCE)) {
- if (!e->group || e->group->status == FLX_ENTRY_GROUP_ESTABLISHED)
+ if (!e->group || e->group->state == FLX_ENTRY_GROUP_ESTABLISHED)
a->state = FLX_ANNOUNCING;
else
a->state = FLX_WAITING;
void flx_goodbye_entry(flxServer *s, flxEntry *e, gboolean goodbye) {
g_assert(s);
g_assert(e);
- g_assert(!e->dead);
g_message("goodbye entry: %p", e);
- if (goodbye)
+ if (goodbye && !e->dead)
flx_interface_monitor_walk(s->monitor, 0, AF_UNSPEC, send_goodbye_callback, e);
while (e->announcements)