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