DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
listrev.listrevapp_gen Namespace Reference

Functions

 get_listrev_app (nickname, host="localhost", n_wait_ms=100, request_timeout_ms=1000, request_rate_hz=10, generator_indicies=[], reverser_indicies=[], has_validator=False, n_generators=1, n_reversers=1, n_ints_min=50, n_ints_max=200, n_reqs=100)
 

Variables

 default_load_path
 

Function Documentation

◆ get_listrev_app()

listrev.listrevapp_gen.get_listrev_app ( nickname,
host = "localhost",
n_wait_ms = 100,
request_timeout_ms = 1000,
request_rate_hz = 10,
generator_indicies = [],
reverser_indicies = [],
has_validator = False,
n_generators = 1,
n_reversers = 1,
n_ints_min = 50,
n_ints_max = 200,
n_reqs = 100 )
Here an entire application is generated.

Definition at line 27 of file listrevapp_gen.py.

41):
42 """
43 Here an entire application is generated.
44 """
45 # Define modules
46
47 modules = []
48
49 modules += [
50 DAQModule(
51 name=f"rdlg{gidx}",
52 plugin="RandomDataListGenerator",
53 conf=rlg.ConfParams(send_timeout_ms=n_wait_ms, request_timeout_ms=request_timeout_ms, generator_id=gidx),
54 ) for gidx in generator_indicies
55 ]
56
57 modules += [
58 DAQModule(
59 name=f"lr{ridx}",
60 plugin="ListReverser",
61 conf=lr.ConfParams(
62 send_timeout_ms=n_wait_ms,
63 request_timeout_ms=request_timeout_ms,
64 num_generators=n_generators,
65 reverser_id=ridx
66 ),
67 ) for ridx in reverser_indicies
68 ]
69
70 if has_validator:
71 modules += [
72 DAQModule(
73 name="lrv",
74 plugin="ReversedListValidator",
75 conf=rlv.ConfParams(
76 send_timeout_ms=n_wait_ms,
77 request_timeout_ms=request_timeout_ms,
78 request_rate_hz=request_rate_hz,
79 max_outstanding_requests=n_reqs,
80 num_reversers=n_reversers,
81 num_generators=n_generators,
82 min_list_size=n_ints_min,
83 max_list_size=n_ints_max
84 ),
85 )
86 ]
87
88 mgraph = ModuleGraph(modules)
89
90 for gidx in generator_indicies:
91 for ridx in range(n_reversers):
92 mgraph.add_endpoint(f"lr{ridx}_list_connection", f"rdlg{gidx}.q{ridx}", "IntList", Direction.OUT)
93 mgraph.add_endpoint(
94 f"rdlg{gidx}_request_connection",
95 f"rdlg{gidx}.request_input",
96 "RequestList",
97 Direction.IN
98 )
99 mgraph.add_endpoint(f"creates", f"rdlg{gidx}.create_input", "CreateList", Direction.IN, is_pubsub=True, toposort=False)
100
101 for ridx in reverser_indicies:
102 mgraph.add_endpoint(f"lr{ridx}_list_connection", f"lr{ridx}.list_input", "IntList", Direction.IN)
103 mgraph.add_endpoint(f"validator_list_connection", f"lr{ridx}.output", "ReversedList", Direction.OUT)
104 mgraph.add_endpoint(
105 f"lr{ridx}_request_connection",
106 f"lr{ridx}.request_input",
107 "RequestList",
108 Direction.IN
109 )
110
111 for gidx in range(n_generators):
112 mgraph.add_endpoint(f"rdlg{gidx}_request_connection", f"lr{ridx}.request_output_{gidx}", "RequestList", Direction.OUT)
113
114 if has_validator:
115 mgraph.add_endpoint("validator_list_connection", "lrv.list_input", "ReversedList", Direction.IN)
116 for ridx in range(n_reversers):
117 mgraph.add_endpoint(
118 f"lr{ridx}_request_connection",
119 f"lrv.request_output_{ridx}",
120 "RequestList",
121 Direction.OUT
122 )
123 mgraph.add_endpoint(f"creates", "lrv.creates_out", "CreateList", Direction.OUT, is_pubsub=True, toposort=False)
124
125 lr_app = App(modulegraph=mgraph, host=host, name=nickname)
126
127 return lr_app

Variable Documentation

◆ default_load_path

listrev.listrevapp_gen.default_load_path

Definition at line 7 of file listrevapp_gen.py.