struct GNUNET_TIME_Relative ret;
struct GNUNET_HELLO_Address address;
uint16_t type;
+ static unsigned int bytes_total_received;
+ static unsigned int bytes_payload_received;
address.peer = *peer;
address.address = sender_address;
goto end;
type = ntohs (message->type);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received Message with type %u\n", type);
+
+ bytes_total_received += ntohs (message->size);
+ GNUNET_STATISTICS_set (GST_stats,
+ gettext_noop
+ ("# bytes total received"),
+ bytes_total_received, GNUNET_NO);
+
switch (type)
{
case GNUNET_MESSAGE_TYPE_HELLO:
break;
default:
/* should be payload */
+ bytes_payload_received += ntohs (message->size);
+ GNUNET_STATISTICS_set (GST_stats,
+ gettext_noop
+ ("# bytes payload received"),
+ bytes_payload_received, GNUNET_NO);
ret = process_payload (peer, &address, session, message, ats, ats_count);
break;
}
GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
return;
}
- GNUNET_STATISTICS_update (GST_stats,
- gettext_noop
- ("# bytes payload received for other peers"), msize,
- GNUNET_NO);
+
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);
*/
static int neighbours_connected;
+static unsigned int bytes_in_send_queue;
+static unsigned int bytes_received;
+
/**
* Lookup a neighbour entry in the neighbours hash map.
*
n->transmission_task = GNUNET_SCHEDULER_add_now (&transmission_task, n);
}
}
+
+ GNUNET_assert (bytes_in_send_queue >= mq->message_buf_size);
+ bytes_in_send_queue -= mq->message_buf_size;
+ GNUNET_STATISTICS_set (GST_stats,
+ gettext_noop
+ ("# bytes in message queue for other peers"),
+ bytes_in_send_queue, GNUNET_NO);
+
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Sending message of type %u was %s\n",
ntohs (((struct GNUNET_MessageHeader *) mq->message_buf)->type),
(success == GNUNET_OK) ? "successful" : "FAILED");
address_change_cb = peer_address_cb;
neighbours = GNUNET_CONTAINER_multihashmap_create (NEIGHBOUR_TABLE_SIZE);
neighbours_connected = 0;
+ bytes_in_send_queue = 0;
+ bytes_received = 0;
}
}
GNUNET_assert (msg_size >= sizeof (struct GNUNET_MessageHeader));
- GNUNET_STATISTICS_update (GST_stats,
- gettext_noop
- ("# bytes in message queue for other peers"),
- msg_size, GNUNET_NO);
+ bytes_in_send_queue += msg_size;
+ GNUNET_STATISTICS_set (GST_stats,
+ gettext_noop
+ ("# bytes in message queue for other peers"),
+ bytes_in_send_queue, GNUNET_NO);
mq = GNUNET_malloc (sizeof (struct MessageQueue) + msg_size);
mq->cont = cont;
mq->cont_cls = cont_cls;