VOL-4032: gRPC Streams for Events, Metrics

Change-Id: Iff813c7e701490833b8585a6c5516348000e541f
diff --git a/cpp/dmi/hw_metrics_mgmt_service.pb.cc b/cpp/dmi/hw_metrics_mgmt_service.pb.cc
index 389e53d..14a0306 100644
--- a/cpp/dmi/hw_metrics_mgmt_service.pb.cc
+++ b/cpp/dmi/hw_metrics_mgmt_service.pb.cc
@@ -319,85 +319,88 @@
 
 const char descriptor_table_protodef_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto[] =
   "\n!dmi/hw_metrics_mgmt_service.proto\022\003dmi"
-  "\032\021dmi/commons.proto\032\014dmi/hw.proto\"a\n\014Met"
-  "ricConfig\022#\n\tmetric_id\030\001 \001(\0162\020.dmi.Metri"
-  "cNames\022\025\n\ris_configured\030\002 \001(\010\022\025\n\rpoll_in"
-  "terval\030\003 \001(\r\"3\n\rMetricsConfig\022\"\n\007metrics"
-  "\030\001 \003(\0132\021.dmi.MetricConfig\"\377\001\n\023ListMetric"
-  "sResponse\022\033\n\006status\030\001 \001(\0162\013.dmi.Status\022/"
-  "\n\006reason\030\002 \001(\0162\037.dmi.ListMetricsResponse"
-  ".Reason\022#\n\007metrics\030\003 \001(\0132\022.dmi.MetricsCo"
-  "nfig\022\025\n\rreason_detail\030\004 \001(\t\"^\n\006Reason\022\024\n"
-  "\020UNDEFINED_REASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022"
-  "\022\n\016INTERNAL_ERROR\020\002\022\026\n\022DEVICE_UNREACHABL"
-  "E\020\003\"\215\001\n\033MetricsConfigurationRequest\022\036\n\013d"
-  "evice_uuid\030\001 \001(\0132\t.dmi.Uuid\022%\n\007changes\030\002"
-  " \001(\0132\022.dmi.MetricsConfigH\000\022\032\n\020reset_to_d"
-  "efault\030\003 \001(\010H\000B\013\n\toperation\"\240\002\n\034MetricsC"
-  "onfigurationResponse\022\033\n\006status\030\001 \001(\0162\013.d"
-  "mi.Status\0228\n\006reason\030\002 \001(\0162(.dmi.MetricsC"
-  "onfigurationResponse.Reason\022\025\n\rreason_de"
-  "tail\030\003 \001(\t\"\221\001\n\006Reason\022\024\n\020UNDEFINED_REASO"
-  "N\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022\n\016INTERNAL_ERRO"
-  "R\020\002\022\035\n\031POLL_INTERVAL_UNSUPPORTED\020\003\022\022\n\016IN"
-  "VALID_METRIC\020\004\022\026\n\022DEVICE_UNREACHABLE\020\005\"k"
-  "\n\016MetricMetaData\022\036\n\013device_uuid\030\001 \001(\0132\t."
-  "dmi.Uuid\022!\n\016component_uuid\030\002 \001(\0132\t.dmi.U"
-  "uid\022\026\n\016component_name\030\003 \001(\t\"\204\001\n\006Metric\022#"
-  "\n\tmetric_id\030\001 \001(\0162\020.dmi.MetricNames\022,\n\017m"
-  "etric_metadata\030\002 \001(\0132\023.dmi.MetricMetaDat"
-  "a\022\'\n\005value\030\003 \001(\0132\030.dmi.ComponentSensorDa"
-  "ta\"_\n\020GetMetricRequest\022&\n\tmeta_data\030\001 \001("
-  "\0132\023.dmi.MetricMetaData\022#\n\tmetric_id\030\002 \001("
-  "\0162\020.dmi.MetricNames\"\237\002\n\021GetMetricRespons"
-  "e\022\033\n\006status\030\001 \001(\0162\013.dmi.Status\022-\n\006reason"
-  "\030\002 \001(\0162\035.dmi.GetMetricResponse.Reason\022\033\n"
-  "\006metric\030\003 \001(\0132\013.dmi.Metric\022\025\n\rreason_det"
-  "ail\030\004 \001(\t\"\211\001\n\006Reason\022\024\n\020UNDEFINED_REASON"
-  "\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\025\n\021UNKNOWN_COMPON"
-  "ENT\020\002\022\022\n\016INTERNAL_ERROR\020\003\022\022\n\016INVALID_MET"
-  "RIC\020\004\022\026\n\022DEVICE_UNREACHABLE\020\005*\331\005\n\013Metric"
-  "Names\022\031\n\025METRIC_NAME_UNDEFINED\020\000\022\024\n\020METR"
-  "IC_FAN_SPEED\020\001\022\023\n\017METRIC_CPU_TEMP\020d\022\037\n\033M"
-  "ETRIC_CPU_USAGE_PERCENTAGE\020e\022\034\n\027METRIC_T"
-  "RANSCEIVER_TEMP\020\310\001\022\037\n\032METRIC_TRANSCEIVER"
-  "_VOLTAGE\020\311\001\022\034\n\027METRIC_TRANSCEIVER_BIAS\020\312"
-  "\001\022 \n\033METRIC_TRANSCEIVER_RX_POWER\020\313\001\022 \n\033M"
-  "ETRIC_TRANSCEIVER_TX_POWER\020\314\001\022\"\n\035METRIC_"
-  "TRANSCEIVER_WAVELENGTH\020\315\001\022\025\n\020METRIC_DISK"
-  "_TEMP\020\254\002\022\031\n\024METRIC_DISK_CAPACITY\020\255\002\022\026\n\021M"
-  "ETRIC_DISK_USAGE\020\256\002\022!\n\034METRIC_DISK_USAGE"
-  "_PERCENTAGE\020\257\002\022&\n!METRIC_DISK_READ_WRITE"
-  "_PERCENTAGE\020\260\002\022(\n#METRIC_DISK_FAULTY_CEL"
-  "LS_PERCENTAGE\020\261\002\022\024\n\017METRIC_RAM_TEMP\020\220\003\022\030"
-  "\n\023METRIC_RAM_CAPACITY\020\221\003\022\025\n\020METRIC_RAM_U"
-  "SAGE\020\222\003\022 \n\033METRIC_RAM_USAGE_PERCENTAGE\020\223"
-  "\003\022\025\n\020METRIC_POWER_MAX\020\364\003\022\027\n\022METRIC_POWER"
-  "_USAGE\020\365\003\022\"\n\035METRIC_POWER_USAGE_PERCENTA"
-  "GE\020\366\003\022\"\n\035METRIC_INNER_SURROUNDING_TEMP\020\330"
-  "\0042\371\001\n\036NativeMetricsManagementService\0228\n\013"
-  "ListMetrics\022\017.dmi.HardwareID\032\030.dmi.ListM"
-  "etricsResponse\022a\n\032UpdateMetricsConfigura"
-  "tion\022 .dmi.MetricsConfigurationRequest\032!"
-  ".dmi.MetricsConfigurationResponse\022:\n\tGet"
-  "Metric\022\025.dmi.GetMetricRequest\032\026.dmi.GetM"
-  "etricResponseB;Z9github.com/opencord/dev"
-  "ice-management-interface/v3/go/dmib\006prot"
-  "o3"
+  "\032\021dmi/commons.proto\032\014dmi/hw.proto\032\033googl"
+  "e/protobuf/empty.proto\"a\n\014MetricConfig\022#"
+  "\n\tmetric_id\030\001 \001(\0162\020.dmi.MetricNames\022\025\n\ri"
+  "s_configured\030\002 \001(\010\022\025\n\rpoll_interval\030\003 \001("
+  "\r\"3\n\rMetricsConfig\022\"\n\007metrics\030\001 \003(\0132\021.dm"
+  "i.MetricConfig\"\377\001\n\023ListMetricsResponse\022\033"
+  "\n\006status\030\001 \001(\0162\013.dmi.Status\022/\n\006reason\030\002 "
+  "\001(\0162\037.dmi.ListMetricsResponse.Reason\022#\n\007"
+  "metrics\030\003 \001(\0132\022.dmi.MetricsConfig\022\025\n\rrea"
+  "son_detail\030\004 \001(\t\"^\n\006Reason\022\024\n\020UNDEFINED_"
+  "REASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022\n\016INTERNAL"
+  "_ERROR\020\002\022\026\n\022DEVICE_UNREACHABLE\020\003\"\215\001\n\033Met"
+  "ricsConfigurationRequest\022\036\n\013device_uuid\030"
+  "\001 \001(\0132\t.dmi.Uuid\022%\n\007changes\030\002 \001(\0132\022.dmi."
+  "MetricsConfigH\000\022\032\n\020reset_to_default\030\003 \001("
+  "\010H\000B\013\n\toperation\"\240\002\n\034MetricsConfiguratio"
+  "nResponse\022\033\n\006status\030\001 \001(\0162\013.dmi.Status\0228"
+  "\n\006reason\030\002 \001(\0162(.dmi.MetricsConfiguratio"
+  "nResponse.Reason\022\025\n\rreason_detail\030\003 \001(\t\""
+  "\221\001\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016UNKN"
+  "OWN_DEVICE\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\035\n\031POLL"
+  "_INTERVAL_UNSUPPORTED\020\003\022\022\n\016INVALID_METRI"
+  "C\020\004\022\026\n\022DEVICE_UNREACHABLE\020\005\"k\n\016MetricMet"
+  "aData\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi.Uuid\022!\n"
+  "\016component_uuid\030\002 \001(\0132\t.dmi.Uuid\022\026\n\016comp"
+  "onent_name\030\003 \001(\t\"\204\001\n\006Metric\022#\n\tmetric_id"
+  "\030\001 \001(\0162\020.dmi.MetricNames\022,\n\017metric_metad"
+  "ata\030\002 \001(\0132\023.dmi.MetricMetaData\022\'\n\005value\030"
+  "\003 \001(\0132\030.dmi.ComponentSensorData\"_\n\020GetMe"
+  "tricRequest\022&\n\tmeta_data\030\001 \001(\0132\023.dmi.Met"
+  "ricMetaData\022#\n\tmetric_id\030\002 \001(\0162\020.dmi.Met"
+  "ricNames\"\237\002\n\021GetMetricResponse\022\033\n\006status"
+  "\030\001 \001(\0162\013.dmi.Status\022-\n\006reason\030\002 \001(\0162\035.dm"
+  "i.GetMetricResponse.Reason\022\033\n\006metric\030\003 \001"
+  "(\0132\013.dmi.Metric\022\025\n\rreason_detail\030\004 \001(\t\"\211"
+  "\001\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016UNKNO"
+  "WN_DEVICE\020\001\022\025\n\021UNKNOWN_COMPONENT\020\002\022\022\n\016IN"
+  "TERNAL_ERROR\020\003\022\022\n\016INVALID_METRIC\020\004\022\026\n\022DE"
+  "VICE_UNREACHABLE\020\005*\331\005\n\013MetricNames\022\031\n\025ME"
+  "TRIC_NAME_UNDEFINED\020\000\022\024\n\020METRIC_FAN_SPEE"
+  "D\020\001\022\023\n\017METRIC_CPU_TEMP\020d\022\037\n\033METRIC_CPU_U"
+  "SAGE_PERCENTAGE\020e\022\034\n\027METRIC_TRANSCEIVER_"
+  "TEMP\020\310\001\022\037\n\032METRIC_TRANSCEIVER_VOLTAGE\020\311\001"
+  "\022\034\n\027METRIC_TRANSCEIVER_BIAS\020\312\001\022 \n\033METRIC"
+  "_TRANSCEIVER_RX_POWER\020\313\001\022 \n\033METRIC_TRANS"
+  "CEIVER_TX_POWER\020\314\001\022\"\n\035METRIC_TRANSCEIVER"
+  "_WAVELENGTH\020\315\001\022\025\n\020METRIC_DISK_TEMP\020\254\002\022\031\n"
+  "\024METRIC_DISK_CAPACITY\020\255\002\022\026\n\021METRIC_DISK_"
+  "USAGE\020\256\002\022!\n\034METRIC_DISK_USAGE_PERCENTAGE"
+  "\020\257\002\022&\n!METRIC_DISK_READ_WRITE_PERCENTAGE"
+  "\020\260\002\022(\n#METRIC_DISK_FAULTY_CELLS_PERCENTA"
+  "GE\020\261\002\022\024\n\017METRIC_RAM_TEMP\020\220\003\022\030\n\023METRIC_RA"
+  "M_CAPACITY\020\221\003\022\025\n\020METRIC_RAM_USAGE\020\222\003\022 \n\033"
+  "METRIC_RAM_USAGE_PERCENTAGE\020\223\003\022\025\n\020METRIC"
+  "_POWER_MAX\020\364\003\022\027\n\022METRIC_POWER_USAGE\020\365\003\022\""
+  "\n\035METRIC_POWER_USAGE_PERCENTAGE\020\366\003\022\"\n\035ME"
+  "TRIC_INNER_SURROUNDING_TEMP\020\330\0042\261\002\n\036Nativ"
+  "eMetricsManagementService\0228\n\013ListMetrics"
+  "\022\017.dmi.HardwareID\032\030.dmi.ListMetricsRespo"
+  "nse\022a\n\032UpdateMetricsConfiguration\022 .dmi."
+  "MetricsConfigurationRequest\032!.dmi.Metric"
+  "sConfigurationResponse\022:\n\tGetMetric\022\025.dm"
+  "i.GetMetricRequest\032\026.dmi.GetMetricRespon"
+  "se\0226\n\rStreamMetrics\022\026.google.protobuf.Em"
+  "pty\032\013.dmi.Metric0\001B;Z9github.com/opencor"
+  "d/device-management-interface/v3/go/dmib"
+  "\006proto3"
   ;
 ::google::protobuf::internal::DescriptorTable descriptor_table_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto = {
   false, InitDefaults_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto, 
   descriptor_table_protodef_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto,
-  "dmi/hw_metrics_mgmt_service.proto", &assign_descriptors_table_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto, 2602,
+  "dmi/hw_metrics_mgmt_service.proto", &assign_descriptors_table_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto, 2687,
 };
 
 void AddDescriptors_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto() {
-  static constexpr ::google::protobuf::internal::InitFunc deps[2] =
+  static constexpr ::google::protobuf::internal::InitFunc deps[3] =
   {
     ::AddDescriptors_dmi_2fcommons_2eproto,
     ::AddDescriptors_dmi_2fhw_2eproto,
+    ::AddDescriptors_google_2fprotobuf_2fempty_2eproto,
   };
- ::google::protobuf::internal::AddDescriptors(&descriptor_table_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto, deps, 2);
+ ::google::protobuf::internal::AddDescriptors(&descriptor_table_dmi_2fhw_5fmetrics_5fmgmt_5fservice_2eproto, deps, 3);
 }
 
 // Force running AddDescriptors() at dynamic initialization time.