unbound: replay_moment Struct Reference

unbound 0.1

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 , repevt_flush_message , repevt_expire_message , repevt_traffic }
| what happens this moment? More...

## Data Fields
int | time_step
| The replay time step number.
struct replay_moment * | mom_next
| Next replay moment in list of replay moments.
enum replay_moment::replay_event_type | evt_type
| variable with what is to happen this moment
struct entry * | match
| The sent packet must match this.
struct timeval | elapse
| the amount of time that passes
struct sockaddr_storage | addr
| address that must be matched, or packet remote host address.
socklen_t | addrlen
| length of addr, if 0, then any address will do
char * | variable
| macro name, for assign.
char * | string
| string argument, for assign.
char * | autotrust_id
| the autotrust file id to check
struct config_strlist * | file_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

enum replay_moment::replay_event_type

what happens this moment?

Enumerator
repevt_nothing | nothing happens, as if this event is not there.
repevt_front_query | incoming query
repevt_front_reply | test fails if reply to query does not match
repevt_timeout | timeout
repevt_time_passes | time passes
repevt_back_reply | reply arrives from the network
repevt_back_query | test fails if query to the network does not match
repevt_autotrust_check | check autotrust key file
repevt_tempfile_check | check a temp file
repevt_error | an error happens to outbound query
repevt_assign | assignment to a variable
repevt_infra_rtt | store infra rtt cache entry: addr and string (int)
repevt_flush_message | flush message cache entry
repevt_expire_message | expire message cache entry
repevt_traffic | 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 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(), run_scenario(), and tempfile_check().

## ◆ match

struct entry* replay_moment::match

The sent packet must match this.

Incoming events, the data.

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

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

- testcode/replay.h