if (p->nc != NULL)
p->nc (p->cb_cls, peer, ats, ats_count);
-#if VERBOSE
char *p2_s;
if (p2 != NULL)
"Peers %s connected to peer %u (`%s')\n", p2_s, p->no,
GNUNET_i2s (&p->id));
GNUNET_free (p2_s);
-#endif
-
/* Find ConnectingContext */
struct ConnectingContext *cc = find_connecting_context (p->tth, p, p2);
GNUNET_assert (GNUNET_OK ==
GNUNET_HELLO_get_id ((const struct GNUNET_HELLO_Message *)
message, &p->id));
-#if VERBOSE
- size_t size =
- GNUNET_HELLO_size ((const struct GNUNET_HELLO_Message *) message);
-#endif
GNUNET_free_non_null (p->hello);
p->hello = (struct GNUNET_HELLO_Message *) GNUNET_copy_message (message);
-#if VERBOSE
- GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing",
- "New HELLO for peer %u (`%s') with size %u\n", p->no,
- GNUNET_i2s (&p->id), size);
-#endif
-
if (p->start_cb != NULL)
{
-#if VERBOSE
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing",
"Peer %u (`%s') successfully started\n", p->no,
GNUNET_i2s (&p->id));
-#endif
+
p->start_cb (p, p->cb_cls);
p->start_cb = NULL;
}
}
p->arm_proc =
- GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm",
+ GNUNET_OS_start_process (GNUNET_YES,
+ NULL, NULL, "gnunet-service-arm",
"gnunet-service-arm", "-c", cfgname,
#if VERBOSE_PEERS
"-L", "DEBUG",
GNUNET_assert (p->ghh != NULL);
GNUNET_CONTAINER_DLL_insert (tth->p_head, tth->p_tail, p);
-
return p;
}
goto fail;
p->arm_proc =
- GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm",
+ GNUNET_OS_start_process (GNUNET_YES,
+ NULL, NULL, "gnunet-service-arm",
"gnunet-service-arm", "-c", cfgname,
#if VERBOSE_PEERS
"-L", "DEBUG",
GNUNET_CONTAINER_DLL_remove (tth->p_head, tth->p_tail, p);
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing",
+ "Peer %u (`%s') stopped \n", p->no,
+ GNUNET_i2s (&p->id));
+
GNUNET_free (p);
p = NULL;
}
/**
- * Initiate peer p1 to connect to peer p2
- * Get peer p2's HELLO and offer it to p1
- * p1 then tries to connect to p2
+ * Connect the given peers and call the callback when both peers report the
+ * inbound connection. Remarks: start_peer's notify_connect callback can be called
+ * before.
+ *
+ * @param tth transport testing handle
* @param p1 peer 1
* @param p2 peer 2
* @param cb the callback to call when both peers notified that they are connected
- * @param cb_cls callback cls (or a pointer to the
- * GNUNET_TRANSPORT_TESTING_ConnectRequest itself if null)
- * @return connect context
+ * @param cls callback cls
+ * @return a connect request handle
*/
GNUNET_TRANSPORT_TESTING_ConnectRequest
-GNUNET_TRANSPORT_TESTING_connect_peers (struct GNUNET_TRANSPORT_TESTING_handle
- *tth, struct PeerContext *p1,
+GNUNET_TRANSPORT_TESTING_connect_peers (struct GNUNET_TRANSPORT_TESTING_handle *tth,
+ struct PeerContext *p1,
struct PeerContext *p2,
GNUNET_TRANSPORT_TESTING_connect_cb cb,
- void *cb_cls)
+ void *cls)
{
GNUNET_assert (tth != NULL);
cc->p2 = p2;
cc->cb = cb;
- if (cb_cls != NULL)
- cc->cb_cls = cb_cls;
+ if (cls != NULL)
+ cc->cb_cls = cls;
else
cc->cb_cls = cc;
return NULL;
}
- if (GNUNET_YES != GNUNET_DISK_file_size (hostkeys_file, &fs, GNUNET_YES))
+ if (GNUNET_OK != GNUNET_DISK_file_size (hostkeys_file, &fs, GNUNET_YES, GNUNET_YES))
fs = 0;
if (0 != (fs % HOSTKEYFILESIZE))