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