# HG changeset patch # User Florian Pose # Date 1164122028 0 # Node ID 9c58efb2c72d495a407382de7a322dab58334eaf # Parent 07a7c5951ebc96625cc27503c41766ff5e00e308 Introduced "starved" datagrams. diff -r 07a7c5951ebc -r 9c58efb2c72d master/master.c --- a/master/master.c Tue Nov 07 13:49:04 2006 +0000 +++ b/master/master.c Tue Nov 21 15:13:48 2006 +0000 @@ -129,6 +129,7 @@ master->debug_level = 0; master->stats.timeouts = 0; + master->stats.starved = 0; master->stats.corrupted = 0; master->stats.skipped = 0; master->stats.unmatched = 0; @@ -710,6 +711,11 @@ master->stats.timeouts == 1 ? "" : "s"); master->stats.timeouts = 0; } + if (master->stats.starved) { + EC_WARN("%i datagram%s STARVED!\n", master->stats.starved, + master->stats.starved == 1 ? "" : "s"); + master->stats.starved = 0; + } if (master->stats.corrupted) { EC_WARN("%i frame%s CORRUPTED!\n", master->stats.corrupted, master->stats.corrupted == 1 ? "" : "s"); @@ -1438,7 +1444,7 @@ - datagram->cycles_queued > cycles_timeout) { list_del_init(&datagram->queue); datagram->state = EC_DATAGRAM_TIMED_OUT; - master->stats.timeouts++; + master->stats.starved++; ec_master_output_stats(master); } break; diff -r 07a7c5951ebc -r 9c58efb2c72d master/master.h --- a/master/master.h Tue Nov 07 13:49:04 2006 +0000 +++ b/master/master.h Tue Nov 21 15:13:48 2006 +0000 @@ -75,6 +75,7 @@ typedef struct { unsigned int timeouts; /**< datagram timeouts */ + unsigned int starved; /**< starved datagrams (not even sent) */ unsigned int corrupted; /**< corrupted frames */ unsigned int skipped; /**< skipped datagrams (the ones that were requeued when not yet received) */