[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r34740 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r34740 - gnunet/src/transport |
Date: |
Sat, 20 Dec 2014 16:18:13 +0100 |
Author: grothoff
Date: 2014-12-20 16:18:13 +0100 (Sat, 20 Dec 2014)
New Revision: 34740
Modified:
gnunet/src/transport/gnunet-service-transport_clients.c
Log:
-simplify logic
Modified: gnunet/src/transport/gnunet-service-transport_clients.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_clients.c 2014-12-20
14:56:21 UTC (rev 34739)
+++ gnunet/src/transport/gnunet-service-transport_clients.c 2014-12-20
15:18:13 UTC (rev 34740)
@@ -141,7 +141,9 @@
/**
- * Client monitoring changes of active addresses of our neighbours.
+ * Client monitoring changes of active addresses or validations
+ * of our neighbours. Which type is being monitored depends on the
+ * DLL this struct is in.
*/
struct MonitoringClient
{
@@ -373,10 +375,12 @@
sizeof (struct GNUNET_PeerIdentity)))
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Client %p started monitoring of the peer `%s'\n",
- mc, GNUNET_i2s (peer));
+ mc,
+ GNUNET_i2s (peer));
else
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Client %p started monitoring all peers\n", mc);
+ "Client %p started monitoring all peers\n",
+ mc);
return mc;
}
@@ -466,8 +470,8 @@
if ( (tc->message_count >= MAX_PENDING) &&
(GNUNET_YES == may_drop) )
{
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- _("Dropping message of type %u and size %u, have %u/%u
messages pending\n"),
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Dropping message of type %u and size %u, have %u/%u messages
pending\n",
ntohs (msg->type),
ntohs (msg->size),
tc->message_count,
@@ -534,11 +538,13 @@
tc = lookup_client (client);
if (NULL == tc)
return;
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
- "Client %p disconnected, cleaning up.\n", tc);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Client %p disconnected, cleaning up.\n",
+ tc);
while (NULL != (mqe = tc->message_queue_head))
{
- GNUNET_CONTAINER_DLL_remove (tc->message_queue_head,
tc->message_queue_tail,
+ GNUNET_CONTAINER_DLL_remove (tc->message_queue_head,
+ tc->message_queue_tail,
mqe);
tc->message_count--;
GNUNET_free (mqe);
@@ -577,21 +583,16 @@
struct GNUNET_BANDWIDTH_Value32NBO
bandwidth_out)
{
struct TransportClient *tc = cls;
- struct ConnectInfoMessage *cim;
- size_t size = sizeof (struct ConnectInfoMessage);
- char buf[size] GNUNET_ALIGN;
+ struct ConnectInfoMessage cim;
if (GNUNET_NO == GST_neighbours_test_connected (peer))
return;
-
- GNUNET_assert (size < GNUNET_SERVER_MAX_MESSAGE_SIZE);
- cim = (struct ConnectInfoMessage *) buf;
- cim->header.size = htons (size);
- cim->header.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT);
- cim->id = *peer;
- cim->quota_in = bandwidth_in;
- cim->quota_out = bandwidth_out;
- unicast (tc, &cim->header, GNUNET_NO);
+ cim.header.size = htons (sizeof (struct ConnectInfoMessage));
+ cim.header.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT);
+ cim.id = *peer;
+ cim.quota_in = bandwidth_in;
+ cim.quota_out = bandwidth_out;
+ unicast (tc, &cim.header, GNUNET_NO);
}
@@ -614,15 +615,11 @@
uint32_t options;
tc = lookup_client (client);
-
- GNUNET_log (GNUNET_ERROR_TYPE_INFO | GNUNET_ERROR_TYPE_BULK,
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Client %p sent START\n", tc);
- if (tc != NULL)
+ if (NULL != tc)
{
/* got 'start' twice from the same client, not allowed */
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
- "TransportClient %p ServerClient %p sent multiple START
messages\n",
- tc, tc->client);
GNUNET_break (0);
GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
return;
@@ -635,9 +632,7 @@
sizeof (struct GNUNET_PeerIdentity))))
{
/* client thinks this is a different peer, reject */
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Rejecting control connection from peer `%s', which is not
me!\n"),
- GNUNET_i2s (&start->self));
+ GNUNET_break (0);
GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
return;
}
@@ -766,12 +761,6 @@
return;
}
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Received `%s' request from client with target `%4s' and first
message of type %u and total size %u\n",
- "SEND",
- GNUNET_i2s (&obm->peer),
- ntohs (obmm->type),
- msize);
if (GNUNET_NO == GST_neighbours_test_connected (&obm->peer))
{
/* not connected, not allowed to send; can happen due to asynchronous
operations */
@@ -785,6 +774,12 @@
GNUNET_SERVER_receive_done (client, GNUNET_OK);
return;
}
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Received `%s' request from client with target `%4s' and first
message of type %u and total size %u\n",
+ "SEND",
+ GNUNET_i2s (&obm->peer),
+ ntohs (obmm->type),
+ msize);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
stcc = GNUNET_new (struct SendTransmitContinuationContext);
stcc->target = obm->peer;
@@ -817,9 +812,8 @@
GNUNET_i2s (peer));
return; /* not allowed */
}
-
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- _("Blacklist allows connection attempt to peer `%s'\n"),
+ "Blacklist allows connection attempt to peer `%s'\n",
GNUNET_i2s (peer));
GST_neighbours_try_connect (peer);
@@ -851,14 +845,11 @@
sizeof (struct GNUNET_PeerIdentity)))
{
GNUNET_break (0);
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- "Received a request connect message myself `%s'\n",
- GNUNET_i2s (&trcm->peer));
GNUNET_SERVER_receive_done (client, GNUNET_OK);
return;
}
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- _("Received a request connect message for peer `%s'\n"),
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Received a request connect message for peer `%s'\n",
GNUNET_i2s (&trcm->peer));
(void) GST_blacklist_test_allowed (&trcm->peer,
NULL,
@@ -893,14 +884,11 @@
sizeof (struct GNUNET_PeerIdentity)))
{
GNUNET_break (0);
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- "Received a request disconnect message myself `%s'\n",
- GNUNET_i2s (&trdm->peer));
GNUNET_SERVER_receive_done (client, GNUNET_OK);
return;
}
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- _("Received a request disconnect message for peer `%s'\n"),
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Received a request disconnect message for peer `%s'\n",
GNUNET_i2s (&trdm->peer));
(void) GST_neighbours_force_disconnect (&trdm->peer);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
@@ -1136,7 +1124,10 @@
alen = address->address_length;
}
else
- tlen = alen = 0;
+ {
+ tlen = 0;
+ alen = 0;
+ }
size = (sizeof (struct ValidationIterateResponseMessage) + alen + tlen);
msg = GNUNET_malloc (size);
msg->header.size = htons (size);
@@ -1204,20 +1195,20 @@
struct IterationContext *pc = cls;
struct ValidationIterateResponseMessage *msg;
- if ( (GNUNET_YES == pc->all) ||
- (0 == memcmp (peer, &pc->id, sizeof (pc->id))) )
- {
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Sending information about for validation entry for peer `%s' using
address `%s'\n",
- GNUNET_i2s(peer), (address != NULL) ? GST_plugins_a2s (address) :
"<none>");
- msg = compose_validation_iterate_response_message (peer, address);
- msg->last_validation = GNUNET_TIME_absolute_hton(last_validation);
- msg->valid_until = GNUNET_TIME_absolute_hton(valid_until);
- msg->next_validation = GNUNET_TIME_absolute_hton(next_validation);
- msg->state = htonl ((uint32_t) state);
- GNUNET_SERVER_transmit_context_append_message (pc->tc, &msg->header);
- GNUNET_free (msg);
- }
+ if ( (GNUNET_YES != pc->all) &&
+ (0 != memcmp (peer, &pc->id, sizeof (pc->id))) )
+ return;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Sending information about for validation entry for peer `%s'
using address `%s'\n",
+ GNUNET_i2s(peer),
+ (NULL != address) ? GST_plugins_a2s (address) : "<none>");
+ msg = compose_validation_iterate_response_message (peer, address);
+ msg->last_validation = GNUNET_TIME_absolute_hton(last_validation);
+ msg->valid_until = GNUNET_TIME_absolute_hton(valid_until);
+ msg->next_validation = GNUNET_TIME_absolute_hton(next_validation);
+ msg->state = htonl ((uint32_t) state);
+ GNUNET_SERVER_transmit_context_append_message (pc->tc, &msg->header);
+ GNUNET_free (msg);
}
@@ -1244,20 +1235,19 @@
struct IterationContext *pc = cls;
struct PeerIterateResponseMessage *msg;
- if ( (GNUNET_YES == pc->all) ||
- (0 == memcmp (peer, &pc->id, sizeof (pc->id))) )
- {
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Sending information about `%s' using address `%s' in state `%s'\n",
- GNUNET_i2s(peer),
- (address != NULL) ? GST_plugins_a2s (address) : "<none>",
- GNUNET_TRANSPORT_ps2s (state));
- msg = compose_address_iterate_response_message (peer, address);
- msg->state = htonl (state);
- msg->state_timeout = GNUNET_TIME_absolute_hton(state_timeout);
- GNUNET_SERVER_transmit_context_append_message (pc->tc, &msg->header);
- GNUNET_free (msg);
- }
+ if ( (GNUNET_YES != pc->all) &&
+ (0 != memcmp (peer, &pc->id, sizeof (pc->id))) )
+ return;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Sending information about `%s' using address `%s' in state
`%s'\n",
+ GNUNET_i2s(peer),
+ (NULL != address) ? GST_plugins_a2s (address) : "<none>",
+ GNUNET_TRANSPORT_ps2s (state));
+ msg = compose_address_iterate_response_message (peer, address);
+ msg->state = htonl (state);
+ msg->state_timeout = GNUNET_TIME_absolute_hton(state_timeout);
+ GNUNET_SERVER_transmit_context_append_message (pc->tc, &msg->header);
+ GNUNET_free (msg);
}
@@ -1283,9 +1273,6 @@
(NULL != lookup_monitoring_client (peer_monitoring_clients_head,
client)) )
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
- "ServerClient %p tried to start monitoring twice\n",
- client);
GNUNET_break (0);
GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
return;
@@ -1295,7 +1282,9 @@
pc.tc = tc = GNUNET_SERVER_transmit_context_create (client);
/* Send initial list */
- if (0 == memcmp (&msg->peer, &all_zeros, sizeof (struct
GNUNET_PeerIdentity)))
+ if (0 == memcmp (&msg->peer,
+ &all_zeros,
+ sizeof (struct GNUNET_PeerIdentity)))
{
/* iterate over all neighbours */
pc.all = GNUNET_YES;
@@ -1356,9 +1345,6 @@
if ( (GNUNET_YES != ntohl (msg->one_shot)) &&
(NULL != lookup_monitoring_client (val_monitoring_clients_head,
client)) )
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
- "ServerClient %p tried to start monitoring twice\n",
- client);
GNUNET_break (0);
GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
return;
@@ -1368,7 +1354,9 @@
pc.tc = tc = GNUNET_SERVER_transmit_context_create (client);
/* Send initial list */
- if (0 == memcmp (&msg->peer, &all_zeros, sizeof (struct
GNUNET_PeerIdentity)))
+ if (0 == memcmp (&msg->peer,
+ &all_zeros,
+ sizeof (struct GNUNET_PeerIdentity)))
{
/* iterate over all neighbours */
pc.all = GNUNET_YES;
@@ -1380,9 +1368,9 @@
pc.all = GNUNET_NO;
pc.id = msg->peer;
}
+ GST_validation_iterate (&send_validation_information,
+ &pc);
- GST_validation_iterate (&send_validation_information, &pc);
-
if (GNUNET_YES != ntohl (msg->one_shot))
{
setup_val_monitoring_client (client, &msg->peer);
@@ -1390,7 +1378,7 @@
else
{
GNUNET_SERVER_transmit_context_append_data (tc, NULL, 0,
- GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_RESPONSE);
+
GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_RESPONSE);
}
GNUNET_SERVER_transmit_context_run (tc, GNUNET_TIME_UNIT_FOREVER_REL);
}
@@ -1653,23 +1641,19 @@
msg = compose_address_iterate_response_message (peer, address);
msg->state = htonl (state);
msg->state_timeout = GNUNET_TIME_absolute_hton (state_timeout);
- mc = peer_monitoring_clients_head;
- while (mc != NULL)
- {
+ for (mc = peer_monitoring_clients_head; NULL != mc; mc = mc->next)
if ((0 == memcmp (&mc->peer, &all_zeros,
sizeof (struct GNUNET_PeerIdentity))) ||
(0 == memcmp (&mc->peer, peer,
sizeof (struct GNUNET_PeerIdentity))))
- {
- GNUNET_SERVER_notification_context_unicast (peer_nc, mc->client,
- &msg->header, GNUNET_NO);
- }
-
- mc = mc->next;
- }
+ GNUNET_SERVER_notification_context_unicast (peer_nc,
+ mc->client,
+ &msg->header,
+ GNUNET_NO);
GNUNET_free (msg);
}
+
/**
* Broadcast the new validation changes to all clients monitoring the peer.
*
@@ -1693,27 +1677,22 @@
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Sending information about for validation entry for peer `%s'
using address `%s'\n",
- GNUNET_i2s(peer), (address != NULL) ? GST_plugins_a2s (address)
: "<none>");
-
+ GNUNET_i2s(peer),
+ (address != NULL) ? GST_plugins_a2s (address) : "<none>");
msg = compose_validation_iterate_response_message (peer, address);
msg->last_validation = GNUNET_TIME_absolute_hton(last_validation);
msg->valid_until = GNUNET_TIME_absolute_hton(valid_until);
msg->next_validation = GNUNET_TIME_absolute_hton(next_validation);
msg->state = htonl ((uint32_t) state);
- mc = val_monitoring_clients_head;
- while (mc != NULL)
- {
+ for (mc = val_monitoring_clients_head; NULL != mc; mc = mc->next)
if ((0 == memcmp (&mc->peer, &all_zeros,
sizeof (struct GNUNET_PeerIdentity))) ||
(0 == memcmp (&mc->peer, peer,
sizeof (struct GNUNET_PeerIdentity))))
- {
- GNUNET_SERVER_notification_context_unicast (val_nc, mc->client,
- &msg->header, GNUNET_NO);
-
- }
- mc = mc->next;
- }
+ GNUNET_SERVER_notification_context_unicast (val_nc,
+ mc->client,
+ &msg->header,
+ GNUNET_NO);
GNUNET_free (msg);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r34740 - gnunet/src/transport,
gnunet <=