struct GNUNET_MQ_Envelope *e;
struct ClientCallMessage *ccm;
+ GNUNET_break (NULL != call->gns_lookup);
+ GNUNET_break (CS_LOOKUP == call->gns_lookup);
call->gns_lookup = NULL;
for (i=0;i<rd_count;i++)
{
}
call->state = CS_SHUTDOWN;
call->client = GNUNET_CLIENT_connect ("conversation", call->cfg);
- if (NULL == call->client)
+ if (NULL == call->client);
return;
+ call->event_handler (call->event_handler_cls,
+ GNUNET_CONVERSATION_EC_CALL_ERROR);
call->mq = GNUNET_MQ_queue_for_connection_client (call->client,
handlers,
&call_error_handler,
_("Connection to `%s' resumed (by other user)\n"),
peer_name);
break;
+ case GNUNET_CONVERSATION_EC_CALL_ERROR:
+ FPRINTF (stdout,
+ _("Error with the call, restarting it\n"));
+ call_state = CS_RESOLVING;
+ break;
}
}
* both sides can independently suspend and resume calls; a call is
* only "working" of both sides are active.
*/
- GNUNET_CONVERSATION_EC_CALL_RESUMED
+ GNUNET_CONVERSATION_EC_CALL_RESUMED,
+
+ /**
+ * We had an error handing the call, and are now restarting it
+ * (back to lookup). This happens, for example, if the peer
+ * is restarted during a call.
+ */
+ GNUNET_CONVERSATION_EC_CALL_ERROR
};