Changeset 733c8b4


Ignore:
Timestamp:
11/03/15 15:47:25 (5 years ago)
Author:
Shane Alcock <salcock@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
a984307, ea911b7
Parents:
f0cb0d4
Message:

Always automatically push TS ticks to the reporter

This now happens even if the packet ordering is based on timestamps,
as the ticks are not necessarily in the right order relative to other
packets in the queue.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/combiner_ordered.c

    r21c0d70 r733c8b4  
    5151                        c->last_ts_tick = peeked->key;
    5252
    53                         /* Tick doesn't match packet order */
    54                         if (!trace_is_parallel(trace)) {
    55                                 /* Pass straight to reporter */
    56                                 libtrace_generic_t gt = {.res = peeked};
    57                                 ASSERT_RET (libtrace_deque_pop_front(v, (void *) peeked), == 1);
    58                                 send_message(trace, &trace->reporter_thread,
    59                                                 MESSAGE_RESULT, gt,
    60                                                 &trace->reporter_thread);
    61                                 return 0;
    62                         }
    63                         /* Tick matches packet order */
    64                         *key = peeked->key;
    65                         return 1;
     53                        /* Pass straight to reporter */
     54                        libtrace_generic_t gt = {.res = peeked};
     55                        ASSERT_RET (libtrace_deque_pop_front(v, (void *) peeked), == 1);
     56                        send_message(trace, &trace->reporter_thread,
     57                                        MESSAGE_RESULT, gt,
     58                                        &trace->reporter_thread);
     59                        return 0;
    6660
    6761                } else {
     
    157151
    158152                ASSERT_RET (libtrace_deque_pop_front(&queues[min_queue], (void *) &r), == 1);
     153
     154                //printf("%lu %lu %lu %lu %d\n", key[0], key[1], key[2], key[3], min_queue);
    159155
    160156                send_message(trace, &trace->reporter_thread,
Note: See TracChangeset for help on using the changeset viewer.