aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/test_connection.c')
-rw-r--r--src/util/test_connection.c64
1 files changed, 33 insertions, 31 deletions
diff --git a/src/util/test_connection.c b/src/util/test_connection.c
index 92c0cea2e..1ac5b99cd 100644
--- a/src/util/test_connection.c
+++ b/src/util/test_connection.c
@@ -66,44 +66,46 @@ open_listen_socket ()
66 GNUNET_assert (desc != NULL); 66 GNUNET_assert (desc != NULL);
67 if (GNUNET_NETWORK_socket_setsockopt 67 if (GNUNET_NETWORK_socket_setsockopt
68 (desc, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) != GNUNET_OK) 68 (desc, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) != GNUNET_OK)
69 GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "setsockopt"); 69 GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
70 "setsockopt");
70 GNUNET_assert (GNUNET_NETWORK_socket_bind 71 GNUNET_assert (GNUNET_NETWORK_socket_bind
71 (desc, (const struct sockaddr *) &sa, 72 (desc, (const struct sockaddr *) &sa,
72 sizeof (sa)) == GNUNET_OK); 73 sizeof (sa)) == GNUNET_OK);
73 GNUNET_NETWORK_socket_listen (desc, 5); 74 GNUNET_NETWORK_socket_listen (desc, 5);
74 return desc; 75 return desc;
75} 76}
76 77
77static void 78static void
78receive_check (void *cls, const void *buf, size_t available, 79receive_check (void *cls, const void *buf, size_t available,
79 const struct sockaddr *addr, socklen_t addrlen, int errCode) 80 const struct sockaddr *addr, socklen_t addrlen, int errCode)
80{ 81{
81 int *ok = cls; 82 int *ok = cls;
82 83
83#if VERBOSE 84#if VERBOSE
84 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receive validates incoming data\n"); 85 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receive validates incoming data\n");
85#endif 86#endif
86 GNUNET_assert (buf != NULL); /* no timeout */ 87 GNUNET_assert (buf != NULL); /* no timeout */
87 if (0 == memcmp (&"Hello World"[sofar], buf, available)) 88 if (0 == memcmp (&"Hello World"[sofar], buf, available))
88 sofar += available; 89 sofar += available;
89 if (sofar < 12) 90 if (sofar < 12)
90 { 91 {
91#if VERBOSE 92#if VERBOSE
92 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receive needs more data\n"); 93 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receive needs more data\n");
93#endif 94#endif
94 GNUNET_CONNECTION_receive (asock, 1024, 95 GNUNET_CONNECTION_receive (asock, 1024,
95 GNUNET_TIME_relative_multiply 96 GNUNET_TIME_relative_multiply
96 (GNUNET_TIME_UNIT_SECONDS, 5), &receive_check, 97 (GNUNET_TIME_UNIT_SECONDS, 5),
97 cls); 98 &receive_check, cls);
98 } 99 }
99 else 100 else
100 { 101 {
101#if VERBOSE 102#if VERBOSE
102 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receive closes accepted socket\n"); 103 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
104 "Receive closes accepted socket\n");
103#endif 105#endif
104 *ok = 0; 106 *ok = 0;
105 GNUNET_CONNECTION_destroy (asock, GNUNET_YES); 107 GNUNET_CONNECTION_destroy (asock, GNUNET_YES);
106 } 108 }
107} 109}
108 110
109 111
@@ -122,12 +124,12 @@ run_accept (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
122 GNUNET_CONNECTION_destroy (lsock, GNUNET_YES); 124 GNUNET_CONNECTION_destroy (lsock, GNUNET_YES);
123#if VERBOSE 125#if VERBOSE
124 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 126 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
125 "Test asks to receive on accepted socket\n"); 127 "Test asks to receive on accepted socket\n");
126#endif 128#endif
127 GNUNET_CONNECTION_receive (asock, 1024, 129 GNUNET_CONNECTION_receive (asock, 1024,
128 GNUNET_TIME_relative_multiply 130 GNUNET_TIME_relative_multiply
129 (GNUNET_TIME_UNIT_SECONDS, 5), &receive_check, 131 (GNUNET_TIME_UNIT_SECONDS, 5), &receive_check,
130 cls); 132 cls);
131} 133}
132 134
133static size_t 135static size_t
@@ -135,7 +137,7 @@ make_hello (void *cls, size_t size, void *buf)
135{ 137{
136#if VERBOSE 138#if VERBOSE
137 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 139 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
138 "Test prepares to transmit on connect socket\n"); 140 "Test prepares to transmit on connect socket\n");
139#endif 141#endif
140 GNUNET_assert (size >= 12); 142 GNUNET_assert (size >= 12);
141 strcpy ((char *) buf, "Hello World"); 143 strcpy ((char *) buf, "Hello World");
@@ -158,14 +160,14 @@ task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
158 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test asks for write notification\n"); 160 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test asks for write notification\n");
159#endif 161#endif
160 GNUNET_assert (NULL != 162 GNUNET_assert (NULL !=
161 GNUNET_CONNECTION_notify_transmit_ready (csock, 12, 163 GNUNET_CONNECTION_notify_transmit_ready (csock, 12,
162 GNUNET_TIME_UNIT_SECONDS, 164 GNUNET_TIME_UNIT_SECONDS,
163 &make_hello, NULL)); 165 &make_hello, NULL));
164#if VERBOSE 166#if VERBOSE
165 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test prepares to accept\n"); 167 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test prepares to accept\n");
166#endif 168#endif
167 GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, ls, &run_accept, 169 GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, ls,
168 cls); 170 &run_accept, cls);
169} 171}
170 172
171 173
@@ -181,7 +183,7 @@ check ()
181 ok = 1; 183 ok = 1;
182 cfg = GNUNET_CONFIGURATION_create (); 184 cfg = GNUNET_CONFIGURATION_create ();
183 GNUNET_CONFIGURATION_set_value_string (cfg, "resolver", "HOSTNAME", 185 GNUNET_CONFIGURATION_set_value_string (cfg, "resolver", "HOSTNAME",
184 "localhost"); 186 "localhost");
185 GNUNET_SCHEDULER_run (&task, &ok); 187 GNUNET_SCHEDULER_run (&task, &ok);
186 GNUNET_CONFIGURATION_destroy (cfg); 188 GNUNET_CONFIGURATION_destroy (cfg);
187 return ok; 189 return ok;
@@ -196,11 +198,11 @@ main (int argc, char *argv[])
196 198
197 GNUNET_log_setup ("test_connection", 199 GNUNET_log_setup ("test_connection",
198#if VERBOSE 200#if VERBOSE
199 "DEBUG", 201 "DEBUG",
200#else 202#else
201 "WARNING", 203 "WARNING",
202#endif 204#endif
203 NULL); 205 NULL);
204 ret += check (); 206 ret += check ();
205 return ret; 207 return ret;
206} 208}