Public Types | Data Fields
replay_moment Struct Reference

A replay moment. More...

#include <replay.h>

Public Types

enum  replay_event_type {
  repevt_nothing, repevt_front_query, repevt_front_reply, repevt_timeout,
  repevt_time_passes, repevt_back_reply, repevt_back_query, repevt_autotrust_check,
  repevt_tempfile_check, repevt_error, repevt_assign, repevt_infra_rtt,
 what happens this moment? More...

Data Fields

int time_step
 The replay time step number. More...
struct replay_momentmom_next
 Next replay moment in list of replay moments. More...
enum replay_moment::replay_event_type evt_type
 variable with what is to happen this moment
struct entrymatch
 The sent packet must match this. More...
struct timeval elapse
 the amount of time that passes
struct sockaddr_storage addr
 address that must be matched, or packet remote host address. More...
socklen_t addrlen
 length of addr, if 0, then any address will do
char * variable
 macro name, for assign. More...
char * string
 string argument, for assign. More...
char * autotrust_id
 the autotrust file id to check
struct config_strlistfile_content
 file contents to match, one string per line

Detailed Description

A replay moment.

Basically, it consists of events to a fake select() call. This is a recording of an event that happens. And if output is presented, what is done with that.

Member Enumeration Documentation

◆ replay_event_type

what happens this moment?


nothing happens, as if this event is not there.


incoming query


test fails if reply to query does not match




time passes


reply arrives from the network


test fails if query to the network does not match


check autotrust key file


check a temp file


an error happens to outbound query


assignment to a variable


store infra rtt cache entry: addr and string (int)


cause traffic to flow

Field Documentation

◆ time_step

int replay_moment::time_step

The replay time step number.

Starts at 0, time is incremented every time the fake select() is run.

Referenced by do_moment_and_advance(), pending_find_match(), replay_moment_read(), and run_scenario().

◆ mom_next

struct replay_moment* replay_moment::mom_next

Next replay moment in list of replay moments.

Referenced by advance_moment(), and replay_scenario_delete().

◆ match

struct entry* replay_moment::match

The sent packet must match this.

Incoming events, the data.

Referenced by fake_front_query(), pending_matches_current(), and replay_moment_delete().

◆ addr

struct sockaddr_storage replay_moment::addr

address that must be matched, or packet remote host address.

Referenced by fake_front_query(), pending_matches_current(), and replay_moment_read().

◆ variable

char* replay_moment::variable

macro name, for assign.

Referenced by do_infra_rtt(), and replay_moment_delete().

◆ string

char* replay_moment::string

string argument, for assign.

Referenced by moment_assign(), replay_moment_delete(), and time_passes().

The documentation for this struct was generated from the following file: