@ -45,6 +45,7 @@
# include "tmqh-packetpool.h"
# include "tm-threads.h"
# include "util-optimize.h"
# include "flow-manager.h"
extern uint8_t suricata_ctl_flags ;
extern int max_pending_packets ;
@ -283,6 +284,8 @@ TmEcode ReceivePcapFileThreadDeinit(ThreadVars *tv, void *data) {
SCReturnInt ( TM_ECODE_OK ) ;
}
double prev_signaled_ts = 0 ;
TmEcode DecodePcapFile ( ThreadVars * tv , Packet * p , void * data , PacketQueue * pq , PacketQueue * postpq )
{
SCEnter ( ) ;
@ -301,6 +304,12 @@ TmEcode DecodePcapFile(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, P
SCPerfCounterAddUI64 ( dtv - > counter_avg_pkt_size , tv - > sc_perf_pca , GET_PKT_LEN ( p ) ) ;
SCPerfCounterSetUI64 ( dtv - > counter_max_pkt_size , tv - > sc_perf_pca , GET_PKT_LEN ( p ) ) ;
double curr_ts = p - > ts . tv_sec + p - > ts . tv_usec / 1000.0 ;
if ( curr_ts < prev_signaled_ts | | ( curr_ts - prev_signaled_ts ) > 2.0 ) {
prev_signaled_ts = curr_ts ;
FlowWakeupFlowManagerThread ( ) ;
}
/* update the engine time representation based on the timestamp
* of the packet . */
TimeSet ( & p - > ts ) ;