*/
/**
+ * Total number of messages to send
+ *
* Note that this value must not significantly exceed
* 'MAX_PENDING' in 'gnunet-service-transport.c', otherwise
* messages may be dropped even for a reliable transport.
{
if (get_bit (bitmap, i) == 0)
{
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Did not receive message %d\n", i);
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Did not receive message %d\n", i);
ok = -1;
}
}
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Test had timeout while waiting to send data\n");
+ int i;
+
+ for (i = 0; i < TOTAL_MSGS; i++)
+ {
+ if (get_bit (bitmap, i) == 0)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Did not receive message %d\n", i);
+ ok = -1;
+ }
+ }
if (th != NULL)
GNUNET_TRANSPORT_notify_transmit_ready_cancel (th);
static int
get_bit (const char *map, unsigned int bit)
{
- if (bit >= TOTAL_MSGS)
+ if (bit > TOTAL_MSGS)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "get bit %d of %d(!?!?)\n", bit,
sizeof (bitmap) * 8);
if (GNUNET_SYSERR == set_bit (ntohl (hdr->num)))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Message id %u is bigger than maxmimum number of messages sent\n"),
+ _("Message id %u is bigger than maxmimum number of messages %u expected\n"),
ntohl (hdr->num), TOTAL_MSGS);
}
test_sending = GNUNET_YES;
s = get_size (n);
GNUNET_assert (size >= s);
GNUNET_assert (buf != NULL);
+ GNUNET_assert (n < TOTAL_MSGS);
cbuf = buf;
do
{
+ GNUNET_assert (n < TOTAL_MSGS);
hdr.header.size = htons (s);
hdr.header.type = htons (MTYPE);
hdr.num = htonl (n);
ret += sizeof (struct TestMessage);
memset (&cbuf[ret], n, s - sizeof (struct TestMessage));
ret += s - sizeof (struct TestMessage);
+
#if VERBOSE
if (n % 5000 == 0)
{
if (0 == GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 16))
break; /* sometimes pack buffer full, sometimes not */
}
- while (size - ret >= s);
+ while ((size - ret >= s) && (n < TOTAL_MSGS));
if (n < TOTAL_MSGS)
{
th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, s, 0,
sendtask ()
{
start_time = GNUNET_TIME_absolute_get ();
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Starting to send %u messages\n",
+ TOTAL_MSGS);
th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, get_size (0), 0,
TIMEOUT_TRANSMIT, ¬ify_ready,
NULL);