Changeset 32ee9b2 for lib/libtrace.h.in


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/libtrace.h.in

    rcc9c9de r32ee9b2  
    15371537DLLEXPORT void trace_destroy_output(libtrace_out_t *trace);
    15381538
     1539/** Flush an output trace, forcing any buffered packets to be written
     1540 * @param libtrace      The output trace to be flushed
     1541 */
     1542DLLEXPORT int trace_flush_output(libtrace_out_t *libtrace);
     1543
    15391544/** Check (and clear) the current error state of an input trace
    15401545 * @param trace         The input trace to check the error state on
Note: See TracChangeset for help on using the changeset viewer.