@@ -36,6 +36,7 @@ def serialise_pl72(
36
36
broker : str = "localhost:9092" ,
37
37
metadata : str = "{}" ,
38
38
detector_spectrum_map : Optional [DetectorSpectrumMap ] = None ,
39
+ control_topic : str = "" ,
39
40
) -> bytes :
40
41
builder = flatbuffers .Builder (512 )
41
42
builder .ForceDefaults (True )
@@ -59,6 +60,7 @@ def serialise_pl72(
59
60
run_name_offset = builder .CreateString (run_name )
60
61
filename_offset = builder .CreateString (filename )
61
62
metadata_offset = builder .CreateString (metadata )
63
+ control_topic_offset = builder .CreateString (control_topic )
62
64
63
65
# Build detector-spectrum map
64
66
if detector_spectrum_map is not None :
@@ -97,6 +99,7 @@ def serialise_pl72(
97
99
RunStart .RunStartAddMetadata (builder , metadata_offset )
98
100
if detector_spectrum_map is not None :
99
101
RunStart .RunStartAddDetectorSpectrumMap (builder , detector_spectrum_map_offset )
102
+ RunStart .RunStartAddControlTopic (builder , control_topic_offset )
100
103
101
104
run_start_message = RunStart .RunStartEnd (builder )
102
105
@@ -116,6 +119,7 @@ class RunStartInfo(NamedTuple):
116
119
instrument_name : str = ""
117
120
metadata : str = ""
118
121
detector_spectrum_map : Optional [DetectorSpectrumMap ] = None
122
+ control_topic : str = ""
119
123
120
124
121
125
def deserialise_pl72 (buffer : Union [bytearray , bytes ]) -> RunStartInfo :
@@ -130,6 +134,7 @@ def deserialise_pl72(buffer: Union[bytearray, bytes]) -> RunStartInfo:
130
134
instrument_name = run_start .InstrumentName () if run_start .InstrumentName () else b""
131
135
run_name = run_start .RunName () if run_start .RunName () else b""
132
136
metadata = run_start .Metadata () if run_start .Metadata () else b""
137
+ control_topic = run_start .ControlTopic () if run_start .ControlTopic () else b""
133
138
134
139
detector_spectrum_map = None
135
140
det_spec_map_buf = run_start .DetectorSpectrumMap ()
@@ -152,4 +157,5 @@ def deserialise_pl72(buffer: Union[bytearray, bytes]) -> RunStartInfo:
152
157
broker = broker .decode (),
153
158
metadata = metadata .decode (),
154
159
detector_spectrum_map = detector_spectrum_map ,
160
+ control_topic = control_topic .decode (),
155
161
)
0 commit comments