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_error, repevt_assign, repevt_infra_rtt, repevt_traffic
 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

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


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

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 answer_check_it(), autotrust_check(), do_moment_and_advance(), moment_assign(), pending_find_match(), pending_tcp_query(), pending_udp_query(), replay_moment_read(), replay_scenario_read(), and run_scenario().

struct replay_moment* replay_moment::mom_next

Next replay moment in list of replay moments.

Referenced by advance_moment(), replay_scenario_delete(), and replay_scenario_read().

struct entry* replay_moment::match
struct sockaddr_storage replay_moment::addr

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

Referenced by answer_check_it(), do_infra_rtt(), fake_front_query(), pending_matches_current(), pending_tcp_query(), pending_udp_query(), and replay_moment_read().

char* replay_moment::variable
char* replay_moment::string

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