[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18078 - gnunet/src/ats
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18078 - gnunet/src/ats |
Date: |
Wed, 9 Nov 2011 17:37:44 +0100 |
Author: wachs
Date: 2011-11-09 17:37:44 +0100 (Wed, 09 Nov 2011)
New Revision: 18078
Modified:
gnunet/src/ats/ats_api_scheduling.c
gnunet/src/ats/gnunet-service-ats.c
gnunet/src/ats/gnunet-service-ats_scheduling.c
gnunet/src/ats/gnunet-service-ats_scheduling.h
Log:
cancel address suggests
Modified: gnunet/src/ats/ats_api_scheduling.c
===================================================================
--- gnunet/src/ats/ats_api_scheduling.c 2011-11-09 15:51:56 UTC (rev 18077)
+++ gnunet/src/ats/ats_api_scheduling.c 2011-11-09 16:37:44 UTC (rev 18078)
@@ -499,8 +499,9 @@
s = find_session (sh, session_id, &m->peer);
if (s == NULL)
{
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "ATS tries to use outdated
session `%s'\n", GNUNET_i2s(&m->peer));
- GNUNET_break (0);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS tries to use outdated session
`%s'\n", GNUNET_i2s(&m->peer));
+ //GNUNET_break (0);
+ return;
}
}
address.peer = m->peer;
@@ -634,6 +635,32 @@
/**
+ * We would like to stop receiving address updates for this peer
+ *
+ * @param sh handle
+ * @param peer identity of the peer
+ */
+void
+GNUNET_ATS_suggest_address_cancel (struct GNUNET_ATS_SchedulingHandle *sh,
+ const struct GNUNET_PeerIdentity *peer)
+{
+ struct PendingMessage *p;
+ struct RequestAddressMessage *m;
+
+ p = GNUNET_malloc (sizeof (struct PendingMessage) +
+ sizeof (struct RequestAddressMessage));
+ p->size = sizeof (struct RequestAddressMessage);
+ p->is_init = GNUNET_NO;
+ m = (struct RequestAddressMessage *) &p[1];
+ m->header.type = htons (GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL);
+ m->header.size = htons (sizeof (struct RequestAddressMessage));
+ m->reserved = htonl (0);
+ m->peer = *peer;
+ GNUNET_CONTAINER_DLL_insert_tail (sh->pending_head, sh->pending_tail, p);
+ do_transmit (sh);
+}
+
+/**
* We have updated performance statistics for a given address. Note
* that this function can be called for addresses that are currently
* in use as well as addresses that are valid but not actively in use.
Modified: gnunet/src/ats/gnunet-service-ats.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats.c 2011-11-09 15:51:56 UTC (rev 18077)
+++ gnunet/src/ats/gnunet-service-ats.c 2011-11-09 16:37:44 UTC (rev 18078)
@@ -135,6 +135,9 @@
{&GAS_handle_request_address, NULL,
GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS,
sizeof (struct RequestAddressMessage)},
+ {&GAS_handle_request_address_cancel, NULL,
+ GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL,
+ sizeof (struct RequestAddressMessage)},
{&GAS_handle_address_update, NULL,
GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE, 0},
{&GAS_handle_address_in_use, NULL,
Modified: gnunet/src/ats/gnunet-service-ats_scheduling.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats_scheduling.c 2011-11-09 15:51:56 UTC
(rev 18077)
+++ gnunet/src/ats/gnunet-service-ats_scheduling.c 2011-11-09 16:37:44 UTC
(rev 18078)
@@ -171,6 +171,30 @@
/**
+ * Handle 'request address' messages from clients.
+ *
+ * @param cls unused, NULL
+ * @param client client that sent the request
+ * @param message the request message
+ */
+void
+GAS_handle_request_address_cancel (void *cls, struct GNUNET_SERVER_Client
*client,
+ const struct GNUNET_MessageHeader *message)
+{
+ const struct RequestAddressMessage *msg =
+ (const struct RequestAddressMessage *) message;
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received `%s' message\n",
+ "REQUEST_ADDRESS_CANCEL");
+ GNUNET_break (0 == ntohl (msg->reserved));
+
+ /* TODO */
+
+ GNUNET_SERVER_receive_done (client, GNUNET_OK);
+}
+
+
+/**
* Handle 'address update' messages from clients.
*
* @param cls unused, NULL
Modified: gnunet/src/ats/gnunet-service-ats_scheduling.h
===================================================================
--- gnunet/src/ats/gnunet-service-ats_scheduling.h 2011-11-09 15:51:56 UTC
(rev 18077)
+++ gnunet/src/ats/gnunet-service-ats_scheduling.h 2011-11-09 16:37:44 UTC
(rev 18078)
@@ -90,6 +90,16 @@
const struct GNUNET_MessageHeader *message);
+/**
+ * Cancel 'request address' messages from clients.
+ *
+ * @param cls unused, NULL
+ * @param client client that sent the request
+ * @param message the request message
+ */
+void
+GAS_handle_request_address_cancel (void *cls, struct GNUNET_SERVER_Client
*client,
+ const struct GNUNET_MessageHeader *message);
/**
* Handle 'address update' messages from clients.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18078 - gnunet/src/ats,
gnunet <=