diff options
Diffstat (limited to 'src/transport/transport_api2_address.c')
-rw-r--r-- | src/transport/transport_api2_address.c | 52 |
1 files changed, 19 insertions, 33 deletions
diff --git a/src/transport/transport_api2_address.c b/src/transport/transport_api2_address.c index 1ff599efb..d2cab27d5 100644 --- a/src/transport/transport_api2_address.c +++ b/src/transport/transport_api2_address.c | |||
@@ -31,7 +31,8 @@ | |||
31 | #include "gnunet_ats_transport_service.h" | 31 | #include "gnunet_ats_transport_service.h" |
32 | #include "transport.h" | 32 | #include "transport.h" |
33 | 33 | ||
34 | #define LOG(kind,...) GNUNET_log_from (kind, "transport-api-address",__VA_ARGS__) | 34 | #define LOG(kind, ...) \ |
35 | GNUNET_log_from (kind, "transport-api-address", __VA_ARGS__) | ||
35 | 36 | ||
36 | 37 | ||
37 | /** | 38 | /** |
@@ -60,7 +61,6 @@ struct GNUNET_TRANSPORT_AddressHandle | |||
60 | * Delay until we try to reconnect. | 61 | * Delay until we try to reconnect. |
61 | */ | 62 | */ |
62 | struct GNUNET_TIME_Relative reconnect_delay; | 63 | struct GNUNET_TIME_Relative reconnect_delay; |
63 | |||
64 | }; | 64 | }; |
65 | 65 | ||
66 | 66 | ||
@@ -84,8 +84,7 @@ disconnect_and_schedule_reconnect (struct GNUNET_TRANSPORT_AddressHandle *h); | |||
84 | * @param error error code | 84 | * @param error error code |
85 | */ | 85 | */ |
86 | static void | 86 | static void |
87 | mq_error_handler (void *cls, | 87 | mq_error_handler (void *cls, enum GNUNET_MQ_Error error) |
88 | enum GNUNET_MQ_Error error) | ||
89 | { | 88 | { |
90 | struct GNUNET_TRANSPORT_AddressHandle *h = cls; | 89 | struct GNUNET_TRANSPORT_AddressHandle *h = cls; |
91 | 90 | ||
@@ -104,19 +103,13 @@ static void | |||
104 | reconnect (void *cls) | 103 | reconnect (void *cls) |
105 | { | 104 | { |
106 | struct GNUNET_TRANSPORT_AddressHandle *h = cls; | 105 | struct GNUNET_TRANSPORT_AddressHandle *h = cls; |
107 | struct GNUNET_MQ_MessageHandler handlers[] = { | 106 | struct GNUNET_MQ_MessageHandler handlers[] = {GNUNET_MQ_handler_end ()}; |
108 | GNUNET_MQ_handler_end () | ||
109 | }; | ||
110 | 107 | ||
111 | h->reconnect_task = NULL; | 108 | h->reconnect_task = NULL; |
112 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 109 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Connecting to transport service.\n"); |
113 | "Connecting to transport service.\n"); | ||
114 | GNUNET_assert (NULL == h->mq); | 110 | GNUNET_assert (NULL == h->mq); |
115 | h->mq = GNUNET_CLIENT_connect (h->cfg, | 111 | h->mq = |
116 | "transport", | 112 | GNUNET_CLIENT_connect (h->cfg, "transport", handlers, &mq_error_handler, h); |
117 | handlers, | ||
118 | &mq_error_handler, | ||
119 | h); | ||
120 | } | 113 | } |
121 | 114 | ||
122 | 115 | ||
@@ -149,12 +142,9 @@ disconnect_and_schedule_reconnect (struct GNUNET_TRANSPORT_AddressHandle *h) | |||
149 | disconnect (h); | 142 | disconnect (h); |
150 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 143 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
151 | "Scheduling task to reconnect to transport service in %s.\n", | 144 | "Scheduling task to reconnect to transport service in %s.\n", |
152 | GNUNET_STRINGS_relative_time_to_string (h->reconnect_delay, | 145 | GNUNET_STRINGS_relative_time_to_string (h->reconnect_delay, GNUNET_YES)); |
153 | GNUNET_YES)); | ||
154 | h->reconnect_task = | 146 | h->reconnect_task = |
155 | GNUNET_SCHEDULER_add_delayed (h->reconnect_delay, | 147 | GNUNET_SCHEDULER_add_delayed (h->reconnect_delay, &reconnect, h); |
156 | &reconnect, | ||
157 | h); | ||
158 | h->reconnect_delay = GNUNET_TIME_STD_BACKOFF (h->reconnect_delay); | 148 | h->reconnect_delay = GNUNET_TIME_STD_BACKOFF (h->reconnect_delay); |
159 | } | 149 | } |
160 | 150 | ||
@@ -173,8 +163,7 @@ GNUNET_TRANSPORT_address_connect (const struct GNUNET_CONFIGURATION_Handle *cfg) | |||
173 | h = GNUNET_new (struct GNUNET_TRANSPORT_AddressHandle); | 163 | h = GNUNET_new (struct GNUNET_TRANSPORT_AddressHandle); |
174 | h->cfg = cfg; | 164 | h->cfg = cfg; |
175 | h->reconnect_delay = GNUNET_TIME_UNIT_ZERO; | 165 | h->reconnect_delay = GNUNET_TIME_UNIT_ZERO; |
176 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 166 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Connecting to transport service\n"); |
177 | "Connecting to transport service\n"); | ||
178 | reconnect (h); | 167 | reconnect (h); |
179 | if (NULL == h->mq) | 168 | if (NULL == h->mq) |
180 | { | 169 | { |
@@ -191,10 +180,10 @@ GNUNET_TRANSPORT_address_connect (const struct GNUNET_CONFIGURATION_Handle *cfg) | |||
191 | * @param handle handle to the service as returned from #GNUNET_TRANSPORT_address_connect() | 180 | * @param handle handle to the service as returned from #GNUNET_TRANSPORT_address_connect() |
192 | */ | 181 | */ |
193 | void | 182 | void |
194 | GNUNET_TRANSPORT_address_disconnect (struct GNUNET_TRANSPORT_AddressHandle *handle) | 183 | GNUNET_TRANSPORT_address_disconnect ( |
184 | struct GNUNET_TRANSPORT_AddressHandle *handle) | ||
195 | { | 185 | { |
196 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 186 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Transport disconnect called!\n"); |
197 | "Transport disconnect called!\n"); | ||
198 | /* this disconnects all neighbours... */ | 187 | /* this disconnects all neighbours... */ |
199 | disconnect (handle); | 188 | disconnect (handle); |
200 | /* and now we stop trying to connect again... */ | 189 | /* and now we stop trying to connect again... */ |
@@ -233,17 +222,14 @@ GNUNET_TRANSPORT_address_try (struct GNUNET_TRANSPORT_AddressHandle *ch, | |||
233 | struct GNUNET_MQ_Envelope *env; | 222 | struct GNUNET_MQ_Envelope *env; |
234 | struct GNUNET_TRANSPORT_AddressToVerify *hdr; | 223 | struct GNUNET_TRANSPORT_AddressToVerify *hdr; |
235 | 224 | ||
236 | env = GNUNET_MQ_msg_extra (hdr, | 225 | env = |
237 | raw_size, | 226 | GNUNET_MQ_msg_extra (hdr, |
238 | GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_CONSIDER_VERIFY); | 227 | raw_size, |
228 | GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_CONSIDER_VERIFY); | ||
239 | hdr->peer = *pid; | 229 | hdr->peer = *pid; |
240 | memcpy (&hdr[1], | 230 | memcpy (&hdr[1], raw, raw_size); |
241 | raw, | 231 | GNUNET_MQ_send (ch->mq, env); |
242 | raw_size); | ||
243 | GNUNET_MQ_send (ch->mq, | ||
244 | env); | ||
245 | } | 232 | } |
246 | 233 | ||
247 | 234 | ||
248 | |||
249 | /* end of transport_api2_address.c */ | 235 | /* end of transport_api2_address.c */ |