From fa4722178001e570d94e54253a0dd5b379633f66 Mon Sep 17 00:00:00 2001 From: James Paul Turner Date: Tue, 12 Aug 2025 23:03:01 +0100 Subject: [PATCH 1/8] Controller: Use new describe message. --- .../druncschema/controller_pb2.py | 59 ++++++++++--------- .../druncschema/controller_pb2_grpc.py | 7 ++- .../druncschema/description_pb2.py | 8 +-- .../druncschema/description_pb2.pyi | 46 +-------------- schema/druncschema/controller.proto | 5 +- schema/druncschema/description.proto | 16 +---- 6 files changed, 45 insertions(+), 96 deletions(-) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/python_not_for_dunedaq/druncschema/controller_pb2.py index 2945ded..3753612 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2.py @@ -23,10 +23,11 @@ from druncschema import request_response_pb2 as druncschema_dot_request__response__pb2 +from druncschema import description_pb2 as druncschema_dot_description__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x19google/protobuf/any.proto\"\xca\x01\n\x10\x41\x64\x64ressedCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x03 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x04 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x05 \x01(\x08\x42\x0f\n\r_command_data\"\xc9\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12\x41\n\targuments\x18\x02 \x03(\x0b\x32..dunedaq.druncschema.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x82\x01\n\x12\x46SMCommandResponse\x12\x32\n\x04\x66lag\x18\x01 \x01(\x0e\x32$.dunedaq.druncschema.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xd8\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x08presence\x18\x02 \x01(\x0e\x32&.dunedaq.druncschema.Argument.Presence\x12\x30\n\x04type\x18\x03 \x01(\x0e\x32\".dunedaq.druncschema.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x8d\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\xc9\x01\n\x16\x46SMCommandsDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x07session\x18\x03 \x01(\tH\x00\x88\x01\x01\x12<\n\x08\x63ommands\x18\x04 \x03(\x0b\x32*.dunedaq.druncschema.FSMCommandDescription\x12\x33\n\tsequences\x18\x05 \x03(\x0b\x32 .dunedaq.druncschema.FSMSequenceB\n\n\x08_session\"\x90\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12\x33\n\x08run_info\x18\x06 \x01(\x0b\x32\x1c.dunedaq.druncschema.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xfb\x06\n\nController\x12I\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0c\x64\x65scribe_fsm\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x19google/protobuf/any.proto\"\xca\x01\n\x10\x41\x64\x64ressedCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x03 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x04 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x05 \x01(\x08\x42\x0f\n\r_command_data\"\xc9\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12\x41\n\targuments\x18\x02 \x03(\x0b\x32..dunedaq.druncschema.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x82\x01\n\x12\x46SMCommandResponse\x12\x32\n\x04\x66lag\x18\x01 \x01(\x0e\x32$.dunedaq.druncschema.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xd8\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x08presence\x18\x02 \x01(\x0e\x32&.dunedaq.druncschema.Argument.Presence\x12\x30\n\x04type\x18\x03 \x01(\x0e\x32\".dunedaq.druncschema.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x8d\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\xc9\x01\n\x16\x46SMCommandsDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x07session\x18\x03 \x01(\tH\x00\x88\x01\x01\x12<\n\x08\x63ommands\x18\x04 \x03(\x0b\x32*.dunedaq.druncschema.FSMCommandDescription\x12\x33\n\tsequences\x18\x05 \x03(\x0b\x32 .dunedaq.druncschema.FSMSequenceB\n\n\x08_session\"\x90\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12\x33\n\x08run_info\x18\x06 \x01(\x0b\x32\x1c.dunedaq.druncschema.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xfe\x06\n\nController\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0c\x64\x65scribe_fsm\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -35,32 +36,32 @@ DESCRIPTOR._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_options = b'8\001' - _globals['_FSMRESPONSEFLAG']._serialized_start=1758 - _globals['_FSMRESPONSEFLAG']._serialized_end=1912 - _globals['_ADDRESSEDCOMMAND']._serialized_start=117 - _globals['_ADDRESSEDCOMMAND']._serialized_end=319 - _globals['_FSMCOMMAND']._serialized_start=322 - _globals['_FSMCOMMAND']._serialized_end=523 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=444 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=514 - _globals['_FSMCOMMANDRESPONSE']._serialized_start=526 - _globals['_FSMCOMMANDRESPONSE']._serialized_end=656 - _globals['_ARGUMENT']._serialized_start=659 - _globals['_ARGUMENT']._serialized_end=1003 - _globals['_ARGUMENT_PRESENCE']._serialized_start=896 - _globals['_ARGUMENT_PRESENCE']._serialized_end=935 - _globals['_ARGUMENT_TYPE']._serialized_start=937 - _globals['_ARGUMENT_TYPE']._serialized_end=985 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1006 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=1147 - _globals['_FSMSEQUENCE']._serialized_start=1149 - _globals['_FSMSEQUENCE']._serialized_end=1195 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=1198 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=1399 - _globals['_STATUS']._serialized_start=1402 - _globals['_STATUS']._serialized_end=1546 - _globals['_RUNINFO']._serialized_start=1549 - _globals['_RUNINFO']._serialized_end=1755 - _globals['_CONTROLLER']._serialized_start=1915 - _globals['_CONTROLLER']._serialized_end=2806 + _globals['_FSMRESPONSEFLAG']._serialized_start=1789 + _globals['_FSMRESPONSEFLAG']._serialized_end=1943 + _globals['_ADDRESSEDCOMMAND']._serialized_start=148 + _globals['_ADDRESSEDCOMMAND']._serialized_end=350 + _globals['_FSMCOMMAND']._serialized_start=353 + _globals['_FSMCOMMAND']._serialized_end=554 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=475 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=545 + _globals['_FSMCOMMANDRESPONSE']._serialized_start=557 + _globals['_FSMCOMMANDRESPONSE']._serialized_end=687 + _globals['_ARGUMENT']._serialized_start=690 + _globals['_ARGUMENT']._serialized_end=1034 + _globals['_ARGUMENT_PRESENCE']._serialized_start=927 + _globals['_ARGUMENT_PRESENCE']._serialized_end=966 + _globals['_ARGUMENT_TYPE']._serialized_start=968 + _globals['_ARGUMENT_TYPE']._serialized_end=1016 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1037 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=1178 + _globals['_FSMSEQUENCE']._serialized_start=1180 + _globals['_FSMSEQUENCE']._serialized_end=1226 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=1229 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=1430 + _globals['_STATUS']._serialized_start=1433 + _globals['_STATUS']._serialized_end=1577 + _globals['_RUNINFO']._serialized_start=1580 + _globals['_RUNINFO']._serialized_end=1786 + _globals['_CONTROLLER']._serialized_start=1946 + _globals['_CONTROLLER']._serialized_end=2840 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py index 3745775..fe88126 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py @@ -3,6 +3,7 @@ import grpc import warnings +from druncschema import description_pb2 as druncschema_dot_description__pb2 from druncschema import request_response_pb2 as druncschema_dot_request__response__pb2 GRPC_GENERATED_VERSION = '1.68.0' @@ -37,7 +38,7 @@ def __init__(self, channel): self.describe = channel.unary_unary( '/dunedaq.druncschema.Controller/describe', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, + response_deserializer=druncschema_dot_description__pb2.Description.FromString, _registered_method=True) self.status = channel.unary_unary( '/dunedaq.druncschema.Controller/status', @@ -166,7 +167,7 @@ def add_ControllerServicer_to_server(servicer, server): 'describe': grpc.unary_unary_rpc_method_handler( servicer.describe, request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, + response_serializer=druncschema_dot_description__pb2.Description.SerializeToString, ), 'status': grpc.unary_unary_rpc_method_handler( servicer.status, @@ -245,7 +246,7 @@ def describe(request, target, '/dunedaq.druncschema.Controller/describe', druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, + druncschema_dot_description__pb2.Description.FromString, options, channel_credentials, insecure, diff --git a/python_not_for_dunedaq/druncschema/description_pb2.py b/python_not_for_dunedaq/druncschema/description_pb2.py index b49b420..f34d50c 100644 --- a/python_not_for_dunedaq/druncschema/description_pb2.py +++ b/python_not_for_dunedaq/druncschema/description_pb2.py @@ -27,7 +27,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x64runcschema/description.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"X\n\x12\x43ommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\"\xf3\x01\n\x0eOldDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x03 \x01(\t\x12\x11\n\x04info\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07session\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x08\x63ommands\x18\x06 \x03(\x0b\x32\'.dunedaq.druncschema.CommandDescription\x12,\n\tbroadcast\x18\x07 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02\x88\x01\x01\x42\x07\n\x05_infoB\n\n\x08_sessionB\x0c\n\n_broadcast\"\x80\x03\n\x0b\x44\x65scription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12)\n\x05token\x18\x03 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x11\n\x04info\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07session\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x08\x63ommands\x18\x07 \x03(\x0b\x32\'.dunedaq.druncschema.CommandDescription\x12,\n\tbroadcast\x18\x08 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02\x88\x01\x01\x12/\n\x04\x66lag\x18\t \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\x12\x32\n\x08\x63hildren\x18\n \x03(\x0b\x32 .dunedaq.druncschema.DescriptionB\x07\n\x05_infoB\n\n\x08_sessionB\x0c\n\n_broadcastb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x64runcschema/description.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"X\n\x12\x43ommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\"\x80\x03\n\x0b\x44\x65scription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x11\n\x04info\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07session\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x08\x63ommands\x18\x07 \x03(\x0b\x32\'.dunedaq.druncschema.CommandDescription\x12,\n\tbroadcast\x18\x08 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02\x88\x01\x01\x12/\n\x04\x66lag\x18\t \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\x12\x32\n\x08\x63hildren\x18\n \x03(\x0b\x32 .dunedaq.druncschema.DescriptionB\x07\n\x05_infoB\n\n\x08_sessionB\x0c\n\n_broadcastb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,8 +36,6 @@ DESCRIPTOR._loaded_options = None _globals['_COMMANDDESCRIPTION']._serialized_start=142 _globals['_COMMANDDESCRIPTION']._serialized_end=230 - _globals['_OLDDESCRIPTION']._serialized_start=233 - _globals['_OLDDESCRIPTION']._serialized_end=476 - _globals['_DESCRIPTION']._serialized_start=479 - _globals['_DESCRIPTION']._serialized_end=863 + _globals['_DESCRIPTION']._serialized_start=233 + _globals['_DESCRIPTION']._serialized_end=617 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/description_pb2.pyi b/python_not_for_dunedaq/druncschema/description_pb2.pyi index 12e203a..df45cb7 100644 --- a/python_not_for_dunedaq/druncschema/description_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/description_pb2.pyi @@ -40,55 +40,13 @@ class CommandDescription(google.protobuf.message.Message): global___CommandDescription = CommandDescription -@typing.final -class OldDescription(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - ENDPOINT_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - SESSION_FIELD_NUMBER: builtins.int - COMMANDS_FIELD_NUMBER: builtins.int - BROADCAST_FIELD_NUMBER: builtins.int - type: builtins.str - name: builtins.str - endpoint: builtins.str - info: builtins.str - session: builtins.str - @property - def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommandDescription]: ... - @property - def broadcast(self) -> google.protobuf.any_pb2.Any: ... - def __init__( - self, - *, - type: builtins.str = ..., - name: builtins.str = ..., - endpoint: builtins.str = ..., - info: builtins.str | None = ..., - session: builtins.str | None = ..., - commands: collections.abc.Iterable[global___CommandDescription] | None = ..., - broadcast: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "info", b"info", "session", b"session"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "commands", b"commands", "endpoint", b"endpoint", "info", b"info", "name", b"name", "session", b"session", "type", b"type"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_broadcast", b"_broadcast"]) -> typing.Literal["broadcast"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_info", b"_info"]) -> typing.Literal["info"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_session", b"_session"]) -> typing.Literal["session"] | None: ... - -global___OldDescription = OldDescription - @typing.final class Description(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + TOKEN_FIELD_NUMBER: builtins.int TYPE_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int - TOKEN_FIELD_NUMBER: builtins.int ENDPOINT_FIELD_NUMBER: builtins.int INFO_FIELD_NUMBER: builtins.int SESSION_FIELD_NUMBER: builtins.int @@ -113,9 +71,9 @@ class Description(google.protobuf.message.Message): def __init__( self, *, + token: druncschema.token_pb2.Token | None = ..., type: builtins.str = ..., name: builtins.str = ..., - token: druncschema.token_pb2.Token | None = ..., endpoint: builtins.str = ..., info: builtins.str | None = ..., session: builtins.str | None = ..., diff --git a/schema/druncschema/controller.proto b/schema/druncschema/controller.proto index 042f157..c4096e1 100644 --- a/schema/druncschema/controller.proto +++ b/schema/druncschema/controller.proto @@ -3,10 +3,11 @@ syntax = "proto3"; package dunedaq.druncschema; import "druncschema/request_response.proto"; +import "druncschema/description.proto"; import "google/protobuf/any.proto"; service Controller { - rpc describe (Request) returns (Response) {} + rpc describe (Request) returns (Description) {} rpc status (Request) returns (Response) {} rpc describe_fsm (Request) returns (Response) {} @@ -108,4 +109,4 @@ message RunInfo { uint32 run_time_since_start = 6; string run_config_file = 7; string run_config_name = 8; -} \ No newline at end of file +} diff --git a/schema/druncschema/description.proto b/schema/druncschema/description.proto index d30d69e..2122de3 100644 --- a/schema/druncschema/description.proto +++ b/schema/druncschema/description.proto @@ -13,20 +13,10 @@ message CommandDescription { string return_type = 4; } -message OldDescription { - string type = 1; - string name = 2; - string endpoint = 3; - optional string info = 4; - optional string session = 5; - repeated CommandDescription commands = 6; - optional google.protobuf.Any broadcast = 7; -} - message Description { - string type = 1; - string name = 2; - Token token = 3; + Token token = 1; + string type = 2; + string name = 3; string endpoint = 4; optional string info = 5; optional string session = 6; From ee70ce294c0741472eaf2950ecc146e63cad511c Mon Sep 17 00:00:00 2001 From: James Paul Turner Date: Tue, 12 Aug 2025 23:09:25 +0100 Subject: [PATCH 2/8] Add a temp token until auth is setup. --- .../druncschema/controller_pb2.py | 59 ++++++++++--------- .../druncschema/controller_pb2.pyi | 9 ++- schema/druncschema/controller.proto | 12 ++-- 3 files changed, 44 insertions(+), 36 deletions(-) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/python_not_for_dunedaq/druncschema/controller_pb2.py index 3753612..939374c 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2.py @@ -24,10 +24,11 @@ from druncschema import request_response_pb2 as druncschema_dot_request__response__pb2 from druncschema import description_pb2 as druncschema_dot_description__pb2 +from druncschema import token_pb2 as druncschema_dot_token__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x19google/protobuf/any.proto\"\xca\x01\n\x10\x41\x64\x64ressedCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x03 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x04 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x05 \x01(\x08\x42\x0f\n\r_command_data\"\xc9\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12\x41\n\targuments\x18\x02 \x03(\x0b\x32..dunedaq.druncschema.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x82\x01\n\x12\x46SMCommandResponse\x12\x32\n\x04\x66lag\x18\x01 \x01(\x0e\x32$.dunedaq.druncschema.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xd8\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x08presence\x18\x02 \x01(\x0e\x32&.dunedaq.druncschema.Argument.Presence\x12\x30\n\x04type\x18\x03 \x01(\x0e\x32\".dunedaq.druncschema.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x8d\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\xc9\x01\n\x16\x46SMCommandsDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x07session\x18\x03 \x01(\tH\x00\x88\x01\x01\x12<\n\x08\x63ommands\x18\x04 \x03(\x0b\x32*.dunedaq.druncschema.FSMCommandDescription\x12\x33\n\tsequences\x18\x05 \x03(\x0b\x32 .dunedaq.druncschema.FSMSequenceB\n\n\x08_session\"\x90\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12\x33\n\x08run_info\x18\x06 \x01(\x0b\x32\x1c.dunedaq.druncschema.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xfe\x06\n\nController\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0c\x64\x65scribe_fsm\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xc9\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12\x41\n\targuments\x18\x02 \x03(\x0b\x32..dunedaq.druncschema.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x82\x01\n\x12\x46SMCommandResponse\x12\x32\n\x04\x66lag\x18\x01 \x01(\x0e\x32$.dunedaq.druncschema.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xd8\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x08presence\x18\x02 \x01(\x0e\x32&.dunedaq.druncschema.Argument.Presence\x12\x30\n\x04type\x18\x03 \x01(\x0e\x32\".dunedaq.druncschema.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x8d\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\xc9\x01\n\x16\x46SMCommandsDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x07session\x18\x03 \x01(\tH\x00\x88\x01\x01\x12<\n\x08\x63ommands\x18\x04 \x03(\x0b\x32*.dunedaq.druncschema.FSMCommandDescription\x12\x33\n\tsequences\x18\x05 \x03(\x0b\x32 .dunedaq.druncschema.FSMSequenceB\n\n\x08_session\"\x90\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12\x33\n\x08run_info\x18\x06 \x01(\x0b\x32\x1c.dunedaq.druncschema.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xfe\x06\n\nController\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0c\x64\x65scribe_fsm\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,32 +37,32 @@ DESCRIPTOR._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_options = b'8\001' - _globals['_FSMRESPONSEFLAG']._serialized_start=1789 - _globals['_FSMRESPONSEFLAG']._serialized_end=1943 - _globals['_ADDRESSEDCOMMAND']._serialized_start=148 - _globals['_ADDRESSEDCOMMAND']._serialized_end=350 - _globals['_FSMCOMMAND']._serialized_start=353 - _globals['_FSMCOMMAND']._serialized_end=554 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=475 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=545 - _globals['_FSMCOMMANDRESPONSE']._serialized_start=557 - _globals['_FSMCOMMANDRESPONSE']._serialized_end=687 - _globals['_ARGUMENT']._serialized_start=690 - _globals['_ARGUMENT']._serialized_end=1034 - _globals['_ARGUMENT_PRESENCE']._serialized_start=927 - _globals['_ARGUMENT_PRESENCE']._serialized_end=966 - _globals['_ARGUMENT_TYPE']._serialized_start=968 - _globals['_ARGUMENT_TYPE']._serialized_end=1016 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1037 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=1178 - _globals['_FSMSEQUENCE']._serialized_start=1180 - _globals['_FSMSEQUENCE']._serialized_end=1226 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=1229 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=1430 - _globals['_STATUS']._serialized_start=1433 - _globals['_STATUS']._serialized_end=1577 - _globals['_RUNINFO']._serialized_start=1580 - _globals['_RUNINFO']._serialized_end=1786 - _globals['_CONTROLLER']._serialized_start=1946 - _globals['_CONTROLLER']._serialized_end=2840 + _globals['_FSMRESPONSEFLAG']._serialized_start=1857 + _globals['_FSMRESPONSEFLAG']._serialized_end=2011 + _globals['_ADDRESSEDCOMMAND']._serialized_start=173 + _globals['_ADDRESSEDCOMMAND']._serialized_end=418 + _globals['_FSMCOMMAND']._serialized_start=421 + _globals['_FSMCOMMAND']._serialized_end=622 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=543 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=613 + _globals['_FSMCOMMANDRESPONSE']._serialized_start=625 + _globals['_FSMCOMMANDRESPONSE']._serialized_end=755 + _globals['_ARGUMENT']._serialized_start=758 + _globals['_ARGUMENT']._serialized_end=1102 + _globals['_ARGUMENT_PRESENCE']._serialized_start=995 + _globals['_ARGUMENT_PRESENCE']._serialized_end=1034 + _globals['_ARGUMENT_TYPE']._serialized_start=1036 + _globals['_ARGUMENT_TYPE']._serialized_end=1084 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1105 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=1246 + _globals['_FSMSEQUENCE']._serialized_start=1248 + _globals['_FSMSEQUENCE']._serialized_end=1294 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=1297 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=1498 + _globals['_STATUS']._serialized_start=1501 + _globals['_STATUS']._serialized_end=1645 + _globals['_RUNINFO']._serialized_start=1648 + _globals['_RUNINFO']._serialized_end=1854 + _globals['_CONTROLLER']._serialized_start=2014 + _globals['_CONTROLLER']._serialized_end=2908 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.pyi b/python_not_for_dunedaq/druncschema/controller_pb2.pyi index ff539d2..16a5b3a 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/controller_pb2.pyi @@ -5,6 +5,7 @@ isort:skip_file import builtins import collections.abc +import druncschema.token_pb2 import google.protobuf.any_pb2 import google.protobuf.descriptor import google.protobuf.internal.containers @@ -45,6 +46,7 @@ global___FSMResponseFlag = FSMResponseFlag class AddressedCommand(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + TOKEN_FIELD_NUMBER: builtins.int COMMAND_NAME_FIELD_NUMBER: builtins.int COMMAND_DATA_FIELD_NUMBER: builtins.int TARGET_FIELD_NUMBER: builtins.int @@ -55,18 +57,21 @@ class AddressedCommand(google.protobuf.message.Message): execute_along_path: builtins.bool execute_on_all_subsequent_children_in_path: builtins.bool @property + def token(self) -> druncschema.token_pb2.Token: ... + @property def command_data(self) -> google.protobuf.any_pb2.Any: ... def __init__( self, *, + token: druncschema.token_pb2.Token | None = ..., command_name: builtins.str = ..., command_data: google.protobuf.any_pb2.Any | None = ..., target: builtins.str = ..., execute_along_path: builtins.bool = ..., execute_on_all_subsequent_children_in_path: builtins.bool = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_command_data", b"_command_data", "command_data", b"command_data"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_command_data", b"_command_data", "command_data", b"command_data", "command_name", b"command_name", "execute_along_path", b"execute_along_path", "execute_on_all_subsequent_children_in_path", b"execute_on_all_subsequent_children_in_path", "target", b"target"]) -> None: ... + def HasField(self, field_name: typing.Literal["_command_data", b"_command_data", "command_data", b"command_data", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_command_data", b"_command_data", "command_data", b"command_data", "command_name", b"command_name", "execute_along_path", b"execute_along_path", "execute_on_all_subsequent_children_in_path", b"execute_on_all_subsequent_children_in_path", "target", b"target", "token", b"token"]) -> None: ... def WhichOneof(self, oneof_group: typing.Literal["_command_data", b"_command_data"]) -> typing.Literal["command_data"] | None: ... global___AddressedCommand = AddressedCommand diff --git a/schema/druncschema/controller.proto b/schema/druncschema/controller.proto index c4096e1..c4b9a2e 100644 --- a/schema/druncschema/controller.proto +++ b/schema/druncschema/controller.proto @@ -4,6 +4,7 @@ package dunedaq.druncschema; import "druncschema/request_response.proto"; import "druncschema/description.proto"; +import "druncschema/token.proto"; import "google/protobuf/any.proto"; service Controller { @@ -23,11 +24,12 @@ service Controller { } message AddressedCommand { - string command_name = 1; - optional google.protobuf.Any command_data = 2; - string target = 3; - bool execute_along_path = 4; - bool execute_on_all_subsequent_children_in_path = 5; + Token token = 1; + string command_name = 2; + optional google.protobuf.Any command_data = 3; + string target = 4; + bool execute_along_path = 5; + bool execute_on_all_subsequent_children_in_path = 6; } message FSMCommand { From 51d50513f86cfc8938cd0d41f40c790996b23750 Mon Sep 17 00:00:00 2001 From: James Paul Turner Date: Wed, 13 Aug 2025 12:07:50 +0100 Subject: [PATCH 3/8] Controller describe and describe_fsm service. --- .../druncschema/controller_pb2.py | 20 +++++----- .../druncschema/controller_pb2.pyi | 8 +++- .../druncschema/controller_pb2_grpc.py | 19 +++++----- schema/druncschema/controller.proto | 37 ++++++++++--------- 4 files changed, 45 insertions(+), 39 deletions(-) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/python_not_for_dunedaq/druncschema/controller_pb2.py index 939374c..9d83d69 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2.py @@ -28,7 +28,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xc9\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12\x41\n\targuments\x18\x02 \x03(\x0b\x32..dunedaq.druncschema.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x82\x01\n\x12\x46SMCommandResponse\x12\x32\n\x04\x66lag\x18\x01 \x01(\x0e\x32$.dunedaq.druncschema.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xd8\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x08presence\x18\x02 \x01(\x0e\x32&.dunedaq.druncschema.Argument.Presence\x12\x30\n\x04type\x18\x03 \x01(\x0e\x32\".dunedaq.druncschema.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x8d\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\xc9\x01\n\x16\x46SMCommandsDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x07session\x18\x03 \x01(\tH\x00\x88\x01\x01\x12<\n\x08\x63ommands\x18\x04 \x03(\x0b\x32*.dunedaq.druncschema.FSMCommandDescription\x12\x33\n\tsequences\x18\x05 \x03(\x0b\x32 .dunedaq.druncschema.FSMSequenceB\n\n\x08_session\"\x90\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12\x33\n\x08run_info\x18\x06 \x01(\x0b\x32\x1c.dunedaq.druncschema.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xfe\x06\n\nController\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0c\x64\x65scribe_fsm\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xc9\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12\x41\n\targuments\x18\x02 \x03(\x0b\x32..dunedaq.druncschema.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x82\x01\n\x12\x46SMCommandResponse\x12\x32\n\x04\x66lag\x18\x01 \x01(\x0e\x32$.dunedaq.druncschema.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xd8\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x08presence\x18\x02 \x01(\x0e\x32&.dunedaq.druncschema.Argument.Presence\x12\x30\n\x04type\x18\x03 \x01(\x0e\x32\".dunedaq.druncschema.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x8d\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\xf4\x01\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12<\n\x08\x63ommands\x18\x05 \x03(\x0b\x32*.dunedaq.druncschema.FSMCommandDescription\x12\x33\n\tsequences\x18\x06 \x03(\x0b\x32 .dunedaq.druncschema.FSMSequenceB\n\n\x08_session\"\x90\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12\x33\n\x08run_info\x18\x06 \x01(\x0b\x32\x1c.dunedaq.druncschema.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\x9e\x07\n\nController\x12U\n\x08\x64\x65scribe\x12%.dunedaq.druncschema.AddressedCommand\x1a .dunedaq.druncschema.Description\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12\x64\n\x0c\x64\x65scribe_fsm\x12%.dunedaq.druncschema.AddressedCommand\x1a+.dunedaq.druncschema.FSMCommandsDescription\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,8 +37,8 @@ DESCRIPTOR._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_options = b'8\001' - _globals['_FSMRESPONSEFLAG']._serialized_start=1857 - _globals['_FSMRESPONSEFLAG']._serialized_end=2011 + _globals['_FSMRESPONSEFLAG']._serialized_start=1900 + _globals['_FSMRESPONSEFLAG']._serialized_end=2054 _globals['_ADDRESSEDCOMMAND']._serialized_start=173 _globals['_ADDRESSEDCOMMAND']._serialized_end=418 _globals['_FSMCOMMAND']._serialized_start=421 @@ -58,11 +58,11 @@ _globals['_FSMSEQUENCE']._serialized_start=1248 _globals['_FSMSEQUENCE']._serialized_end=1294 _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=1297 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=1498 - _globals['_STATUS']._serialized_start=1501 - _globals['_STATUS']._serialized_end=1645 - _globals['_RUNINFO']._serialized_start=1648 - _globals['_RUNINFO']._serialized_end=1854 - _globals['_CONTROLLER']._serialized_start=2014 - _globals['_CONTROLLER']._serialized_end=2908 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=1541 + _globals['_STATUS']._serialized_start=1544 + _globals['_STATUS']._serialized_end=1688 + _globals['_RUNINFO']._serialized_start=1691 + _globals['_RUNINFO']._serialized_end=1897 + _globals['_CONTROLLER']._serialized_start=2057 + _globals['_CONTROLLER']._serialized_end=2983 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.pyi b/python_not_for_dunedaq/druncschema/controller_pb2.pyi index 16a5b3a..6329998 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/controller_pb2.pyi @@ -258,6 +258,7 @@ global___FSMSequence = FSMSequence class FSMCommandsDescription(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + TOKEN_FIELD_NUMBER: builtins.int TYPE_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int SESSION_FIELD_NUMBER: builtins.int @@ -267,20 +268,23 @@ class FSMCommandsDescription(google.protobuf.message.Message): name: builtins.str session: builtins.str @property + def token(self) -> druncschema.token_pb2.Token: ... + @property def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FSMCommandDescription]: ... @property def sequences(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FSMSequence]: ... def __init__( self, *, + token: druncschema.token_pb2.Token | None = ..., type: builtins.str = ..., name: builtins.str = ..., session: builtins.str | None = ..., commands: collections.abc.Iterable[global___FSMCommandDescription] | None = ..., sequences: collections.abc.Iterable[global___FSMSequence] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_session", b"_session", "session", b"session"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_session", b"_session", "commands", b"commands", "name", b"name", "sequences", b"sequences", "session", b"session", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["_session", b"_session", "session", b"session", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_session", b"_session", "commands", b"commands", "name", b"name", "sequences", b"sequences", "session", b"session", "token", b"token", "type", b"type"]) -> None: ... def WhichOneof(self, oneof_group: typing.Literal["_session", b"_session"]) -> typing.Literal["session"] | None: ... global___FSMCommandsDescription = FSMCommandsDescription diff --git a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py index fe88126..d273a30 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py @@ -3,6 +3,7 @@ import grpc import warnings +from druncschema import controller_pb2 as druncschema_dot_controller__pb2 from druncschema import description_pb2 as druncschema_dot_description__pb2 from druncschema import request_response_pb2 as druncschema_dot_request__response__pb2 @@ -37,7 +38,7 @@ def __init__(self, channel): """ self.describe = channel.unary_unary( '/dunedaq.druncschema.Controller/describe', - request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, + request_serializer=druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, response_deserializer=druncschema_dot_description__pb2.Description.FromString, _registered_method=True) self.status = channel.unary_unary( @@ -47,8 +48,8 @@ def __init__(self, channel): _registered_method=True) self.describe_fsm = channel.unary_unary( '/dunedaq.druncschema.Controller/describe_fsm', - request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, + request_serializer=druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, + response_deserializer=druncschema_dot_controller__pb2.FSMCommandsDescription.FromString, _registered_method=True) self.execute_fsm_command = channel.unary_unary( '/dunedaq.druncschema.Controller/execute_fsm_command', @@ -166,7 +167,7 @@ def add_ControllerServicer_to_server(servicer, server): rpc_method_handlers = { 'describe': grpc.unary_unary_rpc_method_handler( servicer.describe, - request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, + request_deserializer=druncschema_dot_controller__pb2.AddressedCommand.FromString, response_serializer=druncschema_dot_description__pb2.Description.SerializeToString, ), 'status': grpc.unary_unary_rpc_method_handler( @@ -176,8 +177,8 @@ def add_ControllerServicer_to_server(servicer, server): ), 'describe_fsm': grpc.unary_unary_rpc_method_handler( servicer.describe_fsm, - request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, + request_deserializer=druncschema_dot_controller__pb2.AddressedCommand.FromString, + response_serializer=druncschema_dot_controller__pb2.FSMCommandsDescription.SerializeToString, ), 'execute_fsm_command': grpc.unary_unary_rpc_method_handler( servicer.execute_fsm_command, @@ -245,7 +246,7 @@ def describe(request, request, target, '/dunedaq.druncschema.Controller/describe', - druncschema_dot_request__response__pb2.Request.SerializeToString, + druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, druncschema_dot_description__pb2.Description.FromString, options, channel_credentials, @@ -299,8 +300,8 @@ def describe_fsm(request, request, target, '/dunedaq.druncschema.Controller/describe_fsm', - druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, + druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, + druncschema_dot_controller__pb2.FSMCommandsDescription.FromString, options, channel_credentials, insecure, diff --git a/schema/druncschema/controller.proto b/schema/druncschema/controller.proto index c4b9a2e..6b4a312 100644 --- a/schema/druncschema/controller.proto +++ b/schema/druncschema/controller.proto @@ -8,19 +8,19 @@ import "druncschema/token.proto"; import "google/protobuf/any.proto"; service Controller { - rpc describe (Request) returns (Description) {} - rpc status (Request) returns (Response) {} - - rpc describe_fsm (Request) returns (Response) {} - rpc execute_fsm_command (Request) returns (Response) {} - rpc execute_expert_command (Request) returns (Response) {} - rpc include (Request) returns (Response) {} - rpc exclude (Request) returns (Response) {} - rpc recompute_status (Request) returns (Response) {} - - rpc take_control (Request) returns (Response) {} - rpc surrender_control (Request) returns (Response) {} - rpc who_is_in_charge (Request) returns (Response) {} + rpc describe (AddressedCommand) returns (Description) {} + rpc status (Request) returns (Response) {} + + rpc describe_fsm (AddressedCommand) returns (FSMCommandsDescription) {} + rpc execute_fsm_command (Request) returns (Response) {} + rpc execute_expert_command (Request) returns (Response) {} + rpc include (Request) returns (Response) {} + rpc exclude (Request) returns (Response) {} + rpc recompute_status (Request) returns (Response) {} + + rpc take_control (Request) returns (Response) {} + rpc surrender_control (Request) returns (Response) {} + rpc who_is_in_charge (Request) returns (Response) {} } message AddressedCommand { @@ -86,11 +86,12 @@ message FSMSequence { } message FSMCommandsDescription { - string type = 1; - string name = 2; - optional string session = 3; - repeated FSMCommandDescription commands = 4; - repeated FSMSequence sequences = 5; + Token token = 1; + string type = 2; + string name = 3; + optional string session = 4; + repeated FSMCommandDescription commands = 5; + repeated FSMSequence sequences = 6; } From 5884cfc8a74a2448aebae251a2f06f87379858f6 Mon Sep 17 00:00:00 2001 From: James Paul Turner Date: Mon, 18 Aug 2025 23:45:37 +0100 Subject: [PATCH 4/8] Controller: response types for describe and describe_fsm. --- .../druncschema/controller_pb2.py | 62 ++++++++------- .../druncschema/controller_pb2.pyi | 64 +++++++++++++++ .../druncschema/controller_pb2_grpc.py | 61 +++++++-------- .../druncschema/description_pb2.py | 4 +- .../druncschema/description_pb2.pyi | 6 +- .../druncschema/process_manager_pb2.py | 78 +++++++++---------- .../druncschema/process_manager_pb2_grpc.py | 36 ++++----- .../druncschema/session_manager_pb2.py | 22 +++--- .../druncschema/session_manager_pb2_grpc.py | 16 ++-- schema/druncschema/controller.proto | 22 +++++- schema/druncschema/description.proto | 1 - schema/druncschema/process_manager.proto | 2 +- schema/druncschema/session_manager.proto | 2 +- 13 files changed, 227 insertions(+), 149 deletions(-) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/python_not_for_dunedaq/druncschema/controller_pb2.py index 9d83d69..094620c 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2.py @@ -28,7 +28,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xc9\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12\x41\n\targuments\x18\x02 \x03(\x0b\x32..dunedaq.druncschema.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x82\x01\n\x12\x46SMCommandResponse\x12\x32\n\x04\x66lag\x18\x01 \x01(\x0e\x32$.dunedaq.druncschema.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xd8\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x08presence\x18\x02 \x01(\x0e\x32&.dunedaq.druncschema.Argument.Presence\x12\x30\n\x04type\x18\x03 \x01(\x0e\x32\".dunedaq.druncschema.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x8d\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12\x30\n\targuments\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\xf4\x01\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12<\n\x08\x63ommands\x18\x05 \x03(\x0b\x32*.dunedaq.druncschema.FSMCommandDescription\x12\x33\n\tsequences\x18\x06 \x03(\x0b\x32 .dunedaq.druncschema.FSMSequenceB\n\n\x08_session\"\x90\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12\x33\n\x08run_info\x18\x06 \x01(\x0b\x32\x1c.dunedaq.druncschema.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\x9e\x07\n\nController\x12U\n\x08\x64\x65scribe\x12%.dunedaq.druncschema.AddressedCommand\x1a .dunedaq.druncschema.Description\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12\x64\n\x0c\x64\x65scribe_fsm\x12%.dunedaq.druncschema.AddressedCommand\x1a+.dunedaq.druncschema.FSMCommandsDescription\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xe7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x32\n\x08\x63hildren\x18\x04 \x03(\x0b\x32 .dunedaq.druncschema.Description\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x96\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12H\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xcf\x07\n\nController\x12s\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,32 +37,36 @@ DESCRIPTOR._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_options = b'8\001' - _globals['_FSMRESPONSEFLAG']._serialized_start=1900 - _globals['_FSMRESPONSEFLAG']._serialized_end=2054 - _globals['_ADDRESSEDCOMMAND']._serialized_start=173 - _globals['_ADDRESSEDCOMMAND']._serialized_end=418 - _globals['_FSMCOMMAND']._serialized_start=421 - _globals['_FSMCOMMAND']._serialized_end=622 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=543 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=613 - _globals['_FSMCOMMANDRESPONSE']._serialized_start=625 - _globals['_FSMCOMMANDRESPONSE']._serialized_end=755 - _globals['_ARGUMENT']._serialized_start=758 - _globals['_ARGUMENT']._serialized_end=1102 - _globals['_ARGUMENT_PRESENCE']._serialized_start=995 - _globals['_ARGUMENT_PRESENCE']._serialized_end=1034 - _globals['_ARGUMENT_TYPE']._serialized_start=1036 - _globals['_ARGUMENT_TYPE']._serialized_end=1084 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1105 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=1246 - _globals['_FSMSEQUENCE']._serialized_start=1248 - _globals['_FSMSEQUENCE']._serialized_end=1294 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=1297 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=1541 - _globals['_STATUS']._serialized_start=1544 - _globals['_STATUS']._serialized_end=1688 - _globals['_RUNINFO']._serialized_start=1691 - _globals['_RUNINFO']._serialized_end=1897 - _globals['_CONTROLLER']._serialized_start=2057 - _globals['_CONTROLLER']._serialized_end=2983 + _globals['_FSMRESPONSEFLAG']._serialized_start=2514 + _globals['_FSMRESPONSEFLAG']._serialized_end=2668 + _globals['_ADDRESSEDCOMMAND']._serialized_start=184 + _globals['_ADDRESSEDCOMMAND']._serialized_end=429 + _globals['_DESCRIBERESPONSE']._serialized_start=432 + _globals['_DESCRIBERESPONSE']._serialized_end=663 + _globals['_DESCRIBEFSMRESPONSE']._serialized_start=666 + _globals['_DESCRIBEFSMRESPONSE']._serialized_end=944 + _globals['_FSMCOMMAND']._serialized_start=947 + _globals['_FSMCOMMAND']._serialized_end=1159 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=1080 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=1150 + _globals['_FSMCOMMANDRESPONSE']._serialized_start=1162 + _globals['_FSMCOMMANDRESPONSE']._serialized_end=1303 + _globals['_ARGUMENT']._serialized_start=1306 + _globals['_ARGUMENT']._serialized_end=1672 + _globals['_ARGUMENT_PRESENCE']._serialized_start=1565 + _globals['_ARGUMENT_PRESENCE']._serialized_end=1604 + _globals['_ARGUMENT_TYPE']._serialized_start=1606 + _globals['_ARGUMENT_TYPE']._serialized_end=1654 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1675 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=1827 + _globals['_FSMSEQUENCE']._serialized_start=1829 + _globals['_FSMSEQUENCE']._serialized_end=1875 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=1878 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=2144 + _globals['_STATUS']._serialized_start=2147 + _globals['_STATUS']._serialized_end=2302 + _globals['_RUNINFO']._serialized_start=2305 + _globals['_RUNINFO']._serialized_end=2511 + _globals['_CONTROLLER']._serialized_start=2671 + _globals['_CONTROLLER']._serialized_end=3646 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.pyi b/python_not_for_dunedaq/druncschema/controller_pb2.pyi index 6329998..bb0da93 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/controller_pb2.pyi @@ -5,6 +5,8 @@ isort:skip_file import builtins import collections.abc +import druncschema.description_pb2 +import druncschema.request_response_pb2 import druncschema.token_pb2 import google.protobuf.any_pb2 import google.protobuf.descriptor @@ -76,6 +78,68 @@ class AddressedCommand(google.protobuf.message.Message): global___AddressedCommand = AddressedCommand +@typing.final +class DescribeResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TOKEN_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + CHILDREN_FIELD_NUMBER: builtins.int + FLAG_FIELD_NUMBER: builtins.int + name: builtins.str + flag: druncschema.request_response_pb2.ResponseFlag.ValueType + @property + def token(self) -> druncschema.token_pb2.Token: ... + @property + def description(self) -> druncschema.description_pb2.Description: ... + @property + def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[druncschema.description_pb2.Description]: ... + def __init__( + self, + *, + token: druncschema.token_pb2.Token | None = ..., + name: builtins.str = ..., + description: druncschema.description_pb2.Description | None = ..., + children: collections.abc.Iterable[druncschema.description_pb2.Description] | None = ..., + flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["description", b"description", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["children", b"children", "description", b"description", "flag", b"flag", "name", b"name", "token", b"token"]) -> None: ... + +global___DescribeResponse = DescribeResponse + +@typing.final +class DescribeFSMResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TOKEN_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + CHILDREN_FIELD_NUMBER: builtins.int + FLAG_FIELD_NUMBER: builtins.int + name: builtins.str + flag: druncschema.request_response_pb2.ResponseFlag.ValueType + @property + def token(self) -> druncschema.token_pb2.Token: ... + @property + def description(self) -> global___FSMCommandsDescription: ... + @property + def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FSMCommandsDescription]: ... + def __init__( + self, + *, + token: druncschema.token_pb2.Token | None = ..., + name: builtins.str = ..., + description: global___FSMCommandsDescription | None = ..., + children: collections.abc.Iterable[global___FSMCommandsDescription] | None = ..., + flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["description", b"description", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["children", b"children", "description", b"description", "flag", b"flag", "name", b"name", "token", b"token"]) -> None: ... + +global___DescribeFSMResponse = DescribeFSMResponse + @typing.final class FSMCommand(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py index d273a30..78a09e8 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py @@ -4,7 +4,6 @@ import warnings from druncschema import controller_pb2 as druncschema_dot_controller__pb2 -from druncschema import description_pb2 as druncschema_dot_description__pb2 from druncschema import request_response_pb2 as druncschema_dot_request__response__pb2 GRPC_GENERATED_VERSION = '1.68.0' @@ -37,57 +36,57 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.describe = channel.unary_unary( - '/dunedaq.druncschema.Controller/describe', + '/dunedaq.druncschema.controller.Controller/describe', request_serializer=druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, - response_deserializer=druncschema_dot_description__pb2.Description.FromString, + response_deserializer=druncschema_dot_controller__pb2.DescribeFSMResponse.FromString, _registered_method=True) self.status = channel.unary_unary( - '/dunedaq.druncschema.Controller/status', + '/dunedaq.druncschema.controller.Controller/status', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) self.describe_fsm = channel.unary_unary( - '/dunedaq.druncschema.Controller/describe_fsm', + '/dunedaq.druncschema.controller.Controller/describe_fsm', request_serializer=druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, - response_deserializer=druncschema_dot_controller__pb2.FSMCommandsDescription.FromString, + response_deserializer=druncschema_dot_controller__pb2.DescribeFSMResponse.FromString, _registered_method=True) self.execute_fsm_command = channel.unary_unary( - '/dunedaq.druncschema.Controller/execute_fsm_command', + '/dunedaq.druncschema.controller.Controller/execute_fsm_command', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) self.execute_expert_command = channel.unary_unary( - '/dunedaq.druncschema.Controller/execute_expert_command', + '/dunedaq.druncschema.controller.Controller/execute_expert_command', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) self.include = channel.unary_unary( - '/dunedaq.druncschema.Controller/include', + '/dunedaq.druncschema.controller.Controller/include', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) self.exclude = channel.unary_unary( - '/dunedaq.druncschema.Controller/exclude', + '/dunedaq.druncschema.controller.Controller/exclude', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) self.recompute_status = channel.unary_unary( - '/dunedaq.druncschema.Controller/recompute_status', + '/dunedaq.druncschema.controller.Controller/recompute_status', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) self.take_control = channel.unary_unary( - '/dunedaq.druncschema.Controller/take_control', + '/dunedaq.druncschema.controller.Controller/take_control', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) self.surrender_control = channel.unary_unary( - '/dunedaq.druncschema.Controller/surrender_control', + '/dunedaq.druncschema.controller.Controller/surrender_control', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) self.who_is_in_charge = channel.unary_unary( - '/dunedaq.druncschema.Controller/who_is_in_charge', + '/dunedaq.druncschema.controller.Controller/who_is_in_charge', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, _registered_method=True) @@ -168,7 +167,7 @@ def add_ControllerServicer_to_server(servicer, server): 'describe': grpc.unary_unary_rpc_method_handler( servicer.describe, request_deserializer=druncschema_dot_controller__pb2.AddressedCommand.FromString, - response_serializer=druncschema_dot_description__pb2.Description.SerializeToString, + response_serializer=druncschema_dot_controller__pb2.DescribeFSMResponse.SerializeToString, ), 'status': grpc.unary_unary_rpc_method_handler( servicer.status, @@ -178,7 +177,7 @@ def add_ControllerServicer_to_server(servicer, server): 'describe_fsm': grpc.unary_unary_rpc_method_handler( servicer.describe_fsm, request_deserializer=druncschema_dot_controller__pb2.AddressedCommand.FromString, - response_serializer=druncschema_dot_controller__pb2.FSMCommandsDescription.SerializeToString, + response_serializer=druncschema_dot_controller__pb2.DescribeFSMResponse.SerializeToString, ), 'execute_fsm_command': grpc.unary_unary_rpc_method_handler( servicer.execute_fsm_command, @@ -222,9 +221,9 @@ def add_ControllerServicer_to_server(servicer, server): ), } generic_handler = grpc.method_handlers_generic_handler( - 'dunedaq.druncschema.Controller', rpc_method_handlers) + 'dunedaq.druncschema.controller.Controller', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('dunedaq.druncschema.Controller', rpc_method_handlers) + server.add_registered_method_handlers('dunedaq.druncschema.controller.Controller', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -245,9 +244,9 @@ def describe(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/describe', + '/dunedaq.druncschema.controller.Controller/describe', druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, - druncschema_dot_description__pb2.Description.FromString, + druncschema_dot_controller__pb2.DescribeFSMResponse.FromString, options, channel_credentials, insecure, @@ -272,7 +271,7 @@ def status(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/status', + '/dunedaq.druncschema.controller.Controller/status', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, @@ -299,9 +298,9 @@ def describe_fsm(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/describe_fsm', + '/dunedaq.druncschema.controller.Controller/describe_fsm', druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, - druncschema_dot_controller__pb2.FSMCommandsDescription.FromString, + druncschema_dot_controller__pb2.DescribeFSMResponse.FromString, options, channel_credentials, insecure, @@ -326,7 +325,7 @@ def execute_fsm_command(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/execute_fsm_command', + '/dunedaq.druncschema.controller.Controller/execute_fsm_command', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, @@ -353,7 +352,7 @@ def execute_expert_command(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/execute_expert_command', + '/dunedaq.druncschema.controller.Controller/execute_expert_command', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, @@ -380,7 +379,7 @@ def include(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/include', + '/dunedaq.druncschema.controller.Controller/include', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, @@ -407,7 +406,7 @@ def exclude(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/exclude', + '/dunedaq.druncschema.controller.Controller/exclude', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, @@ -434,7 +433,7 @@ def recompute_status(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/recompute_status', + '/dunedaq.druncschema.controller.Controller/recompute_status', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, @@ -461,7 +460,7 @@ def take_control(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/take_control', + '/dunedaq.druncschema.controller.Controller/take_control', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, @@ -488,7 +487,7 @@ def surrender_control(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/surrender_control', + '/dunedaq.druncschema.controller.Controller/surrender_control', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, @@ -515,7 +514,7 @@ def who_is_in_charge(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.Controller/who_is_in_charge', + '/dunedaq.druncschema.controller.Controller/who_is_in_charge', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_request__response__pb2.Response.FromString, options, diff --git a/python_not_for_dunedaq/druncschema/description_pb2.py b/python_not_for_dunedaq/druncschema/description_pb2.py index f34d50c..d7a4c12 100644 --- a/python_not_for_dunedaq/druncschema/description_pb2.py +++ b/python_not_for_dunedaq/druncschema/description_pb2.py @@ -27,7 +27,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x64runcschema/description.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"X\n\x12\x43ommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\"\x80\x03\n\x0b\x44\x65scription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x11\n\x04info\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07session\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x08\x63ommands\x18\x07 \x03(\x0b\x32\'.dunedaq.druncschema.CommandDescription\x12,\n\tbroadcast\x18\x08 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02\x88\x01\x01\x12/\n\x04\x66lag\x18\t \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\x12\x32\n\x08\x63hildren\x18\n \x03(\x0b\x32 .dunedaq.druncschema.DescriptionB\x07\n\x05_infoB\n\n\x08_sessionB\x0c\n\n_broadcastb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x64runcschema/description.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"X\n\x12\x43ommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\"\xcc\x02\n\x0b\x44\x65scription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x11\n\x04info\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07session\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x08\x63ommands\x18\x07 \x03(\x0b\x32\'.dunedaq.druncschema.CommandDescription\x12,\n\tbroadcast\x18\x08 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02\x88\x01\x01\x12/\n\x04\x66lag\x18\t \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlagB\x07\n\x05_infoB\n\n\x08_sessionB\x0c\n\n_broadcastb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,5 +37,5 @@ _globals['_COMMANDDESCRIPTION']._serialized_start=142 _globals['_COMMANDDESCRIPTION']._serialized_end=230 _globals['_DESCRIPTION']._serialized_start=233 - _globals['_DESCRIPTION']._serialized_end=617 + _globals['_DESCRIPTION']._serialized_end=565 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/description_pb2.pyi b/python_not_for_dunedaq/druncschema/description_pb2.pyi index df45cb7..87dbaf9 100644 --- a/python_not_for_dunedaq/druncschema/description_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/description_pb2.pyi @@ -53,7 +53,6 @@ class Description(google.protobuf.message.Message): COMMANDS_FIELD_NUMBER: builtins.int BROADCAST_FIELD_NUMBER: builtins.int FLAG_FIELD_NUMBER: builtins.int - CHILDREN_FIELD_NUMBER: builtins.int type: builtins.str name: builtins.str endpoint: builtins.str @@ -66,8 +65,6 @@ class Description(google.protobuf.message.Message): def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommandDescription]: ... @property def broadcast(self) -> google.protobuf.any_pb2.Any: ... - @property - def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Description]: ... def __init__( self, *, @@ -80,10 +77,9 @@ class Description(google.protobuf.message.Message): commands: collections.abc.Iterable[global___CommandDescription] | None = ..., broadcast: google.protobuf.any_pb2.Any | None = ..., flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., - children: collections.abc.Iterable[global___Description] | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "info", b"info", "session", b"session", "token", b"token"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "children", b"children", "commands", b"commands", "endpoint", b"endpoint", "flag", b"flag", "info", b"info", "name", b"name", "session", b"session", "token", b"token", "type", b"type"]) -> None: ... + def ClearField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "commands", b"commands", "endpoint", b"endpoint", "flag", b"flag", "info", b"info", "name", b"name", "session", b"session", "token", b"token", "type", b"type"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing.Literal["_broadcast", b"_broadcast"]) -> typing.Literal["broadcast"] | None: ... @typing.overload diff --git a/python_not_for_dunedaq/druncschema/process_manager_pb2.py b/python_not_for_dunedaq/druncschema/process_manager_pb2.py index 9b1be72..57b14c7 100644 --- a/python_not_for_dunedaq/druncschema/process_manager_pb2.py +++ b/python_not_for_dunedaq/druncschema/process_manager_pb2.py @@ -27,7 +27,7 @@ from druncschema import token_pb2 as druncschema_dot_token__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!druncschema/process_manager.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\"G\n\x12ProcessRestriction\x12\x15\n\rallowed_hosts\x18\x01 \x03(\t\x12\x1a\n\x12\x61llowed_host_types\x18\x02 \x03(\t\";\n\x1a\x43ommandNotificationMessage\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\t\"-\n\x1aGenericNotificationMessage\x12\x0f\n\x07message\x18\x01 \x01(\t\"\xb9\x01\n\x15\x45xceptionNotification\x12\x12\n\nerror_text\x18\x01 \x01(\t\x12I\n\x0bstack_trace\x18\x02 \x03(\x0b\x32\x34.dunedaq.druncschema.ExceptionNotification.StackLine\x1a\x41\n\tStackLine\x12\x11\n\tline_text\x18\x01 \x01(\t\x12\x13\n\x0bline_number\x18\x02 \x01(\t\x12\x0c\n\x04\x66ile\x18\x03 \x01(\t\"z\n\nLogRequest\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x30\n\x05query\x18\x02 \x01(\x0b\x32!.dunedaq.druncschema.ProcessQuery\x12\x0f\n\x07how_far\x18\x03 \x01(\x05\"\xb3\x01\n\x08LogLines\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12.\n\x04uuid\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.ProcessUUID\x12\r\n\x05lines\x18\x04 \x03(\t\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x1b\n\x0bProcessUUID\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"\xb3\x01\n\x0fProcessMetadata\x12.\n\x04uuid\x18\x01 \x01(\x0b\x32 .dunedaq.druncschema.ProcessUUID\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\x14\n\x07session\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x10\n\x08hostname\x18\x05 \x01(\t\x12\x14\n\x07tree_id\x18\x06 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_sessionB\n\n\x08_tree_id\"\x98\x01\n\x0cProcessQuery\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12/\n\x05uuids\x18\x02 \x03(\x0b\x32 .dunedaq.druncschema.ProcessUUID\x12\r\n\x05names\x18\x03 \x03(\t\x12\x0c\n\x04user\x18\x04 \x01(\t\x12\x0f\n\x07session\x18\x05 \x01(\t\"\x97\x03\n\x12ProcessDescription\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.dunedaq.druncschema.ProcessMetadata\x12=\n\x03\x65nv\x18\x02 \x03(\x0b\x32\x30.dunedaq.druncschema.ProcessDescription.EnvEntry\x12U\n\x18\x65xecutable_and_arguments\x18\x03 \x03(\x0b\x32\x33.dunedaq.druncschema.ProcessDescription.ExecAndArgs\x12#\n\x1bprocess_execution_directory\x18\x04 \x01(\t\x12\x19\n\x11process_logs_path\x18\x05 \x01(\t\x1a\x1c\n\nStringList\x12\x0e\n\x06values\x18\x01 \x03(\t\x1a)\n\x0b\x45xecAndArgs\x12\x0c\n\x04\x65xec\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcd\x02\n\x0fProcessInstance\x12\x44\n\x13process_description\x18\x01 \x01(\x0b\x32\'.dunedaq.druncschema.ProcessDescription\x12\x44\n\x13process_restriction\x18\x02 \x01(\x0b\x32\'.dunedaq.druncschema.ProcessRestriction\x12\x44\n\x0bstatus_code\x18\x03 \x01(\x0e\x32/.dunedaq.druncschema.ProcessInstance.StatusCode\x12\x13\n\x0breturn_code\x18\x04 \x01(\x05\x12.\n\x04uuid\x18\x05 \x01(\x0b\x32 .dunedaq.druncschema.ProcessUUID\"#\n\nStatusCode\x12\x0b\n\x07RUNNING\x10\x00\x12\x08\n\x04\x44\x45\x41\x44\x10\x01\"\xb5\x01\n\x13ProcessInstanceList\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x34\n\x06values\x18\x03 \x03(\x0b\x32$.dunedaq.druncschema.ProcessInstance\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xc4\x01\n\x0b\x42ootRequest\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x44\n\x13process_description\x18\x02 \x01(\x0b\x32\'.dunedaq.druncschema.ProcessDescription\x12\x44\n\x13process_restriction\x18\x03 \x01(\x0b\x32\'.dunedaq.druncschema.ProcessRestriction2\xb3\x05\n\x0eProcessManager\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12T\n\x04\x62oot\x12 .dunedaq.druncschema.BootRequest\x1a(.dunedaq.druncschema.ProcessInstanceList\"\x00\x12U\n\tterminate\x12\x1c.dunedaq.druncschema.Request\x1a(.dunedaq.druncschema.ProcessInstanceList\"\x00\x12X\n\x07restart\x12!.dunedaq.druncschema.ProcessQuery\x1a(.dunedaq.druncschema.ProcessInstanceList\"\x00\x12U\n\x04kill\x12!.dunedaq.druncschema.ProcessQuery\x1a(.dunedaq.druncschema.ProcessInstanceList\"\x00\x12V\n\x05\x66lush\x12!.dunedaq.druncschema.ProcessQuery\x1a(.dunedaq.druncschema.ProcessInstanceList\"\x00\x12S\n\x02ps\x12!.dunedaq.druncschema.ProcessQuery\x1a(.dunedaq.druncschema.ProcessInstanceList\"\x00\x12H\n\x04logs\x12\x1f.dunedaq.druncschema.LogRequest\x1a\x1d.dunedaq.druncschema.LogLines\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!druncschema/process_manager.proto\x12#dunedaq.druncschema.process_manager\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\"G\n\x12ProcessRestriction\x12\x15\n\rallowed_hosts\x18\x01 \x03(\t\x12\x1a\n\x12\x61llowed_host_types\x18\x02 \x03(\t\";\n\x1a\x43ommandNotificationMessage\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\t\"-\n\x1aGenericNotificationMessage\x12\x0f\n\x07message\x18\x01 \x01(\t\"\xc9\x01\n\x15\x45xceptionNotification\x12\x12\n\nerror_text\x18\x01 \x01(\t\x12Y\n\x0bstack_trace\x18\x02 \x03(\x0b\x32\x44.dunedaq.druncschema.process_manager.ExceptionNotification.StackLine\x1a\x41\n\tStackLine\x12\x11\n\tline_text\x18\x01 \x01(\t\x12\x13\n\x0bline_number\x18\x02 \x01(\t\x12\x0c\n\x04\x66ile\x18\x03 \x01(\t\"\x8a\x01\n\nLogRequest\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12@\n\x05query\x18\x02 \x01(\x0b\x32\x31.dunedaq.druncschema.process_manager.ProcessQuery\x12\x0f\n\x07how_far\x18\x03 \x01(\x05\"\xc3\x01\n\x08LogLines\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12>\n\x04uuid\x18\x03 \x01(\x0b\x32\x30.dunedaq.druncschema.process_manager.ProcessUUID\x12\r\n\x05lines\x18\x04 \x03(\t\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x1b\n\x0bProcessUUID\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"\xc3\x01\n\x0fProcessMetadata\x12>\n\x04uuid\x18\x01 \x01(\x0b\x32\x30.dunedaq.druncschema.process_manager.ProcessUUID\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\x14\n\x07session\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x10\n\x08hostname\x18\x05 \x01(\t\x12\x14\n\x07tree_id\x18\x06 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_sessionB\n\n\x08_tree_id\"\xa8\x01\n\x0cProcessQuery\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12?\n\x05uuids\x18\x02 \x03(\x0b\x32\x30.dunedaq.druncschema.process_manager.ProcessUUID\x12\r\n\x05names\x18\x03 \x03(\t\x12\x0c\n\x04user\x18\x04 \x01(\t\x12\x0f\n\x07session\x18\x05 \x01(\t\"\xc7\x03\n\x12ProcessDescription\x12\x46\n\x08metadata\x18\x01 \x01(\x0b\x32\x34.dunedaq.druncschema.process_manager.ProcessMetadata\x12M\n\x03\x65nv\x18\x02 \x03(\x0b\x32@.dunedaq.druncschema.process_manager.ProcessDescription.EnvEntry\x12\x65\n\x18\x65xecutable_and_arguments\x18\x03 \x03(\x0b\x32\x43.dunedaq.druncschema.process_manager.ProcessDescription.ExecAndArgs\x12#\n\x1bprocess_execution_directory\x18\x04 \x01(\t\x12\x19\n\x11process_logs_path\x18\x05 \x01(\t\x1a\x1c\n\nStringList\x12\x0e\n\x06values\x18\x01 \x03(\t\x1a)\n\x0b\x45xecAndArgs\x12\x0c\n\x04\x65xec\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8d\x03\n\x0fProcessInstance\x12T\n\x13process_description\x18\x01 \x01(\x0b\x32\x37.dunedaq.druncschema.process_manager.ProcessDescription\x12T\n\x13process_restriction\x18\x02 \x01(\x0b\x32\x37.dunedaq.druncschema.process_manager.ProcessRestriction\x12T\n\x0bstatus_code\x18\x03 \x01(\x0e\x32?.dunedaq.druncschema.process_manager.ProcessInstance.StatusCode\x12\x13\n\x0breturn_code\x18\x04 \x01(\x05\x12>\n\x04uuid\x18\x05 \x01(\x0b\x32\x30.dunedaq.druncschema.process_manager.ProcessUUID\"#\n\nStatusCode\x12\x0b\n\x07RUNNING\x10\x00\x12\x08\n\x04\x44\x45\x41\x44\x10\x01\"\xc5\x01\n\x13ProcessInstanceList\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x44\n\x06values\x18\x03 \x03(\x0b\x32\x34.dunedaq.druncschema.process_manager.ProcessInstance\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xe4\x01\n\x0b\x42ootRequest\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12T\n\x13process_description\x18\x02 \x01(\x0b\x32\x37.dunedaq.druncschema.process_manager.ProcessDescription\x12T\n\x13process_restriction\x18\x03 \x01(\x0b\x32\x37.dunedaq.druncschema.process_manager.ProcessRestriction2\x83\x07\n\x0eProcessManager\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12t\n\x04\x62oot\x12\x30.dunedaq.druncschema.process_manager.BootRequest\x1a\x38.dunedaq.druncschema.process_manager.ProcessInstanceList\"\x00\x12\x65\n\tterminate\x12\x1c.dunedaq.druncschema.Request\x1a\x38.dunedaq.druncschema.process_manager.ProcessInstanceList\"\x00\x12x\n\x07restart\x12\x31.dunedaq.druncschema.process_manager.ProcessQuery\x1a\x38.dunedaq.druncschema.process_manager.ProcessInstanceList\"\x00\x12u\n\x04kill\x12\x31.dunedaq.druncschema.process_manager.ProcessQuery\x1a\x38.dunedaq.druncschema.process_manager.ProcessInstanceList\"\x00\x12v\n\x05\x66lush\x12\x31.dunedaq.druncschema.process_manager.ProcessQuery\x1a\x38.dunedaq.druncschema.process_manager.ProcessInstanceList\"\x00\x12s\n\x02ps\x12\x31.dunedaq.druncschema.process_manager.ProcessQuery\x1a\x38.dunedaq.druncschema.process_manager.ProcessInstanceList\"\x00\x12h\n\x04logs\x12/.dunedaq.druncschema.process_manager.LogRequest\x1a-.dunedaq.druncschema.process_manager.LogLines\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,42 +36,42 @@ DESCRIPTOR._loaded_options = None _globals['_PROCESSDESCRIPTION_ENVENTRY']._loaded_options = None _globals['_PROCESSDESCRIPTION_ENVENTRY']._serialized_options = b'8\001' - _globals['_PROCESSRESTRICTION']._serialized_start=150 - _globals['_PROCESSRESTRICTION']._serialized_end=221 - _globals['_COMMANDNOTIFICATIONMESSAGE']._serialized_start=223 - _globals['_COMMANDNOTIFICATIONMESSAGE']._serialized_end=282 - _globals['_GENERICNOTIFICATIONMESSAGE']._serialized_start=284 - _globals['_GENERICNOTIFICATIONMESSAGE']._serialized_end=329 - _globals['_EXCEPTIONNOTIFICATION']._serialized_start=332 - _globals['_EXCEPTIONNOTIFICATION']._serialized_end=517 - _globals['_EXCEPTIONNOTIFICATION_STACKLINE']._serialized_start=452 - _globals['_EXCEPTIONNOTIFICATION_STACKLINE']._serialized_end=517 - _globals['_LOGREQUEST']._serialized_start=519 - _globals['_LOGREQUEST']._serialized_end=641 - _globals['_LOGLINES']._serialized_start=644 - _globals['_LOGLINES']._serialized_end=823 - _globals['_PROCESSUUID']._serialized_start=825 - _globals['_PROCESSUUID']._serialized_end=852 - _globals['_PROCESSMETADATA']._serialized_start=855 - _globals['_PROCESSMETADATA']._serialized_end=1034 - _globals['_PROCESSQUERY']._serialized_start=1037 - _globals['_PROCESSQUERY']._serialized_end=1189 - _globals['_PROCESSDESCRIPTION']._serialized_start=1192 - _globals['_PROCESSDESCRIPTION']._serialized_end=1599 - _globals['_PROCESSDESCRIPTION_STRINGLIST']._serialized_start=1484 - _globals['_PROCESSDESCRIPTION_STRINGLIST']._serialized_end=1512 - _globals['_PROCESSDESCRIPTION_EXECANDARGS']._serialized_start=1514 - _globals['_PROCESSDESCRIPTION_EXECANDARGS']._serialized_end=1555 - _globals['_PROCESSDESCRIPTION_ENVENTRY']._serialized_start=1557 - _globals['_PROCESSDESCRIPTION_ENVENTRY']._serialized_end=1599 - _globals['_PROCESSINSTANCE']._serialized_start=1602 - _globals['_PROCESSINSTANCE']._serialized_end=1935 - _globals['_PROCESSINSTANCE_STATUSCODE']._serialized_start=1900 - _globals['_PROCESSINSTANCE_STATUSCODE']._serialized_end=1935 - _globals['_PROCESSINSTANCELIST']._serialized_start=1938 - _globals['_PROCESSINSTANCELIST']._serialized_end=2119 - _globals['_BOOTREQUEST']._serialized_start=2122 - _globals['_BOOTREQUEST']._serialized_end=2318 - _globals['_PROCESSMANAGER']._serialized_start=2321 - _globals['_PROCESSMANAGER']._serialized_end=3012 + _globals['_PROCESSRESTRICTION']._serialized_start=166 + _globals['_PROCESSRESTRICTION']._serialized_end=237 + _globals['_COMMANDNOTIFICATIONMESSAGE']._serialized_start=239 + _globals['_COMMANDNOTIFICATIONMESSAGE']._serialized_end=298 + _globals['_GENERICNOTIFICATIONMESSAGE']._serialized_start=300 + _globals['_GENERICNOTIFICATIONMESSAGE']._serialized_end=345 + _globals['_EXCEPTIONNOTIFICATION']._serialized_start=348 + _globals['_EXCEPTIONNOTIFICATION']._serialized_end=549 + _globals['_EXCEPTIONNOTIFICATION_STACKLINE']._serialized_start=484 + _globals['_EXCEPTIONNOTIFICATION_STACKLINE']._serialized_end=549 + _globals['_LOGREQUEST']._serialized_start=552 + _globals['_LOGREQUEST']._serialized_end=690 + _globals['_LOGLINES']._serialized_start=693 + _globals['_LOGLINES']._serialized_end=888 + _globals['_PROCESSUUID']._serialized_start=890 + _globals['_PROCESSUUID']._serialized_end=917 + _globals['_PROCESSMETADATA']._serialized_start=920 + _globals['_PROCESSMETADATA']._serialized_end=1115 + _globals['_PROCESSQUERY']._serialized_start=1118 + _globals['_PROCESSQUERY']._serialized_end=1286 + _globals['_PROCESSDESCRIPTION']._serialized_start=1289 + _globals['_PROCESSDESCRIPTION']._serialized_end=1744 + _globals['_PROCESSDESCRIPTION_STRINGLIST']._serialized_start=1629 + _globals['_PROCESSDESCRIPTION_STRINGLIST']._serialized_end=1657 + _globals['_PROCESSDESCRIPTION_EXECANDARGS']._serialized_start=1659 + _globals['_PROCESSDESCRIPTION_EXECANDARGS']._serialized_end=1700 + _globals['_PROCESSDESCRIPTION_ENVENTRY']._serialized_start=1702 + _globals['_PROCESSDESCRIPTION_ENVENTRY']._serialized_end=1744 + _globals['_PROCESSINSTANCE']._serialized_start=1747 + _globals['_PROCESSINSTANCE']._serialized_end=2144 + _globals['_PROCESSINSTANCE_STATUSCODE']._serialized_start=2109 + _globals['_PROCESSINSTANCE_STATUSCODE']._serialized_end=2144 + _globals['_PROCESSINSTANCELIST']._serialized_start=2147 + _globals['_PROCESSINSTANCELIST']._serialized_end=2344 + _globals['_BOOTREQUEST']._serialized_start=2347 + _globals['_BOOTREQUEST']._serialized_end=2575 + _globals['_PROCESSMANAGER']._serialized_start=2578 + _globals['_PROCESSMANAGER']._serialized_end=3477 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/process_manager_pb2_grpc.py b/python_not_for_dunedaq/druncschema/process_manager_pb2_grpc.py index 6e9c41e..c408dfd 100644 --- a/python_not_for_dunedaq/druncschema/process_manager_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/process_manager_pb2_grpc.py @@ -37,42 +37,42 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.describe = channel.unary_unary( - '/dunedaq.druncschema.ProcessManager/describe', + '/dunedaq.druncschema.process_manager.ProcessManager/describe', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_description__pb2.Description.FromString, _registered_method=True) self.boot = channel.unary_unary( - '/dunedaq.druncschema.ProcessManager/boot', + '/dunedaq.druncschema.process_manager.ProcessManager/boot', request_serializer=druncschema_dot_process__manager__pb2.BootRequest.SerializeToString, response_deserializer=druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, _registered_method=True) self.terminate = channel.unary_unary( - '/dunedaq.druncschema.ProcessManager/terminate', + '/dunedaq.druncschema.process_manager.ProcessManager/terminate', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, _registered_method=True) self.restart = channel.unary_unary( - '/dunedaq.druncschema.ProcessManager/restart', + '/dunedaq.druncschema.process_manager.ProcessManager/restart', request_serializer=druncschema_dot_process__manager__pb2.ProcessQuery.SerializeToString, response_deserializer=druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, _registered_method=True) self.kill = channel.unary_unary( - '/dunedaq.druncschema.ProcessManager/kill', + '/dunedaq.druncschema.process_manager.ProcessManager/kill', request_serializer=druncschema_dot_process__manager__pb2.ProcessQuery.SerializeToString, response_deserializer=druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, _registered_method=True) self.flush = channel.unary_unary( - '/dunedaq.druncschema.ProcessManager/flush', + '/dunedaq.druncschema.process_manager.ProcessManager/flush', request_serializer=druncschema_dot_process__manager__pb2.ProcessQuery.SerializeToString, response_deserializer=druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, _registered_method=True) self.ps = channel.unary_unary( - '/dunedaq.druncschema.ProcessManager/ps', + '/dunedaq.druncschema.process_manager.ProcessManager/ps', request_serializer=druncschema_dot_process__manager__pb2.ProcessQuery.SerializeToString, response_deserializer=druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, _registered_method=True) self.logs = channel.unary_unary( - '/dunedaq.druncschema.ProcessManager/logs', + '/dunedaq.druncschema.process_manager.ProcessManager/logs', request_serializer=druncschema_dot_process__manager__pb2.LogRequest.SerializeToString, response_deserializer=druncschema_dot_process__manager__pb2.LogLines.FromString, _registered_method=True) @@ -174,9 +174,9 @@ def add_ProcessManagerServicer_to_server(servicer, server): ), } generic_handler = grpc.method_handlers_generic_handler( - 'dunedaq.druncschema.ProcessManager', rpc_method_handlers) + 'dunedaq.druncschema.process_manager.ProcessManager', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('dunedaq.druncschema.ProcessManager', rpc_method_handlers) + server.add_registered_method_handlers('dunedaq.druncschema.process_manager.ProcessManager', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -197,7 +197,7 @@ def describe(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.ProcessManager/describe', + '/dunedaq.druncschema.process_manager.ProcessManager/describe', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_description__pb2.Description.FromString, options, @@ -224,7 +224,7 @@ def boot(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.ProcessManager/boot', + '/dunedaq.druncschema.process_manager.ProcessManager/boot', druncschema_dot_process__manager__pb2.BootRequest.SerializeToString, druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, options, @@ -251,7 +251,7 @@ def terminate(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.ProcessManager/terminate', + '/dunedaq.druncschema.process_manager.ProcessManager/terminate', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, options, @@ -278,7 +278,7 @@ def restart(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.ProcessManager/restart', + '/dunedaq.druncschema.process_manager.ProcessManager/restart', druncschema_dot_process__manager__pb2.ProcessQuery.SerializeToString, druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, options, @@ -305,7 +305,7 @@ def kill(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.ProcessManager/kill', + '/dunedaq.druncschema.process_manager.ProcessManager/kill', druncschema_dot_process__manager__pb2.ProcessQuery.SerializeToString, druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, options, @@ -332,7 +332,7 @@ def flush(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.ProcessManager/flush', + '/dunedaq.druncschema.process_manager.ProcessManager/flush', druncschema_dot_process__manager__pb2.ProcessQuery.SerializeToString, druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, options, @@ -359,7 +359,7 @@ def ps(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.ProcessManager/ps', + '/dunedaq.druncschema.process_manager.ProcessManager/ps', druncschema_dot_process__manager__pb2.ProcessQuery.SerializeToString, druncschema_dot_process__manager__pb2.ProcessInstanceList.FromString, options, @@ -386,7 +386,7 @@ def logs(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.ProcessManager/logs', + '/dunedaq.druncschema.process_manager.ProcessManager/logs', druncschema_dot_process__manager__pb2.LogRequest.SerializeToString, druncschema_dot_process__manager__pb2.LogLines.FromString, options, diff --git a/python_not_for_dunedaq/druncschema/session_manager_pb2.py b/python_not_for_dunedaq/druncschema/session_manager_pb2.py index af66203..06a7cb5 100644 --- a/python_not_for_dunedaq/druncschema/session_manager_pb2.py +++ b/python_not_for_dunedaq/druncschema/session_manager_pb2.py @@ -27,21 +27,21 @@ from druncschema import token_pb2 as druncschema_dot_token__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!druncschema/session_manager.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\"-\n\tConfigKey\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\t\"\xae\x01\n\rAllConfigKeys\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x33\n\x0b\x63onfig_keys\x18\x03 \x03(\x0b\x32\x1e.dunedaq.druncschema.ConfigKey\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"_\n\rActiveSession\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\x32\n\nconfig_key\x18\x03 \x01(\x0b\x32\x1e.dunedaq.druncschema.ConfigKey\"\xba\x01\n\x11\x41llActiveSessions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12;\n\x0f\x61\x63tive_sessions\x18\x03 \x03(\x0b\x32\".dunedaq.druncschema.ActiveSession\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag2\x93\x02\n\x0eSessionManager\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12[\n\x11list_all_sessions\x12\x1c.dunedaq.druncschema.Request\x1a&.dunedaq.druncschema.AllActiveSessions\"\x00\x12V\n\x10list_all_configs\x12\x1c.dunedaq.druncschema.Request\x1a\".dunedaq.druncschema.AllConfigKeys\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!druncschema/session_manager.proto\x12#dunedaq.druncschema.session_manager\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\"-\n\tConfigKey\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\t\"\xbe\x01\n\rAllConfigKeys\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x43\n\x0b\x63onfig_keys\x18\x03 \x03(\x0b\x32..dunedaq.druncschema.session_manager.ConfigKey\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"o\n\rActiveSession\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\x42\n\nconfig_key\x18\x03 \x01(\x0b\x32..dunedaq.druncschema.session_manager.ConfigKey\"\xca\x01\n\x11\x41llActiveSessions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12K\n\x0f\x61\x63tive_sessions\x18\x03 \x03(\x0b\x32\x32.dunedaq.druncschema.session_manager.ActiveSession\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag2\xb3\x02\n\x0eSessionManager\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12k\n\x11list_all_sessions\x12\x1c.dunedaq.druncschema.Request\x1a\x36.dunedaq.druncschema.session_manager.AllActiveSessions\"\x00\x12\x66\n\x10list_all_configs\x12\x1c.dunedaq.druncschema.Request\x1a\x32.dunedaq.druncschema.session_manager.AllConfigKeys\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'druncschema.session_manager_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: DESCRIPTOR._loaded_options = None - _globals['_CONFIGKEY']._serialized_start=150 - _globals['_CONFIGKEY']._serialized_end=195 - _globals['_ALLCONFIGKEYS']._serialized_start=198 - _globals['_ALLCONFIGKEYS']._serialized_end=372 - _globals['_ACTIVESESSION']._serialized_start=374 - _globals['_ACTIVESESSION']._serialized_end=469 - _globals['_ALLACTIVESESSIONS']._serialized_start=472 - _globals['_ALLACTIVESESSIONS']._serialized_end=658 - _globals['_SESSIONMANAGER']._serialized_start=661 - _globals['_SESSIONMANAGER']._serialized_end=936 + _globals['_CONFIGKEY']._serialized_start=166 + _globals['_CONFIGKEY']._serialized_end=211 + _globals['_ALLCONFIGKEYS']._serialized_start=214 + _globals['_ALLCONFIGKEYS']._serialized_end=404 + _globals['_ACTIVESESSION']._serialized_start=406 + _globals['_ACTIVESESSION']._serialized_end=517 + _globals['_ALLACTIVESESSIONS']._serialized_start=520 + _globals['_ALLACTIVESESSIONS']._serialized_end=722 + _globals['_SESSIONMANAGER']._serialized_start=725 + _globals['_SESSIONMANAGER']._serialized_end=1032 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py b/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py index ef72979..a03893e 100644 --- a/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py @@ -37,17 +37,17 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.describe = channel.unary_unary( - '/dunedaq.druncschema.SessionManager/describe', + '/dunedaq.druncschema.session_manager.SessionManager/describe', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_description__pb2.Description.FromString, _registered_method=True) self.list_all_sessions = channel.unary_unary( - '/dunedaq.druncschema.SessionManager/list_all_sessions', + '/dunedaq.druncschema.session_manager.SessionManager/list_all_sessions', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_session__manager__pb2.AllActiveSessions.FromString, _registered_method=True) self.list_all_configs = channel.unary_unary( - '/dunedaq.druncschema.SessionManager/list_all_configs', + '/dunedaq.druncschema.session_manager.SessionManager/list_all_configs', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, response_deserializer=druncschema_dot_session__manager__pb2.AllConfigKeys.FromString, _registered_method=True) @@ -94,9 +94,9 @@ def add_SessionManagerServicer_to_server(servicer, server): ), } generic_handler = grpc.method_handlers_generic_handler( - 'dunedaq.druncschema.SessionManager', rpc_method_handlers) + 'dunedaq.druncschema.session_manager.SessionManager', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('dunedaq.druncschema.SessionManager', rpc_method_handlers) + server.add_registered_method_handlers('dunedaq.druncschema.session_manager.SessionManager', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -117,7 +117,7 @@ def describe(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.SessionManager/describe', + '/dunedaq.druncschema.session_manager.SessionManager/describe', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_description__pb2.Description.FromString, options, @@ -144,7 +144,7 @@ def list_all_sessions(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.SessionManager/list_all_sessions', + '/dunedaq.druncschema.session_manager.SessionManager/list_all_sessions', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_session__manager__pb2.AllActiveSessions.FromString, options, @@ -171,7 +171,7 @@ def list_all_configs(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.SessionManager/list_all_configs', + '/dunedaq.druncschema.session_manager.SessionManager/list_all_configs', druncschema_dot_request__response__pb2.Request.SerializeToString, druncschema_dot_session__manager__pb2.AllConfigKeys.FromString, options, diff --git a/schema/druncschema/controller.proto b/schema/druncschema/controller.proto index 6b4a312..d9c16b1 100644 --- a/schema/druncschema/controller.proto +++ b/schema/druncschema/controller.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package dunedaq.druncschema; +package dunedaq.druncschema.controller; import "druncschema/request_response.proto"; import "druncschema/description.proto"; @@ -8,10 +8,10 @@ import "druncschema/token.proto"; import "google/protobuf/any.proto"; service Controller { - rpc describe (AddressedCommand) returns (Description) {} + rpc describe (AddressedCommand) returns (DescribeFSMResponse) {} rpc status (Request) returns (Response) {} - rpc describe_fsm (AddressedCommand) returns (FSMCommandsDescription) {} + rpc describe_fsm (AddressedCommand) returns (DescribeFSMResponse) {} rpc execute_fsm_command (Request) returns (Response) {} rpc execute_expert_command (Request) returns (Response) {} rpc include (Request) returns (Response) {} @@ -32,6 +32,22 @@ message AddressedCommand { bool execute_on_all_subsequent_children_in_path = 6; } +message DescribeResponse { + Token token = 1; + string name = 2; + Description description = 3; + repeated Description children = 4; + ResponseFlag flag = 5; +} + +message DescribeFSMResponse { + Token token = 1; + string name = 2; + FSMCommandsDescription description = 3; + repeated FSMCommandsDescription children = 4; + ResponseFlag flag = 5; +} + message FSMCommand { string command_name = 1; map arguments = 2; diff --git a/schema/druncschema/description.proto b/schema/druncschema/description.proto index 2122de3..f17a313 100644 --- a/schema/druncschema/description.proto +++ b/schema/druncschema/description.proto @@ -23,5 +23,4 @@ message Description { repeated CommandDescription commands = 7; optional google.protobuf.Any broadcast = 8; ResponseFlag flag = 9; - repeated Description children = 10; } diff --git a/schema/druncschema/process_manager.proto b/schema/druncschema/process_manager.proto index c343233..0b0e382 100644 --- a/schema/druncschema/process_manager.proto +++ b/schema/druncschema/process_manager.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package dunedaq.druncschema; +package dunedaq.druncschema.process_manager; import "druncschema/request_response.proto"; import "druncschema/description.proto"; diff --git a/schema/druncschema/session_manager.proto b/schema/druncschema/session_manager.proto index d0c0848..7911f36 100644 --- a/schema/druncschema/session_manager.proto +++ b/schema/druncschema/session_manager.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package dunedaq.druncschema; +package dunedaq.druncschema.session_manager; import "druncschema/request_response.proto"; import "druncschema/description.proto"; From 6474bcea5219f1e4a066faf33feb80bb3968ba7f Mon Sep 17 00:00:00 2001 From: James Paul Turner Date: Tue, 19 Aug 2025 22:08:22 +0100 Subject: [PATCH 5/8] Response message for status. --- .../druncschema/controller_pb2.py | 64 ++++++++++--------- .../druncschema/controller_pb2.pyi | 31 +++++++++ .../druncschema/controller_pb2_grpc.py | 42 ++++++------ schema/druncschema/controller.proto | 14 +++- 4 files changed, 96 insertions(+), 55 deletions(-) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/python_not_for_dunedaq/druncschema/controller_pb2.py index 094620c..29a2374 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2.py @@ -28,7 +28,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xe7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x32\n\x08\x63hildren\x18\x04 \x03(\x0b\x32 .dunedaq.druncschema.Description\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x96\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12H\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xcf\x07\n\nController\x12s\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12G\n\x06status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xec\x01\n\x0eStatusResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x06status\x18\x03 \x01(\x0b\x32&.dunedaq.druncschema.controller.Status\x12\x38\n\x08\x63hildren\x18\x04 \x03(\x0b\x32&.dunedaq.druncschema.controller.Status\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xe7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x32\n\x08\x63hildren\x18\x04 \x03(\x0b\x32 .dunedaq.druncschema.Description\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x96\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12H\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xf1\x07\n\nController\x12l\n\x06status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12p\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x30.dunedaq.druncschema.controller.DescribeResponse\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,36 +37,38 @@ DESCRIPTOR._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_options = b'8\001' - _globals['_FSMRESPONSEFLAG']._serialized_start=2514 - _globals['_FSMRESPONSEFLAG']._serialized_end=2668 + _globals['_FSMRESPONSEFLAG']._serialized_start=2753 + _globals['_FSMRESPONSEFLAG']._serialized_end=2907 _globals['_ADDRESSEDCOMMAND']._serialized_start=184 _globals['_ADDRESSEDCOMMAND']._serialized_end=429 - _globals['_DESCRIBERESPONSE']._serialized_start=432 - _globals['_DESCRIBERESPONSE']._serialized_end=663 - _globals['_DESCRIBEFSMRESPONSE']._serialized_start=666 - _globals['_DESCRIBEFSMRESPONSE']._serialized_end=944 - _globals['_FSMCOMMAND']._serialized_start=947 - _globals['_FSMCOMMAND']._serialized_end=1159 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=1080 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=1150 - _globals['_FSMCOMMANDRESPONSE']._serialized_start=1162 - _globals['_FSMCOMMANDRESPONSE']._serialized_end=1303 - _globals['_ARGUMENT']._serialized_start=1306 - _globals['_ARGUMENT']._serialized_end=1672 - _globals['_ARGUMENT_PRESENCE']._serialized_start=1565 - _globals['_ARGUMENT_PRESENCE']._serialized_end=1604 - _globals['_ARGUMENT_TYPE']._serialized_start=1606 - _globals['_ARGUMENT_TYPE']._serialized_end=1654 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1675 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=1827 - _globals['_FSMSEQUENCE']._serialized_start=1829 - _globals['_FSMSEQUENCE']._serialized_end=1875 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=1878 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=2144 - _globals['_STATUS']._serialized_start=2147 - _globals['_STATUS']._serialized_end=2302 - _globals['_RUNINFO']._serialized_start=2305 - _globals['_RUNINFO']._serialized_end=2511 - _globals['_CONTROLLER']._serialized_start=2671 - _globals['_CONTROLLER']._serialized_end=3646 + _globals['_STATUSRESPONSE']._serialized_start=432 + _globals['_STATUSRESPONSE']._serialized_end=668 + _globals['_DESCRIBERESPONSE']._serialized_start=671 + _globals['_DESCRIBERESPONSE']._serialized_end=902 + _globals['_DESCRIBEFSMRESPONSE']._serialized_start=905 + _globals['_DESCRIBEFSMRESPONSE']._serialized_end=1183 + _globals['_FSMCOMMAND']._serialized_start=1186 + _globals['_FSMCOMMAND']._serialized_end=1398 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=1319 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=1389 + _globals['_FSMCOMMANDRESPONSE']._serialized_start=1401 + _globals['_FSMCOMMANDRESPONSE']._serialized_end=1542 + _globals['_ARGUMENT']._serialized_start=1545 + _globals['_ARGUMENT']._serialized_end=1911 + _globals['_ARGUMENT_PRESENCE']._serialized_start=1804 + _globals['_ARGUMENT_PRESENCE']._serialized_end=1843 + _globals['_ARGUMENT_TYPE']._serialized_start=1845 + _globals['_ARGUMENT_TYPE']._serialized_end=1893 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1914 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=2066 + _globals['_FSMSEQUENCE']._serialized_start=2068 + _globals['_FSMSEQUENCE']._serialized_end=2114 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=2117 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=2383 + _globals['_STATUS']._serialized_start=2386 + _globals['_STATUS']._serialized_end=2541 + _globals['_RUNINFO']._serialized_start=2544 + _globals['_RUNINFO']._serialized_end=2750 + _globals['_CONTROLLER']._serialized_start=2910 + _globals['_CONTROLLER']._serialized_end=3919 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.pyi b/python_not_for_dunedaq/druncschema/controller_pb2.pyi index bb0da93..1051e2b 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/controller_pb2.pyi @@ -78,6 +78,37 @@ class AddressedCommand(google.protobuf.message.Message): global___AddressedCommand = AddressedCommand +@typing.final +class StatusResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TOKEN_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + CHILDREN_FIELD_NUMBER: builtins.int + FLAG_FIELD_NUMBER: builtins.int + name: builtins.str + flag: druncschema.request_response_pb2.ResponseFlag.ValueType + @property + def token(self) -> druncschema.token_pb2.Token: ... + @property + def status(self) -> global___Status: ... + @property + def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Status]: ... + def __init__( + self, + *, + token: druncschema.token_pb2.Token | None = ..., + name: builtins.str = ..., + status: global___Status | None = ..., + children: collections.abc.Iterable[global___Status] | None = ..., + flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["status", b"status", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["children", b"children", "flag", b"flag", "name", b"name", "status", b"status", "token", b"token"]) -> None: ... + +global___StatusResponse = StatusResponse + @typing.final class DescribeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py index 78a09e8..1b725f4 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py @@ -35,15 +35,15 @@ def __init__(self, channel): Args: channel: A grpc.Channel. """ + self.status = channel.unary_unary( + '/dunedaq.druncschema.controller.Controller/status', + request_serializer=druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, + response_deserializer=druncschema_dot_controller__pb2.StatusResponse.FromString, + _registered_method=True) self.describe = channel.unary_unary( '/dunedaq.druncschema.controller.Controller/describe', request_serializer=druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, - response_deserializer=druncschema_dot_controller__pb2.DescribeFSMResponse.FromString, - _registered_method=True) - self.status = channel.unary_unary( - '/dunedaq.druncschema.controller.Controller/status', - request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, + response_deserializer=druncschema_dot_controller__pb2.DescribeResponse.FromString, _registered_method=True) self.describe_fsm = channel.unary_unary( '/dunedaq.druncschema.controller.Controller/describe_fsm', @@ -95,13 +95,13 @@ def __init__(self, channel): class ControllerServicer(object): """Missing associated documentation comment in .proto file.""" - def describe(self, request, context): + def status(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def status(self, request, context): + def describe(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -164,15 +164,15 @@ def who_is_in_charge(self, request, context): def add_ControllerServicer_to_server(servicer, server): rpc_method_handlers = { + 'status': grpc.unary_unary_rpc_method_handler( + servicer.status, + request_deserializer=druncschema_dot_controller__pb2.AddressedCommand.FromString, + response_serializer=druncschema_dot_controller__pb2.StatusResponse.SerializeToString, + ), 'describe': grpc.unary_unary_rpc_method_handler( servicer.describe, request_deserializer=druncschema_dot_controller__pb2.AddressedCommand.FromString, - response_serializer=druncschema_dot_controller__pb2.DescribeFSMResponse.SerializeToString, - ), - 'status': grpc.unary_unary_rpc_method_handler( - servicer.status, - request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, + response_serializer=druncschema_dot_controller__pb2.DescribeResponse.SerializeToString, ), 'describe_fsm': grpc.unary_unary_rpc_method_handler( servicer.describe_fsm, @@ -231,7 +231,7 @@ class Controller(object): """Missing associated documentation comment in .proto file.""" @staticmethod - def describe(request, + def status(request, target, options=(), channel_credentials=None, @@ -244,9 +244,9 @@ def describe(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.controller.Controller/describe', + '/dunedaq.druncschema.controller.Controller/status', druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, - druncschema_dot_controller__pb2.DescribeFSMResponse.FromString, + druncschema_dot_controller__pb2.StatusResponse.FromString, options, channel_credentials, insecure, @@ -258,7 +258,7 @@ def describe(request, _registered_method=True) @staticmethod - def status(request, + def describe(request, target, options=(), channel_credentials=None, @@ -271,9 +271,9 @@ def status(request, return grpc.experimental.unary_unary( request, target, - '/dunedaq.druncschema.controller.Controller/status', - druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, + '/dunedaq.druncschema.controller.Controller/describe', + druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, + druncschema_dot_controller__pb2.DescribeResponse.FromString, options, channel_credentials, insecure, diff --git a/schema/druncschema/controller.proto b/schema/druncschema/controller.proto index d9c16b1..b375244 100644 --- a/schema/druncschema/controller.proto +++ b/schema/druncschema/controller.proto @@ -8,10 +8,10 @@ import "druncschema/token.proto"; import "google/protobuf/any.proto"; service Controller { - rpc describe (AddressedCommand) returns (DescribeFSMResponse) {} - rpc status (Request) returns (Response) {} - + rpc status (AddressedCommand) returns (StatusResponse) {} + rpc describe (AddressedCommand) returns (DescribeResponse) {} rpc describe_fsm (AddressedCommand) returns (DescribeFSMResponse) {} + rpc execute_fsm_command (Request) returns (Response) {} rpc execute_expert_command (Request) returns (Response) {} rpc include (Request) returns (Response) {} @@ -32,6 +32,14 @@ message AddressedCommand { bool execute_on_all_subsequent_children_in_path = 6; } +message StatusResponse { + Token token = 1; + string name = 2; + Status status = 3; + repeated Status children = 4; + ResponseFlag flag = 5; +} + message DescribeResponse { Token token = 1; string name = 2; From b9811aee0ec14dd4e2c343cf6885701e2fcfab31 Mon Sep 17 00:00:00 2001 From: James Paul Turner Date: Thu, 4 Sep 2025 11:30:07 +0100 Subject: [PATCH 6/8] Message children must be full response message types. --- .../druncschema/controller_pb2.py | 64 +++++++++---------- .../druncschema/controller_pb2.pyi | 12 ++-- schema/druncschema/controller.proto | 6 +- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/python_not_for_dunedaq/druncschema/controller_pb2.py index 29a2374..ae6b24a 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2.py @@ -28,7 +28,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xec\x01\n\x0eStatusResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x06status\x18\x03 \x01(\x0b\x32&.dunedaq.druncschema.controller.Status\x12\x38\n\x08\x63hildren\x18\x04 \x03(\x0b\x32&.dunedaq.druncschema.controller.Status\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xe7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x32\n\x08\x63hildren\x18\x04 \x03(\x0b\x32 .dunedaq.druncschema.Description\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x96\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12H\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xf1\x07\n\nController\x12l\n\x06status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12p\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x30.dunedaq.druncschema.controller.DescribeResponse\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xf4\x01\n\x0eStatusResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x06status\x18\x03 \x01(\x0b\x32&.dunedaq.druncschema.controller.Status\x12@\n\x08\x63hildren\x18\x04 \x03(\x0b\x32..dunedaq.druncschema.controller.StatusResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xf7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x42\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x30.dunedaq.druncschema.controller.DescribeResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x93\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12\x45\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x33.dunedaq.druncschema.controller.DescribeFSMResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xf1\x07\n\nController\x12l\n\x06status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12p\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x30.dunedaq.druncschema.controller.DescribeResponse\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,38 +37,38 @@ DESCRIPTOR._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_options = b'8\001' - _globals['_FSMRESPONSEFLAG']._serialized_start=2753 - _globals['_FSMRESPONSEFLAG']._serialized_end=2907 + _globals['_FSMRESPONSEFLAG']._serialized_start=2774 + _globals['_FSMRESPONSEFLAG']._serialized_end=2928 _globals['_ADDRESSEDCOMMAND']._serialized_start=184 _globals['_ADDRESSEDCOMMAND']._serialized_end=429 _globals['_STATUSRESPONSE']._serialized_start=432 - _globals['_STATUSRESPONSE']._serialized_end=668 - _globals['_DESCRIBERESPONSE']._serialized_start=671 - _globals['_DESCRIBERESPONSE']._serialized_end=902 - _globals['_DESCRIBEFSMRESPONSE']._serialized_start=905 - _globals['_DESCRIBEFSMRESPONSE']._serialized_end=1183 - _globals['_FSMCOMMAND']._serialized_start=1186 - _globals['_FSMCOMMAND']._serialized_end=1398 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=1319 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=1389 - _globals['_FSMCOMMANDRESPONSE']._serialized_start=1401 - _globals['_FSMCOMMANDRESPONSE']._serialized_end=1542 - _globals['_ARGUMENT']._serialized_start=1545 - _globals['_ARGUMENT']._serialized_end=1911 - _globals['_ARGUMENT_PRESENCE']._serialized_start=1804 - _globals['_ARGUMENT_PRESENCE']._serialized_end=1843 - _globals['_ARGUMENT_TYPE']._serialized_start=1845 - _globals['_ARGUMENT_TYPE']._serialized_end=1893 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1914 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=2066 - _globals['_FSMSEQUENCE']._serialized_start=2068 - _globals['_FSMSEQUENCE']._serialized_end=2114 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=2117 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=2383 - _globals['_STATUS']._serialized_start=2386 - _globals['_STATUS']._serialized_end=2541 - _globals['_RUNINFO']._serialized_start=2544 - _globals['_RUNINFO']._serialized_end=2750 - _globals['_CONTROLLER']._serialized_start=2910 - _globals['_CONTROLLER']._serialized_end=3919 + _globals['_STATUSRESPONSE']._serialized_end=676 + _globals['_DESCRIBERESPONSE']._serialized_start=679 + _globals['_DESCRIBERESPONSE']._serialized_end=926 + _globals['_DESCRIBEFSMRESPONSE']._serialized_start=929 + _globals['_DESCRIBEFSMRESPONSE']._serialized_end=1204 + _globals['_FSMCOMMAND']._serialized_start=1207 + _globals['_FSMCOMMAND']._serialized_end=1419 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=1340 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=1410 + _globals['_FSMCOMMANDRESPONSE']._serialized_start=1422 + _globals['_FSMCOMMANDRESPONSE']._serialized_end=1563 + _globals['_ARGUMENT']._serialized_start=1566 + _globals['_ARGUMENT']._serialized_end=1932 + _globals['_ARGUMENT_PRESENCE']._serialized_start=1825 + _globals['_ARGUMENT_PRESENCE']._serialized_end=1864 + _globals['_ARGUMENT_TYPE']._serialized_start=1866 + _globals['_ARGUMENT_TYPE']._serialized_end=1914 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1935 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=2087 + _globals['_FSMSEQUENCE']._serialized_start=2089 + _globals['_FSMSEQUENCE']._serialized_end=2135 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=2138 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=2404 + _globals['_STATUS']._serialized_start=2407 + _globals['_STATUS']._serialized_end=2562 + _globals['_RUNINFO']._serialized_start=2565 + _globals['_RUNINFO']._serialized_end=2771 + _globals['_CONTROLLER']._serialized_start=2931 + _globals['_CONTROLLER']._serialized_end=3940 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.pyi b/python_not_for_dunedaq/druncschema/controller_pb2.pyi index 1051e2b..cfefd02 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/controller_pb2.pyi @@ -94,14 +94,14 @@ class StatusResponse(google.protobuf.message.Message): @property def status(self) -> global___Status: ... @property - def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Status]: ... + def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StatusResponse]: ... def __init__( self, *, token: druncschema.token_pb2.Token | None = ..., name: builtins.str = ..., status: global___Status | None = ..., - children: collections.abc.Iterable[global___Status] | None = ..., + children: collections.abc.Iterable[global___StatusResponse] | None = ..., flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["status", b"status", "token", b"token"]) -> builtins.bool: ... @@ -125,14 +125,14 @@ class DescribeResponse(google.protobuf.message.Message): @property def description(self) -> druncschema.description_pb2.Description: ... @property - def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[druncschema.description_pb2.Description]: ... + def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DescribeResponse]: ... def __init__( self, *, token: druncschema.token_pb2.Token | None = ..., name: builtins.str = ..., description: druncschema.description_pb2.Description | None = ..., - children: collections.abc.Iterable[druncschema.description_pb2.Description] | None = ..., + children: collections.abc.Iterable[global___DescribeResponse] | None = ..., flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["description", b"description", "token", b"token"]) -> builtins.bool: ... @@ -156,14 +156,14 @@ class DescribeFSMResponse(google.protobuf.message.Message): @property def description(self) -> global___FSMCommandsDescription: ... @property - def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FSMCommandsDescription]: ... + def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DescribeFSMResponse]: ... def __init__( self, *, token: druncschema.token_pb2.Token | None = ..., name: builtins.str = ..., description: global___FSMCommandsDescription | None = ..., - children: collections.abc.Iterable[global___FSMCommandsDescription] | None = ..., + children: collections.abc.Iterable[global___DescribeFSMResponse] | None = ..., flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["description", b"description", "token", b"token"]) -> builtins.bool: ... diff --git a/schema/druncschema/controller.proto b/schema/druncschema/controller.proto index b375244..750a101 100644 --- a/schema/druncschema/controller.proto +++ b/schema/druncschema/controller.proto @@ -36,7 +36,7 @@ message StatusResponse { Token token = 1; string name = 2; Status status = 3; - repeated Status children = 4; + repeated StatusResponse children = 4; ResponseFlag flag = 5; } @@ -44,7 +44,7 @@ message DescribeResponse { Token token = 1; string name = 2; Description description = 3; - repeated Description children = 4; + repeated DescribeResponse children = 4; ResponseFlag flag = 5; } @@ -52,7 +52,7 @@ message DescribeFSMResponse { Token token = 1; string name = 2; FSMCommandsDescription description = 3; - repeated FSMCommandsDescription children = 4; + repeated DescribeFSMResponse children = 4; ResponseFlag flag = 5; } From 9c1f54f34855ba7572807a956d0d7d3bc5052c4c Mon Sep 17 00:00:00 2001 From: James Paul Turner Date: Tue, 7 Oct 2025 11:52:41 +0100 Subject: [PATCH 7/8] Recompute status messages. --- python_not_for_dunedaq/druncschema/controller_pb2.py | 4 ++-- .../druncschema/controller_pb2_grpc.py | 12 ++++++------ schema/druncschema/controller.proto | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/python_not_for_dunedaq/druncschema/controller_pb2.py index ae6b24a..90d8257 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2.py @@ -28,7 +28,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xf4\x01\n\x0eStatusResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x06status\x18\x03 \x01(\x0b\x32&.dunedaq.druncschema.controller.Status\x12@\n\x08\x63hildren\x18\x04 \x03(\x0b\x32..dunedaq.druncschema.controller.StatusResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xf7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x42\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x30.dunedaq.druncschema.controller.DescribeResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x93\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12\x45\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x33.dunedaq.druncschema.controller.DescribeFSMResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xf1\x07\n\nController\x12l\n\x06status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12p\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x30.dunedaq.druncschema.controller.DescribeResponse\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10recompute_status\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xf4\x01\n\x0eStatusResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x06status\x18\x03 \x01(\x0b\x32&.dunedaq.druncschema.controller.Status\x12@\n\x08\x63hildren\x18\x04 \x03(\x0b\x32..dunedaq.druncschema.controller.StatusResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xf7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x42\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x30.dunedaq.druncschema.controller.DescribeResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x93\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12\x45\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x33.dunedaq.druncschema.controller.DescribeFSMResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\x96\x08\n\nController\x12l\n\x06status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12p\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x30.dunedaq.druncschema.controller.DescribeResponse\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12v\n\x10recompute_status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -70,5 +70,5 @@ _globals['_RUNINFO']._serialized_start=2565 _globals['_RUNINFO']._serialized_end=2771 _globals['_CONTROLLER']._serialized_start=2931 - _globals['_CONTROLLER']._serialized_end=3940 + _globals['_CONTROLLER']._serialized_end=3977 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py index 1b725f4..ad06585 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py @@ -72,8 +72,8 @@ def __init__(self, channel): _registered_method=True) self.recompute_status = channel.unary_unary( '/dunedaq.druncschema.controller.Controller/recompute_status', - request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, + request_serializer=druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, + response_deserializer=druncschema_dot_controller__pb2.StatusResponse.FromString, _registered_method=True) self.take_control = channel.unary_unary( '/dunedaq.druncschema.controller.Controller/take_control', @@ -201,8 +201,8 @@ def add_ControllerServicer_to_server(servicer, server): ), 'recompute_status': grpc.unary_unary_rpc_method_handler( servicer.recompute_status, - request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, + request_deserializer=druncschema_dot_controller__pb2.AddressedCommand.FromString, + response_serializer=druncschema_dot_controller__pb2.StatusResponse.SerializeToString, ), 'take_control': grpc.unary_unary_rpc_method_handler( servicer.take_control, @@ -434,8 +434,8 @@ def recompute_status(request, request, target, '/dunedaq.druncschema.controller.Controller/recompute_status', - druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, + druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, + druncschema_dot_controller__pb2.StatusResponse.FromString, options, channel_credentials, insecure, diff --git a/schema/druncschema/controller.proto b/schema/druncschema/controller.proto index 750a101..61b022d 100644 --- a/schema/druncschema/controller.proto +++ b/schema/druncschema/controller.proto @@ -16,7 +16,7 @@ service Controller { rpc execute_expert_command (Request) returns (Response) {} rpc include (Request) returns (Response) {} rpc exclude (Request) returns (Response) {} - rpc recompute_status (Request) returns (Response) {} + rpc recompute_status (AddressedCommand) returns (StatusResponse) {} rpc take_control (Request) returns (Response) {} rpc surrender_control (Request) returns (Response) {} From 732fc1d095e766d4b22ef7184e9d1c800834c32b Mon Sep 17 00:00:00 2001 From: James Paul Turner Date: Tue, 7 Oct 2025 12:34:25 +0100 Subject: [PATCH 8/8] New RecomputeStatusResponse msg. --- .../druncschema/controller_pb2.py | 56 ++++++++++--------- .../druncschema/controller_pb2.pyi | 31 ++++++++++ .../druncschema/controller_pb2_grpc.py | 6 +- schema/druncschema/controller.proto | 10 +++- 4 files changed, 72 insertions(+), 31 deletions(-) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.py b/python_not_for_dunedaq/druncschema/controller_pb2.py index a0ce773..e0b5ae2 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2.py @@ -28,7 +28,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xf4\x01\n\x0eStatusResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x06status\x18\x03 \x01(\x0b\x32&.dunedaq.druncschema.controller.Status\x12@\n\x08\x63hildren\x18\x04 \x03(\x0b\x32..dunedaq.druncschema.controller.StatusResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xf7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x42\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x30.dunedaq.druncschema.controller.DescribeResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x93\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12\x45\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x33.dunedaq.druncschema.controller.DescribeFSMResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xe1\x08\n\nController\x12p\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x30.dunedaq.druncschema.controller.DescribeResponse\"\x00\x12l\n\x06status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12v\n\x10recompute_status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12I\n\x08to_error\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x64runcschema/controller.proto\x12\x1e\x64unedaq.druncschema.controller\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"\xf5\x01\n\x10\x41\x64\x64ressedCommand\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12/\n\x0c\x63ommand_data\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x1a\n\x12\x65xecute_along_path\x18\x05 \x01(\x08\x12\x32\n*execute_on_all_subsequent_children_in_path\x18\x06 \x01(\x08\x42\x0f\n\r_command_data\"\xf4\x01\n\x0eStatusResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x06status\x18\x03 \x01(\x0b\x32&.dunedaq.druncschema.controller.Status\x12@\n\x08\x63hildren\x18\x04 \x03(\x0b\x32..dunedaq.druncschema.controller.StatusResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xf7\x01\n\x10\x44\x65scribeResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32 .dunedaq.druncschema.Description\x12\x42\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x30.dunedaq.druncschema.controller.DescribeResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\x93\x02\n\x13\x44\x65scribeFSMResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x36.dunedaq.druncschema.controller.FSMCommandsDescription\x12\x45\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x33.dunedaq.druncschema.controller.DescribeFSMResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xfd\x01\n\x17RecomputeStatusResponse\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x06status\x18\x03 \x01(\x0b\x32&.dunedaq.druncschema.controller.Status\x12@\n\x08\x63hildren\x18\x04 \x03(\x0b\x32..dunedaq.druncschema.controller.StatusResponse\x12/\n\x04\x66lag\x18\x05 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"\xd4\x01\n\nFSMCommand\x12\x14\n\x0c\x63ommand_name\x18\x01 \x01(\t\x12L\n\targuments\x18\x02 \x03(\x0b\x32\x39.dunedaq.druncschema.controller.FSMCommand.ArgumentsEntry\x12\x11\n\x04\x64\x61ta\x18\x04 \x01(\tH\x00\x88\x01\x01\x1a\x46\n\x0e\x41rgumentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x42\x07\n\x05_data\"\x8d\x01\n\x12\x46SMCommandResponse\x12=\n\x04\x66lag\x18\x01 \x01(\x0e\x32/.dunedaq.druncschema.controller.FSMResponseFlag\x12\x14\n\x0c\x63ommand_name\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xee\x02\n\x08\x41rgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x08presence\x18\x02 \x01(\x0e\x32\x31.dunedaq.druncschema.controller.Argument.Presence\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.dunedaq.druncschema.controller.Argument.Type\x12\x30\n\rdefault_value\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12%\n\x07\x63hoices\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04help\x18\x06 \x01(\t\"\'\n\x08Presence\x12\r\n\tMANDATORY\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\"0\n\x04Type\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x42\x10\n\x0e_default_value\"\x98\x01\n\x15\x46SMCommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\x12;\n\targuments\x18\x05 \x03(\x0b\x32(.dunedaq.druncschema.controller.Argument\".\n\x0b\x46SMSequence\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommand_ids\x18\x02 \x03(\t\"\x8a\x02\n\x16\x46SMCommandsDescription\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x14\n\x07session\x18\x04 \x01(\tH\x00\x88\x01\x01\x12G\n\x08\x63ommands\x18\x05 \x03(\x0b\x32\x35.dunedaq.druncschema.controller.FSMCommandDescription\x12>\n\tsequences\x18\x06 \x03(\x0b\x32+.dunedaq.druncschema.controller.FSMSequenceB\n\n\x08_session\"\x9b\x01\n\x06Status\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tsub_state\x18\x03 \x01(\t\x12\x10\n\x08in_error\x18\x04 \x01(\x08\x12\x10\n\x08included\x18\x05 \x01(\x08\x12>\n\x08run_info\x18\x06 \x01(\x0b\x32\'.dunedaq.druncschema.controller.RunInfoH\x00\x88\x01\x01\x42\x0b\n\t_run_info\"\xce\x01\n\x07RunInfo\x12\x10\n\x08run_type\x18\x01 \x01(\t\x12\x14\n\x0ctrigger_rate\x18\x02 \x01(\x01\x12\x12\n\nrun_number\x18\x03 \x01(\x04\x12\x1c\n\x14\x64isable_data_storage\x18\x04 \x01(\x08\x12\x19\n\x11run_time_at_start\x18\x05 \x01(\r\x12\x1c\n\x14run_time_since_start\x18\x06 \x01(\r\x12\x17\n\x0frun_config_file\x18\x07 \x01(\t\x12\x17\n\x0frun_config_name\x18\x08 \x01(\t*\x9a\x01\n\x0f\x46SMResponseFlag\x12\x1d\n\x19\x46SM_EXECUTED_SUCCESSFULLY\x10\x00\x12\x0e\n\nFSM_FAILED\x10\x01\x12\x1a\n\x16\x46SM_INVALID_TRANSITION\x10\x02\x12\x1d\n\x19\x46SM_NOT_EXECUTED_EXCLUDED\x10\x03\x12\x1d\n\x19\x46SM_NOT_EXECUTED_IN_ERROR\x10\x04\x32\xea\x08\n\nController\x12p\n\x08\x64\x65scribe\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x30.dunedaq.druncschema.controller.DescribeResponse\"\x00\x12l\n\x06status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a..dunedaq.druncschema.controller.StatusResponse\"\x00\x12w\n\x0c\x64\x65scribe_fsm\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x33.dunedaq.druncschema.controller.DescribeFSMResponse\"\x00\x12T\n\x13\x65xecute_fsm_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12W\n\x16\x65xecute_expert_command\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07include\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12H\n\x07\x65xclude\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12\x7f\n\x10recompute_status\x12\x30.dunedaq.druncschema.controller.AddressedCommand\x1a\x37.dunedaq.druncschema.controller.RecomputeStatusResponse\"\x00\x12M\n\x0ctake_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11surrender_control\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10who_is_in_charge\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12I\n\x08to_error\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,8 +37,8 @@ DESCRIPTOR._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._loaded_options = None _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_options = b'8\001' - _globals['_FSMRESPONSEFLAG']._serialized_start=2774 - _globals['_FSMRESPONSEFLAG']._serialized_end=2928 + _globals['_FSMRESPONSEFLAG']._serialized_start=3030 + _globals['_FSMRESPONSEFLAG']._serialized_end=3184 _globals['_ADDRESSEDCOMMAND']._serialized_start=184 _globals['_ADDRESSEDCOMMAND']._serialized_end=429 _globals['_STATUSRESPONSE']._serialized_start=432 @@ -47,28 +47,30 @@ _globals['_DESCRIBERESPONSE']._serialized_end=926 _globals['_DESCRIBEFSMRESPONSE']._serialized_start=929 _globals['_DESCRIBEFSMRESPONSE']._serialized_end=1204 - _globals['_FSMCOMMAND']._serialized_start=1207 - _globals['_FSMCOMMAND']._serialized_end=1419 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=1340 - _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=1410 - _globals['_FSMCOMMANDRESPONSE']._serialized_start=1422 - _globals['_FSMCOMMANDRESPONSE']._serialized_end=1563 - _globals['_ARGUMENT']._serialized_start=1566 - _globals['_ARGUMENT']._serialized_end=1932 - _globals['_ARGUMENT_PRESENCE']._serialized_start=1825 - _globals['_ARGUMENT_PRESENCE']._serialized_end=1864 - _globals['_ARGUMENT_TYPE']._serialized_start=1866 - _globals['_ARGUMENT_TYPE']._serialized_end=1914 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=1935 - _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=2087 - _globals['_FSMSEQUENCE']._serialized_start=2089 - _globals['_FSMSEQUENCE']._serialized_end=2135 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=2138 - _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=2404 - _globals['_STATUS']._serialized_start=2407 - _globals['_STATUS']._serialized_end=2562 - _globals['_RUNINFO']._serialized_start=2565 - _globals['_RUNINFO']._serialized_end=2771 - _globals['_CONTROLLER']._serialized_start=2931 - _globals['_CONTROLLER']._serialized_end=4052 + _globals['_RECOMPUTESTATUSRESPONSE']._serialized_start=1207 + _globals['_RECOMPUTESTATUSRESPONSE']._serialized_end=1460 + _globals['_FSMCOMMAND']._serialized_start=1463 + _globals['_FSMCOMMAND']._serialized_end=1675 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_start=1596 + _globals['_FSMCOMMAND_ARGUMENTSENTRY']._serialized_end=1666 + _globals['_FSMCOMMANDRESPONSE']._serialized_start=1678 + _globals['_FSMCOMMANDRESPONSE']._serialized_end=1819 + _globals['_ARGUMENT']._serialized_start=1822 + _globals['_ARGUMENT']._serialized_end=2188 + _globals['_ARGUMENT_PRESENCE']._serialized_start=2081 + _globals['_ARGUMENT_PRESENCE']._serialized_end=2120 + _globals['_ARGUMENT_TYPE']._serialized_start=2122 + _globals['_ARGUMENT_TYPE']._serialized_end=2170 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_start=2191 + _globals['_FSMCOMMANDDESCRIPTION']._serialized_end=2343 + _globals['_FSMSEQUENCE']._serialized_start=2345 + _globals['_FSMSEQUENCE']._serialized_end=2391 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_start=2394 + _globals['_FSMCOMMANDSDESCRIPTION']._serialized_end=2660 + _globals['_STATUS']._serialized_start=2663 + _globals['_STATUS']._serialized_end=2818 + _globals['_RUNINFO']._serialized_start=2821 + _globals['_RUNINFO']._serialized_end=3027 + _globals['_CONTROLLER']._serialized_start=3187 + _globals['_CONTROLLER']._serialized_end=4317 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.pyi b/python_not_for_dunedaq/druncschema/controller_pb2.pyi index cfefd02..947d608 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/controller_pb2.pyi @@ -171,6 +171,37 @@ class DescribeFSMResponse(google.protobuf.message.Message): global___DescribeFSMResponse = DescribeFSMResponse +@typing.final +class RecomputeStatusResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TOKEN_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + CHILDREN_FIELD_NUMBER: builtins.int + FLAG_FIELD_NUMBER: builtins.int + name: builtins.str + flag: druncschema.request_response_pb2.ResponseFlag.ValueType + @property + def token(self) -> druncschema.token_pb2.Token: ... + @property + def status(self) -> global___Status: ... + @property + def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StatusResponse]: ... + def __init__( + self, + *, + token: druncschema.token_pb2.Token | None = ..., + name: builtins.str = ..., + status: global___Status | None = ..., + children: collections.abc.Iterable[global___StatusResponse] | None = ..., + flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["status", b"status", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["children", b"children", "flag", b"flag", "name", b"name", "status", b"status", "token", b"token"]) -> None: ... + +global___RecomputeStatusResponse = RecomputeStatusResponse + @typing.final class FSMCommand(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py index 8ffb397..502bf4c 100644 --- a/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/controller_pb2_grpc.py @@ -73,7 +73,7 @@ def __init__(self, channel): self.recompute_status = channel.unary_unary( '/dunedaq.druncschema.controller.Controller/recompute_status', request_serializer=druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, - response_deserializer=druncschema_dot_controller__pb2.StatusResponse.FromString, + response_deserializer=druncschema_dot_controller__pb2.RecomputeStatusResponse.FromString, _registered_method=True) self.take_control = channel.unary_unary( '/dunedaq.druncschema.controller.Controller/take_control', @@ -213,7 +213,7 @@ def add_ControllerServicer_to_server(servicer, server): 'recompute_status': grpc.unary_unary_rpc_method_handler( servicer.recompute_status, request_deserializer=druncschema_dot_controller__pb2.AddressedCommand.FromString, - response_serializer=druncschema_dot_controller__pb2.StatusResponse.SerializeToString, + response_serializer=druncschema_dot_controller__pb2.RecomputeStatusResponse.SerializeToString, ), 'take_control': grpc.unary_unary_rpc_method_handler( servicer.take_control, @@ -451,7 +451,7 @@ def recompute_status(request, target, '/dunedaq.druncschema.controller.Controller/recompute_status', druncschema_dot_controller__pb2.AddressedCommand.SerializeToString, - druncschema_dot_controller__pb2.StatusResponse.FromString, + druncschema_dot_controller__pb2.RecomputeStatusResponse.FromString, options, channel_credentials, insecure, diff --git a/schema/druncschema/controller.proto b/schema/druncschema/controller.proto index 48d185b..cac4bea 100644 --- a/schema/druncschema/controller.proto +++ b/schema/druncschema/controller.proto @@ -16,7 +16,7 @@ service Controller { rpc execute_expert_command (Request) returns (Response) {} rpc include (Request) returns (Response) {} rpc exclude (Request) returns (Response) {} - rpc recompute_status (AddressedCommand) returns (StatusResponse) {} + rpc recompute_status (AddressedCommand) returns (RecomputeStatusResponse) {} rpc take_control (Request) returns (Response) {} rpc surrender_control (Request) returns (Response) {} @@ -58,6 +58,14 @@ message DescribeFSMResponse { ResponseFlag flag = 5; } +message RecomputeStatusResponse { + Token token = 1; + string name = 2; + Status status = 3; + repeated StatusResponse children = 4; + ResponseFlag flag = 5; +} + message FSMCommand { string command_name = 1; map arguments = 2;