#include "platform.h"
#include "gnunet_util_lib.h"
#include "gnunet_dht_service.h"
-#include "gnunet_mesh_service_new.h"
+#include "gnunet_mesh_service.h"
#define VERBOSE 1
#define VERBOSE_ARM 0
static struct GNUNET_MESH_Handle *mesh_peer_1;
static struct GNUNET_MESH_Handle *mesh_peer_2;
static struct GNUNET_MESH_Tunnel *t;
+static unsigned int one = 1;
+static unsigned int two = 2;
static int result;
static GNUNET_SCHEDULER_TaskIdentifier abort_task;
{
GNUNET_SCHEDULER_cancel (abort_task);
}
+ if (NULL != t)
+ {
+ GNUNET_MESH_tunnel_destroy(t);
+ }
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: D1\n");
if (NULL != mesh_peer_1)
{
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: Wait\n");
GNUNET_assert (GNUNET_OK == GNUNET_OS_process_wait (arm_pid));
- GNUNET_OS_process_close (arm_pid);
+ GNUNET_OS_process_destroy (arm_pid);
}
static void
do_abort (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: ABORT\n");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: ABORT\n");
if (0 != test_task)
{
GNUNET_SCHEDULER_cancel (test_task);
*/
static int
data_callback (void *cls, struct GNUNET_MESH_Tunnel *tunnel, void **tunnel_ctx,
- const struct GNUNET_PeerIdentity *sender,
- const struct GNUNET_MessageHeader *message,
- const struct GNUNET_TRANSPORT_ATS_Information *atsi)
+ const struct GNUNET_PeerIdentity *sender,
+ const struct GNUNET_MessageHeader *message,
+ const struct GNUNET_ATS_Information *atsi)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: Data callback\n");
GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
static void *
inbound_tunnel (void *cls, struct GNUNET_MESH_Tunnel *tunnel,
const struct GNUNET_PeerIdentity *initiator,
- const struct GNUNET_TRANSPORT_ATS_Information *atsi)
+ const struct GNUNET_ATS_Information *atsi)
{
- unsigned int id = (unsigned int) cls;
+ unsigned int id = *(unsigned int *) cls;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: received incoming tunnel\n");
if (id != 1)
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- "test: received incoming tunnel on peer 2\n");
+ "test: received incoming tunnel on peer 2\n");
result = GNUNET_SYSERR;
}
return NULL;
* with the tunnel is stored
*/
static void
-inbound_end (void *cls,
- const struct GNUNET_MESH_Tunnel * tunnel,
+inbound_end (void *cls, const struct GNUNET_MESH_Tunnel *tunnel,
void *tunnel_ctx)
{
- unsigned int id = (unsigned int) cls;
+ unsigned int id = *(unsigned int *) cls;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: incoming tunnel closed\n");
if (id != 1)
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- "test: received closing tunnel on peer 2\n");
+ "test: received closing tunnel on peer 2\n");
result = GNUNET_SYSERR;
}
}
* @param cls closure
* @param peer peer identity the tunnel stopped working with
*/
-static void peer_conected (
- void *cls,
- const struct GNUNET_PeerIdentity * peer)
+static void
+peer_conected (void *cls, const struct GNUNET_PeerIdentity *peer,
+ const struct GNUNET_ATS_Information *atsi)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: peer connected\n");
- GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_UNIT_SECONDS, &do_shutdown, NULL);
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &do_shutdown, NULL);
}
* @param peer peer identity the tunnel was created to, NULL on timeout
* @param atsi performance data for the connection
*/
-static void peer_disconnected (
- void *cls,
- const struct GNUNET_PeerIdentity * peer,
- const struct GNUNET_TRANSPORT_ATS_Information * atsi)
+static void
+peer_disconnected (void *cls, const struct GNUNET_PeerIdentity *peer)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: peer disconnected\n");
}
test_task = GNUNET_SCHEDULER_NO_TASK;
mesh_peer_1 = GNUNET_MESH_connect (cfg, /* configuration */
10, /* queue size */
- (void *) 1, /* cls */
+ (void *) &one, /* cls */
&inbound_tunnel, /* inbound new hndlr */
&inbound_end, /* inbound end hndlr */
handlers1, /* traffic handlers */
mesh_peer_2 = GNUNET_MESH_connect (cfg, /* configuration */
10, /* queue size */
- (void *) 2, /* cls */
+ (void *) &two, /* cls */
&inbound_tunnel, /* inbound new hndlr */
&inbound_end, /* inbound end hndlr */
handlers2, /* traffic handlers */
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: YAY! CONNECTED TO MESH :D\n");
}
- t = GNUNET_MESH_tunnel_create (mesh_peer_2,
- NULL,
- &peer_conected,
- &peer_disconnected,
- (void *) 2);
- GNUNET_MESH_peer_request_connect_by_type(t, 1);
- test_task = GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_UNIT_SECONDS,
- &do_connect_peer_1,
- cfg);
+ t = GNUNET_MESH_tunnel_create (mesh_peer_2, NULL, &peer_conected,
+ &peer_disconnected, (void *) &two);
+ GNUNET_MESH_peer_request_connect_by_type (t, 1);
+ test_task =
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
+ (GNUNET_TIME_UNIT_SECONDS, 5),
+ &do_connect_peer_1, cfg);
}
#endif
NULL);
arm_pid =
- GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm",
+ GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
"gnunet-service-arm",
#if VERBOSE_ARM
"-L", "DEBUG",