diff options
Diffstat (limited to 'src/util/test_connection.c')
-rw-r--r-- | src/util/test_connection.c | 64 |
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 | ||
78 | static void | 77 | static void |
79 | receive_check (void *cls, const void *buf, size_t available, | 78 | receive_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 | ||
135 | static size_t | 133 | static 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 | } |