}
GNUNET_CONFIGURATION_set_value_number (cfg, "TESTBED", "PEERID",
(unsigned long long) peer_id);
- peer = GNUNET_malloc (sizeof (struct Peer));
+
+ GNUNET_CONFIGURATION_set_value_number (cfg, "PATHS", "PEERID",
+ (unsigned long long) peer_id);
+ peer = GNUNET_new (struct Peer);
peer->is_remote = GNUNET_NO;
peer->details.local.cfg = cfg;
peer->id = peer_id;
}
peer->details.local.is_running = GNUNET_NO;
peer_list_add (peer);
- reply =
- GNUNET_malloc (sizeof
- (struct GNUNET_TESTBED_PeerCreateSuccessEventMessage));
+ reply = GNUNET_new (struct GNUNET_TESTBED_PeerCreateSuccessEventMessage);
reply->header.size =
htons (sizeof (struct GNUNET_TESTBED_PeerCreateSuccessEventMessage));
reply->header.type =
GNUNET_SERVER_receive_done (client, GNUNET_OK);
return;
}
- peer = GNUNET_malloc (sizeof (struct Peer));
+ peer = GNUNET_new (struct Peer);
peer->is_remote = GNUNET_YES;
peer->id = peer_id;
peer->details.remote.slave = GST_slave_list[route->dest];
peer->details.remote.remote_host_id = host_id;
- fo_ctxt = GNUNET_malloc (sizeof (struct ForwardedOperationContext));
+ fo_ctxt = GNUNET_new (struct ForwardedOperationContext);
GNUNET_SERVER_client_keep (client);
fo_ctxt->client = client;
fo_ctxt->operation_id = GNUNET_ntohll (msg->operation_id);
if (GNUNET_YES == peer->is_remote)
{
/* Forward the destory message to sub controller */
- fopc = GNUNET_malloc (sizeof (struct ForwardedOperationContext));
+ fopc = GNUNET_new (struct ForwardedOperationContext);
GNUNET_SERVER_client_keep (client);
fopc->client = client;
fopc->cls = peer;
peer = GST_peer_list[peer_id];
if (GNUNET_YES == peer->is_remote)
{
- fopc = GNUNET_malloc (sizeof (struct ForwardedOperationContext));
+ fopc = GNUNET_new (struct ForwardedOperationContext);
GNUNET_SERVER_client_keep (client);
fopc->client = client;
fopc->operation_id = GNUNET_ntohll (msg->operation_id);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
return;
}
- reply = GNUNET_malloc (sizeof (struct GNUNET_TESTBED_PeerEventMessage));
+ reply = GNUNET_new (struct GNUNET_TESTBED_PeerEventMessage);
reply->header.type = htons (GNUNET_MESSAGE_TYPE_TESTBED_PEER_EVENT);
reply->header.size = htons (sizeof (struct GNUNET_TESTBED_PeerEventMessage));
reply->event_type = htonl (GNUNET_TESTBED_ET_PEER_START);
{
LOG (GNUNET_ERROR_TYPE_DEBUG, "Forwarding PEER_STOP for peer %u\n",
peer_id);
- fopc = GNUNET_malloc (sizeof (struct ForwardedOperationContext));
+ fopc = GNUNET_new (struct ForwardedOperationContext);
GNUNET_SERVER_client_keep (client);
fopc->client = client;
fopc->operation_id = GNUNET_ntohll (msg->operation_id);
return;
}
LOG (GNUNET_ERROR_TYPE_DEBUG, "Peer %u successfully stopped\n", peer_id);
- reply = GNUNET_malloc (sizeof (struct GNUNET_TESTBED_PeerEventMessage));
+ reply = GNUNET_new (struct GNUNET_TESTBED_PeerEventMessage);
reply->header.type = htons (GNUNET_MESSAGE_TYPE_TESTBED_PEER_EVENT);
reply->header.size = htons (sizeof (struct GNUNET_TESTBED_PeerEventMessage));
reply->event_type = htonl (GNUNET_TESTBED_ET_PEER_STOP);
if (GNUNET_YES == peer->is_remote)
{
LOG_DEBUG ("Forwarding PEER_GET_CONFIG for peer: %u\n", peer_id);
- fopc = GNUNET_malloc (sizeof (struct ForwardedOperationContext));
+ fopc = GNUNET_new (struct ForwardedOperationContext);
GNUNET_SERVER_client_keep (client);
fopc->client = client;
fopc->operation_id = GNUNET_ntohll (msg->operation_id);
GNUNET_TESTING_peer_destroy (peer->details.local.peer);
GNUNET_CONFIGURATION_destroy (peer->details.local.cfg);
peer->details.local.cfg = cfg;
- emsg = NULL;
+ emsg = NULL;
peer->details.local.peer
= GNUNET_TESTING_peer_configure (GST_context->system,
peer->details.local.cfg, peer->id,
if (GNUNET_YES == peer->is_remote)
{
LOG_DEBUG ("Forwarding PEER_RECONFIGURE for peer: %u\n", peer_id);
- fopc = GNUNET_malloc (sizeof (struct ForwardedOperationContext));
+ fopc = GNUNET_new (struct ForwardedOperationContext);
GNUNET_SERVER_client_keep (client);
fopc->client = client;
fopc->operation_id = op_id;
GST_send_operation_fail_msg (client, op_id, emsg);
GST_send_operation_success_msg (client, op_id);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
+ GNUNET_free_non_null (emsg);
return;
}
- prc = GNUNET_malloc (sizeof (struct PeerReconfigureContext));
- if (GNUNET_OK !=
+ prc = GNUNET_new (struct PeerReconfigureContext);
+ if (GNUNET_OK !=
GNUNET_TESTING_peer_stop_async (peer->details.local.peer, &prc_stop_cb,
prc))
{
GNUNET_assert (0 < GNUNET_asprintf (&emsg,
- "Error trying to stop peer %u asynchronously\n",
+ "Error trying to stop peer %u asynchronously\n",
peer_id));
LOG (GNUNET_ERROR_TYPE_ERROR, "%s\n", emsg);
GST_send_operation_fail_msg (client, op_id, emsg);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
GNUNET_free (prc);
+ GNUNET_free (emsg);
return;
}
prc->cfg = cfg;
if (GNUNET_YES == peer->is_remote)
{
/* Forward the destory message to sub controller */
- fopc = GNUNET_malloc (sizeof (struct ForwardedOperationContext));
+ fopc = GNUNET_new (struct ForwardedOperationContext);
GNUNET_SERVER_client_keep (client);
fopc->client = client;
fopc->cls = peer;
peer_id);
goto err_ret;
}
- mctx = GNUNET_malloc (sizeof (struct ManageServiceContext));
+ mctx = GNUNET_new (struct ManageServiceContext);
mctx->peer = peer;
peer->reference_cnt++;
mctx->op_id = op_id;
}
-/**
- * Task run upon timeout of forwarded SHUTDOWN_PEERS operation
- *
- * @param cls the ForwardedOperationContext
- * @param tc the scheduler task context
- */
-static void
-shutdown_peers_timeout_cb (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
- struct ForwardedOperationContext *fo_ctxt = cls;
- struct HandlerContext_ShutdownPeers *hc;
-
- fo_ctxt->timeout_task = GNUNET_SCHEDULER_NO_TASK;
- hc = fo_ctxt->cls;
- hc->timeout = GNUNET_YES;
- GNUNET_assert (0 < hc->nslaves);
- hc->nslaves--;
- if (0 == hc->nslaves)
- {
- GST_send_operation_fail_msg (fo_ctxt->client, fo_ctxt->operation_id,
- "Timeout at a slave controller");
- GNUNET_free (hc);
- hc = NULL;
- }
- GNUNET_TESTBED_forward_operation_msg_cancel_ (fo_ctxt->opc);
- GNUNET_SERVER_client_drop (fo_ctxt->client);
- GNUNET_CONTAINER_DLL_remove (fopcq_head, fopcq_tail, fo_ctxt);
- GNUNET_free (fo_ctxt);
-}
-
-
/**
* The reply msg handler forwarded SHUTDOWN_PEERS operation. Checks if a
* success reply is received from all clients and then sends the success message
struct HandlerContext_ShutdownPeers *hc;
hc = fo_ctxt->cls;
- GNUNET_assert (GNUNET_SCHEDULER_NO_TASK != fo_ctxt->timeout_task);
- GNUNET_SCHEDULER_cancel (fo_ctxt->timeout_task);
- fo_ctxt->timeout_task = GNUNET_SCHEDULER_NO_TASK;
GNUNET_assert (0 < hc->nslaves);
hc->nslaves--;
if (GNUNET_MESSAGE_TYPE_TESTBED_GENERIC_OPERATION_SUCCESS !=
GST_clear_fopcq ();
/* Forward to all slaves which we have started */
op_id = GNUNET_ntohll (msg->operation_id);
- hc = GNUNET_malloc (sizeof (struct HandlerContext_ShutdownPeers));
+ hc = GNUNET_new (struct HandlerContext_ShutdownPeers);
/* FIXME: have a better implementation where we track which slaves are
started by this controller */
for (cnt = 0; cnt < GST_slave_list_size; cnt++)
continue;
LOG_DEBUG ("Forwarding SHUTDOWN_PEERS\n");
hc->nslaves++;
- fo_ctxt = GNUNET_malloc (sizeof (struct ForwardedOperationContext));
+ fo_ctxt = GNUNET_new (struct ForwardedOperationContext);
GNUNET_SERVER_client_keep (client);
fo_ctxt->client = client;
fo_ctxt->operation_id = op_id;
&msg->header,
shutdown_peers_reply_cb,
fo_ctxt);
- fo_ctxt->timeout_task =
- GNUNET_SCHEDULER_add_delayed (GST_timeout, &shutdown_peers_timeout_cb,
- fo_ctxt);
GNUNET_CONTAINER_DLL_insert_tail (fopcq_head, fopcq_tail, fo_ctxt);
}
LOG_DEBUG ("Shutting down peers\n");