aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-06-12 20:23:00 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-06-12 20:23:00 +0000
commitb1a71d135c08eac25e42f53a6ede7e9b518c3eaa (patch)
tree91fcf06f4a457a06a79c9483351e7e64dace05a4
parent4d36032c24e603ac8e5c2591526148ea89ddc90c (diff)
downloadgnunet-b1a71d135c08eac25e42f53a6ede7e9b518c3eaa.tar.gz
gnunet-b1a71d135c08eac25e42f53a6ede7e9b518c3eaa.zip
testbed service build system
-rw-r--r--configure.ac1
-rw-r--r--src/testbed/Makefile.am12
-rw-r--r--src/testbed/gnunet-service-testbed.c122
-rw-r--r--src/testbed/testbed.conf0
-rw-r--r--src/testbed/testbed.conf.in12
-rw-r--r--src/testbed/testbed.h4
6 files changed, 149 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index de4817a0c..ececc8e71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1091,6 +1091,7 @@ src/statistics/statistics.conf
1091src/stream/Makefile 1091src/stream/Makefile
1092src/template/Makefile 1092src/template/Makefile
1093src/testbed/Makefile 1093src/testbed/Makefile
1094src/testbed/testbed.conf
1094src/testing/Makefile 1095src/testing/Makefile
1095src/testing_old/Makefile 1096src/testing_old/Makefile
1096src/topology/Makefile 1097src/topology/Makefile
diff --git a/src/testbed/Makefile.am b/src/testbed/Makefile.am
index a1b290e1b..3f613b0d6 100644
--- a/src/testbed/Makefile.am
+++ b/src/testbed/Makefile.am
@@ -11,6 +11,18 @@ endif
11 11
12pkgcfgdir= $(pkgdatadir)/config.d/ 12pkgcfgdir= $(pkgdatadir)/config.d/
13 13
14pkgcfg_DATA = \
15 testbed.conf
16
17bin_PROGRAMS = \
18 gnunet-service-testbed
19
20gnunet_service_testbed_SOURCES = \
21 gnunet-service-testbed.c
22gnunet_service_testbed_LDADD = $(XLIB) \
23 $(top_builddir)/src/util/libgnunetutil.la \
24 $(LTLIBINTL)
25
14dist_pkgcfg_DATA = \ 26dist_pkgcfg_DATA = \
15 testbed.conf 27 testbed.conf
16 28
diff --git a/src/testbed/gnunet-service-testbed.c b/src/testbed/gnunet-service-testbed.c
new file mode 100644
index 000000000..58639384e
--- /dev/null
+++ b/src/testbed/gnunet-service-testbed.c
@@ -0,0 +1,122 @@
1/*
2 This file is part of GNUnet.
3 (C) 2012 Christian Grothoff (and other contributing authors)
4
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 2, or (at your
8 option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19*/
20
21/**
22 * @file testbed/gnunet-service-testbed.c
23 * @brief implementation of the TESTBED service
24 * @author Sree Harsha Totakura
25 */
26
27#include "platform.h"
28#include "gnunet_service_lib.h"
29#include "gnunet_server_lib.h"
30
31#include "testbed.h"
32
33
34#define LOG(kind,...) \
35 GNUNET_log (kind, __VA_ARGS__)
36
37
38/**
39 * Message handler for GNUNET_MESSAGE_TYPE_TESTBED_INIT messages
40 *
41 * @param cls NULL
42 * @param client identification of the client
43 * @param message the actual message
44 */
45static void
46handle_init (void *cls,
47 struct GNUNET_SERVER_Client *client,
48 const struct GNUNET_MessageHeader *message)
49{
50 GNUNET_break (0);
51}
52
53
54/**
55 * Callback for client disconnect
56 *
57 * @param cls NULL
58 * @param client the client which has disconnected
59 */
60static void
61client_disconnect_cb (void *cls, struct GNUNET_SERVER_Client *client)
62{
63 GNUNET_break (0);
64}
65
66
67/**
68 * Task to clean up and shutdown nicely
69 *
70 * @param cls NULL
71 * @param tc the TaskContext from scheduler
72 */
73static void
74shutdown_task (void *cls,
75 const struct GNUNET_SCHEDULER_TaskContext *tc)
76{
77 GNUNET_break (0);
78}
79
80
81/**
82 * Testbed setup
83 *
84 * @param cls closure
85 * @param server the initialized server
86 * @param cfg configuration to use
87 */
88static void
89testbed_run (void *cls,
90 struct GNUNET_SERVER_Handle * server,
91 const struct GNUNET_CONFIGURATION_Handle *cfg)
92{
93 static const struct GNUNET_SERVER_MessageHandler message_handlers[] =
94 {
95 {&handle_init, NULL, GNUNET_MESSAGE_TYPE_TESTBED_INIT, 0},
96 {NULL}
97 };
98 GNUNET_SERVER_add_handlers (server,
99 message_handlers);
100 GNUNET_SERVER_disconnect_notify (server,
101 &client_disconnect_cb,
102 NULL);
103 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
104 &shutdown_task,
105 NULL);
106}
107
108
109/**
110 * The starting point of execution
111 */
112int main (int argc, char *const *argv)
113{
114 return
115 (GNUNET_OK ==
116 GNUNET_SERVICE_run (argc,
117 argv,
118 "testbed",
119 GNUNET_SERVICE_OPTION_NONE,
120 &testbed_run,
121 NULL)) ? 0 : 1;
122}
diff --git a/src/testbed/testbed.conf b/src/testbed/testbed.conf
deleted file mode 100644
index e69de29bb..000000000
--- a/src/testbed/testbed.conf
+++ /dev/null
diff --git a/src/testbed/testbed.conf.in b/src/testbed/testbed.conf.in
new file mode 100644
index 000000000..2f658fddd
--- /dev/null
+++ b/src/testbed/testbed.conf.in
@@ -0,0 +1,12 @@
1[testbed]
2AUTOSTART = NO
3@UNIXONLY@ PORT = 2101
4HOSTNAME = localhost
5HOME = $SERVICEHOME
6CONFIG = $DEFAULTCONFIG
7BINARY = gnunet-service-testbed
8ACCEPT_FROM = 127.0.0.1;
9ACCEPT_FROM6 = ::1;
10UNIXPATH = /tmp/gnunet-service-testbed.sock
11UNIX_MATCH_UID = YES
12UNIX_MATCH_GID = YES
diff --git a/src/testbed/testbed.h b/src/testbed/testbed.h
index 703ca0308..3c096399a 100644
--- a/src/testbed/testbed.h
+++ b/src/testbed/testbed.h
@@ -566,9 +566,9 @@ struct GNUNET_TESTBED_PeerConfigurationInformationMessage
566 struct GNUNET_MessageHeader header; 566 struct GNUNET_MessageHeader header;
567 567
568 /** 568 /**
569 * Peer identity of the peer that was created. 569 * Peer number of the peer that was created.
570 */ 570 */
571 uint32_t peer_id GNUNET_PACKED; 571 uint32_t peer_number GNUNET_PACKED;
572 572
573 /** 573 /**
574 * Operation ID of the operation that created this event. 574 * Operation ID of the operation that created this event.