Changeset 32ee9b2 for lib/format_pcap.c


Ignore:
Timestamp:
06/26/18 18:05:08 (3 years ago)
Author:
Shane Alcock <salcock@…>
Branches:
cachetimestamps, develop, master, rc-4.0.4, ringdecrementfix, ringperformance
Children:
95ca714
Parents:
528a27c
Message:

Add new trace_flush_output() to public API

Can be used to force a libtrace output to dump any buffered output
to disk immediately.

Note that if the file is compressed or the output trace format
requires a trailer, the flushed file will still not be properly
readable afterwards as this will not result in any trailers
being written. You'll still have to close the file for that.

Mainly this is useful for ensuring that output file sizes grow
over time in situations where the amount of output is relatively
small, rather than staying stuck at 0 bytes until we either reach
1MB of output or the file is closed. For instance, you could have
a timer that calls trace_flush_output() every 30 seconds so that
the output file size will grow if any packets were written in the
last 30 seconds.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/format_pcap.c

    r5a70a80 r32ee9b2  
    583583}
    584584
     585static int pcap_flush_output(libtrace_out_t *libtrace) {
     586        return pcap_dump_flush(OUTPUT.trace.dump);
     587}
     588
    585589static int pcapint_write_packet(libtrace_out_t *libtrace,
    586590                libtrace_packet_t *packet)
     
    779783        NULL,                           /* fin_packet */
    780784        pcap_write_packet,              /* write_packet */
     785        pcap_flush_output,              /* flush_output */
    781786        pcap_get_link_type,             /* get_link_type */
    782787        pcapint_get_direction,          /* get_direction */
     
    823828        NULL,                           /* fin_packet */
    824829        pcapint_write_packet,           /* write_packet */
     830        NULL,                           /* flush_output */
    825831        pcap_get_link_type,             /* get_link_type */
    826832        pcapint_get_direction,          /* get_direction */
Note: See TracChangeset for help on using the changeset viewer.