actf 0.0.1
An acute CTF reader
Loading...
Searching...
No Matches
/home/adwe/code/actf/muxer.h File Reference

A muxer and its methods. More...

#include <stdint.h>
#include "event_generator.h"

Go to the source code of this file.

Typedefs

typedef struct actf_muxer actf_muxer
 A muxer, implements an actf_event_generator.

Functions

actf_muxeractf_muxer_init (struct actf_event_generator *gens, size_t gens_len, size_t evs_cap)
 Initialize a muxer.
int actf_muxer_mux (actf_muxer *m, actf_event ***evs, size_t *evs_len)
int actf_muxer_seek_ns_from_origin (actf_muxer *m, int64_t tstamp)
const char * actf_muxer_last_error (actf_muxer *m)
void actf_muxer_free (actf_muxer *m)
 Free a muxer.
struct actf_event_generator actf_muxer_to_generator (actf_muxer *m)
 Create an event generator based on a muxer.

Detailed Description

A muxer and its methods.

Function Documentation

◆ actf_muxer_init()

actf_muxer * actf_muxer_init ( struct actf_event_generator * gens,
size_t gens_len,
size_t evs_cap )

Initialize a muxer.

A muxer multiplexes the events of its generators in a time-ordered fashion based on their timestamp in nanoseconds from origin.

The generators must be kept available by the caller until it no longer wants to use the muxer.

Parameters
gensthe generators to multiplex
gens_lenthe number of generators
evs_capthe max event array capacity. If zero, ACTF_DEFAULT_EVS_CAP will be used.
Returns
a muxer or NULL with errno set. A returned muxer should be freed with actf_muxer_free().

◆ actf_muxer_mux()

int actf_muxer_mux ( actf_muxer * m,
actf_event *** evs,
size_t * evs_len )

◆ actf_muxer_seek_ns_from_origin()

int actf_muxer_seek_ns_from_origin ( actf_muxer * m,
int64_t tstamp )

◆ actf_muxer_last_error()

const char * actf_muxer_last_error ( actf_muxer * m)
See also
actf_last_error

◆ actf_muxer_free()

void actf_muxer_free ( actf_muxer * m)

Free a muxer.

Parameters
mthe muxer

◆ actf_muxer_to_generator()

struct actf_event_generator actf_muxer_to_generator ( actf_muxer * m)

Create an event generator based on a muxer.

The muxer is owned by the caller and must be kept alive as long as the event generator is in use.

Parameters
mthe muxer
Returns
an event generator