diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-07-10 12:20:04 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-07-10 12:20:04 +0000 |
commit | 404c643b5223e4f6f1fc0d673b4addd6669606e4 (patch) | |
tree | c0cdc116f0887efa0ae300b6cdb61bb6fa600011 /src/ats | |
parent | 46e8465d4181379006b84122afc2276dcc20abb7 (diff) | |
download | gnunet-404c643b5223e4f6f1fc0d673b4addd6669606e4.tar.gz gnunet-404c643b5223e4f6f1fc0d673b4addd6669606e4.zip |
move error reporting to client, since now it's the plugins fault if sessions are unknown
Diffstat (limited to 'src/ats')
-rw-r--r-- | src/ats/ats_api_scheduling.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/ats/ats_api_scheduling.c b/src/ats/ats_api_scheduling.c index 482f67631..410d4880b 100644 --- a/src/ats/ats_api_scheduling.c +++ b/src/ats/ats_api_scheduling.c | |||
@@ -1241,8 +1241,10 @@ GNUNET_ATS_address_add (struct GNUNET_ATS_SchedulingHandle *sh, | |||
1241 | * @param session session handle, can be NULL | 1241 | * @param session session handle, can be NULL |
1242 | * @param ats performance data for the address | 1242 | * @param ats performance data for the address |
1243 | * @param ats_count number of performance records in 'ats' | 1243 | * @param ats_count number of performance records in 'ats' |
1244 | * @return GNUNET_YES on success, GNUNET_NO if address or session are unknown, | ||
1245 | * GNUNET_SYSERR on hard failure | ||
1244 | */ | 1246 | */ |
1245 | void | 1247 | int |
1246 | GNUNET_ATS_address_update (struct GNUNET_ATS_SchedulingHandle *sh, | 1248 | GNUNET_ATS_address_update (struct GNUNET_ATS_SchedulingHandle *sh, |
1247 | const struct GNUNET_HELLO_Address *address, | 1249 | const struct GNUNET_HELLO_Address *address, |
1248 | struct Session *session, | 1250 | struct Session *session, |
@@ -1257,14 +1259,18 @@ GNUNET_ATS_address_update (struct GNUNET_ATS_SchedulingHandle *sh, | |||
1257 | size_t msize; | 1259 | size_t msize; |
1258 | uint32_t s = 0; | 1260 | uint32_t s = 0; |
1259 | 1261 | ||
1260 | if (address == NULL) | 1262 | if (NULL == address) |
1261 | { | 1263 | { |
1262 | GNUNET_break (0); | 1264 | GNUNET_break (0); |
1263 | return; | 1265 | return GNUNET_SYSERR; |
1266 | } | ||
1267 | if (NULL == sh) | ||
1268 | { | ||
1269 | GNUNET_break (0); | ||
1270 | return GNUNET_SYSERR; | ||
1264 | } | 1271 | } |
1265 | 1272 | ||
1266 | namelen = | 1273 | namelen = (address->transport_name == |
1267 | (address->transport_name == | ||
1268 | NULL) ? 0 : strlen (address->transport_name) + 1; | 1274 | NULL) ? 0 : strlen (address->transport_name) + 1; |
1269 | msize = | 1275 | msize = |
1270 | sizeof (struct AddressUpdateMessage) + address->address_length + | 1276 | sizeof (struct AddressUpdateMessage) + address->address_length + |
@@ -1276,22 +1282,14 @@ GNUNET_ATS_address_update (struct GNUNET_ATS_SchedulingHandle *sh, | |||
1276 | GNUNET_SERVER_MAX_MESSAGE_SIZE / sizeof (struct GNUNET_ATS_Information))) | 1282 | GNUNET_SERVER_MAX_MESSAGE_SIZE / sizeof (struct GNUNET_ATS_Information))) |
1277 | { | 1283 | { |
1278 | GNUNET_break (0); | 1284 | GNUNET_break (0); |
1279 | return; | 1285 | return GNUNET_SYSERR; |
1280 | } | 1286 | } |
1281 | 1287 | ||
1282 | if (NULL != session) | 1288 | if (NULL != session) |
1283 | { | 1289 | { |
1284 | s = find_session_id (sh, session, &address->peer); | 1290 | s = find_session_id (sh, session, &address->peer); |
1285 | if (NOT_FOUND == s) | 1291 | if (NOT_FOUND == s) |
1286 | { | 1292 | return GNUNET_NO; |
1287 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
1288 | "Update for unknown address for peer `%s', plugin `%s', session %p id %u\n", | ||
1289 | GNUNET_i2s (&address->peer), | ||
1290 | address->transport_name, session, s); | ||
1291 | |||
1292 | GNUNET_break (0); | ||
1293 | return; | ||
1294 | } | ||
1295 | } | 1293 | } |
1296 | 1294 | ||
1297 | p = GNUNET_malloc (sizeof (struct PendingMessage) + msize); | 1295 | p = GNUNET_malloc (sizeof (struct PendingMessage) + msize); |
@@ -1319,7 +1317,7 @@ GNUNET_ATS_address_update (struct GNUNET_ATS_SchedulingHandle *sh, | |||
1319 | memcpy (&pm[address->address_length], address->transport_name, namelen); | 1317 | memcpy (&pm[address->address_length], address->transport_name, namelen); |
1320 | GNUNET_CONTAINER_DLL_insert_tail (sh->pending_head, sh->pending_tail, p); | 1318 | GNUNET_CONTAINER_DLL_insert_tail (sh->pending_head, sh->pending_tail, p); |
1321 | do_transmit (sh); | 1319 | do_transmit (sh); |
1322 | return; | 1320 | return GNUNET_YES; |
1323 | } | 1321 | } |
1324 | 1322 | ||
1325 | 1323 | ||