VOL-4032: gRPC Streams for Events, Metrics

Change-Id: Iff813c7e701490833b8585a6c5516348000e541f
diff --git a/cpp/dmi/hw_events_mgmt_service.pb.cc b/cpp/dmi/hw_events_mgmt_service.pb.cc
index 4f856f0..28a38bc 100644
--- a/cpp/dmi/hw_events_mgmt_service.pb.cc
+++ b/cpp/dmi/hw_events_mgmt_service.pb.cc
@@ -391,112 +391,115 @@
 const char descriptor_table_protodef_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto[] =
   "\n dmi/hw_events_mgmt_service.proto\022\003dmi\032"
   "\021dmi/commons.proto\032\014dmi/hw.proto\032\037google"
-  "/protobuf/timestamp.proto\"N\n\tValueType\022\021"
-  "\n\007int_val\030\001 \001(\003H\000\022\022\n\010uint_val\030\002 \001(\004H\000\022\023\n"
-  "\tfloat_val\030\003 \001(\002H\000B\005\n\003val\"G\n\nWaterMarks\022"
-  "\034\n\004high\030\001 \001(\0132\016.dmi.ValueType\022\033\n\003low\030\002 \001"
-  "(\0132\016.dmi.ValueType\"]\n\nThresholds\022 \n\005uppe"
-  "r\030\001 \001(\0132\017.dmi.WaterMarksH\000\022 \n\005lower\030\002 \001("
-  "\0132\017.dmi.WaterMarksH\000B\013\n\tthreshold\"c\n\024Thr"
-  "esholdInformation\022&\n\016observed_value\030\001 \001("
-  "\0132\016.dmi.ValueType\022#\n\nthresholds\030\002 \001(\0132\017."
-  "dmi.Thresholds\"g\n\010EventCfg\022\037\n\010event_id\030\001"
-  " \001(\0162\r.dmi.EventIds\022\025\n\ris_configured\030\002 \001"
-  "(\010\022#\n\nthresholds\030\003 \001(\0132\017.dmi.Thresholds\""
-  ")\n\tEventsCfg\022\034\n\005items\030\001 \003(\0132\r.dmi.EventC"
-  "fg\"\370\001\n\022ListEventsResponse\022\033\n\006status\030\001 \001("
-  "\0162\013.dmi.Status\022.\n\006reason\030\002 \001(\0162\036.dmi.Lis"
-  "tEventsResponse.Reason\022\036\n\006events\030\003 \001(\0132\016"
-  ".dmi.EventsCfg\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_"
-  "UNREACHABLE\020\003\"\210\001\n\032EventsConfigurationReq"
-  "uest\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi.Uuid\022!\n\007"
-  "changes\030\002 \001(\0132\016.dmi.EventsCfgH\000\022\032\n\020reset"
-  "_to_default\030\003 \001(\010H\000B\013\n\toperation\"\376\001\n\033Eve"
-  "ntsConfigurationResponse\022\033\n\006status\030\001 \001(\016"
-  "2\013.dmi.Status\0227\n\006reason\030\002 \001(\0162\'.dmi.Even"
-  "tsConfigurationResponse.Reason\022\025\n\rreason"
-  "_detail\030\003 \001(\t\"r\n\006Reason\022\024\n\020UNDEFINED_REA"
-  "SON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022\n\016INTERNAL_ER"
-  "ROR\020\002\022\022\n\016INVALID_CONFIG\020\003\022\026\n\022DEVICE_UNRE"
-  "ACHABLE\020\004\"j\n\rEventMetaData\022\036\n\013device_uui"
-  "d\030\001 \001(\0132\t.dmi.Uuid\022!\n\016component_uuid\030\002 \001"
-  "(\0132\t.dmi.Uuid\022\026\n\016component_name\030\003 \001(\t\"\310\001"
-  "\n\005Event\022*\n\016event_metadata\030\001 \001(\0132\022.dmi.Ev"
-  "entMetaData\022\037\n\010event_id\030\002 \001(\0162\r.dmi.Even"
-  "tIds\022-\n\traised_ts\030\003 \001(\0132\032.google.protobu"
-  "f.Timestamp\0221\n\016threshold_info\030\004 \001(\0132\031.dm"
-  "i.ThresholdInformation\022\020\n\010add_info\030\005 \001(\t"
-  "*\321\016\n\010EventIds\022\030\n\024EVENT_NAME_UNDEFINED\020\000\022"
-  "\036\n\032EVENT_TRANSCEIVER_PLUG_OUT\020d\022\035\n\031EVENT"
-  "_TRANSCEIVER_PLUG_IN\020e\022-\n)EVENT_TRANSCEI"
-  "VER_VOLTAGE_ABOVE_THRESHOLD\020f\022-\n)EVENT_T"
-  "RANSCEIVER_VOLTAGE_BELOW_THRESHOLD\020g\0221\n-"
-  "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRE"
-  "SHOLD\020h\0221\n-EVENT_TRANSCEIVER_TEMPERATURE"
-  "_BELOW_THRESHOLD\020i\022-\n)EVENT_TRANSCEIVER_"
-  "CURRENT_ABOVE_THRESHOLD\020j\022-\n)EVENT_TRANS"
-  "CEIVER_CURRENT_BELOW_THRESHOLD\020k\022.\n*EVEN"
-  "T_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD\020l"
-  "\022.\n*EVENT_TRANSCEIVER_RX_POWER_BELOW_THR"
-  "ESHOLD\020m\022.\n*EVENT_TRANSCEIVER_TX_POWER_A"
-  "BOVE_THRESHOLD\020n\022.\n*EVENT_TRANSCEIVER_TX"
-  "_POWER_BELOW_THRESHOLD\020o\022\035\n\031EVENT_TRANSC"
-  "EIVER_FAILURE\020p\0227\n3EVENT_TRANSCEIVER_VOL"
-  "TAGE_ABOVE_THRESHOLD_RECOVERED\020q\0227\n3EVEN"
-  "T_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RE"
-  "COVERED\020r\022;\n7EVENT_TRANSCEIVER_TEMPERATU"
-  "RE_ABOVE_THRESHOLD_RECOVERED\020s\022;\n7EVENT_"
-  "TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_"
-  "RECOVERED\020t\0227\n3EVENT_TRANSCEIVER_CURRENT"
-  "_ABOVE_THRESHOLD_RECOVERED\020u\0227\n3EVENT_TR"
-  "ANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVE"
-  "RED\020v\0228\n4EVENT_TRANSCEIVER_RX_POWER_ABOV"
-  "E_THRESHOLD_RECOVERED\020w\0228\n4EVENT_TRANSCE"
-  "IVER_RX_POWER_BELOW_THRESHOLD_RECOVERED\020"
-  "x\0228\n4EVENT_TRANSCEIVER_TX_POWER_ABOVE_TH"
-  "RESHOLD_RECOVERED\020y\0228\n4EVENT_TRANSCEIVER"
-  "_TX_POWER_BELOW_THRESHOLD_RECOVERED\020z\022\'\n"
-  "#EVENT_TRANSCEIVER_FAILURE_RECOVERED\020{\022\027"
-  "\n\022EVENT_PSU_PLUG_OUT\020\310\001\022\026\n\021EVENT_PSU_PLU"
-  "G_IN\020\311\001\022\026\n\021EVENT_PSU_FAILURE\020\312\001\022 \n\033EVENT"
-  "_PSU_FAILURE_RECOVERED\020\313\001\022\026\n\021EVENT_FAN_F"
-  "AILURE\020\254\002\022\027\n\022EVENT_FAN_PLUG_OUT\020\255\002\022\026\n\021EV"
-  "ENT_FAN_PLUG_IN\020\256\002\022 \n\033EVENT_FAN_FAILURE_"
-  "RECOVERED\020\257\002\022)\n$EVENT_CPU_TEMPERATURE_AB"
-  "OVE_CRITICAL\020\220\003\022&\n!EVENT_CPU_TEMPERATURE"
-  "_ABOVE_FATAL\020\221\003\0223\n.EVENT_CPU_TEMPERATURE"
-  "_ABOVE_CRITICAL_RECOVERED\020\222\003\0220\n+EVENT_CP"
-  "U_TEMPERATURE_ABOVE_FATAL_RECOVERED\020\223\003\022\032"
-  "\n\025EVENT_HW_DEVICE_RESET\020\364\003\022/\n*EVENT_HW_D"
-  "EVICE_TEMPERATURE_ABOVE_CRITICAL\020\365\003\022,\n\'E"
-  "VENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL\020\366"
-  "\003\0229\n4EVENT_HW_DEVICE_TEMPERATURE_ABOVE_C"
-  "RITICAL_RECOVERED\020\367\003\0226\n1EVENT_HW_DEVICE_"
-  "TEMPERATURE_ABOVE_FATAL_RECOVERED\020\370\0032\267\001\n"
-  "\035NativeEventsManagementService\0226\n\nListEv"
-  "ents\022\017.dmi.HardwareID\032\027.dmi.ListEventsRe"
-  "sponse\022^\n\031UpdateEventsConfiguration\022\037.dm"
-  "i.EventsConfigurationRequest\032 .dmi.Event"
-  "sConfigurationResponseB;Z9github.com/ope"
-  "ncord/device-management-interface/v3/go/"
-  "dmib\006proto3"
+  "/protobuf/timestamp.proto\032\033google/protob"
+  "uf/empty.proto\"N\n\tValueType\022\021\n\007int_val\030\001"
+  " \001(\003H\000\022\022\n\010uint_val\030\002 \001(\004H\000\022\023\n\tfloat_val\030"
+  "\003 \001(\002H\000B\005\n\003val\"G\n\nWaterMarks\022\034\n\004high\030\001 \001"
+  "(\0132\016.dmi.ValueType\022\033\n\003low\030\002 \001(\0132\016.dmi.Va"
+  "lueType\"]\n\nThresholds\022 \n\005upper\030\001 \001(\0132\017.d"
+  "mi.WaterMarksH\000\022 \n\005lower\030\002 \001(\0132\017.dmi.Wat"
+  "erMarksH\000B\013\n\tthreshold\"c\n\024ThresholdInfor"
+  "mation\022&\n\016observed_value\030\001 \001(\0132\016.dmi.Val"
+  "ueType\022#\n\nthresholds\030\002 \001(\0132\017.dmi.Thresho"
+  "lds\"g\n\010EventCfg\022\037\n\010event_id\030\001 \001(\0162\r.dmi."
+  "EventIds\022\025\n\ris_configured\030\002 \001(\010\022#\n\nthres"
+  "holds\030\003 \001(\0132\017.dmi.Thresholds\")\n\tEventsCf"
+  "g\022\034\n\005items\030\001 \003(\0132\r.dmi.EventCfg\"\370\001\n\022List"
+  "EventsResponse\022\033\n\006status\030\001 \001(\0162\013.dmi.Sta"
+  "tus\022.\n\006reason\030\002 \001(\0162\036.dmi.ListEventsResp"
+  "onse.Reason\022\036\n\006events\030\003 \001(\0132\016.dmi.Events"
+  "Cfg\022\025\n\rreason_detail\030\004 \001(\t\"^\n\006Reason\022\024\n\020"
+  "UNDEFINED_REASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022"
+  "\n\016INTERNAL_ERROR\020\002\022\026\n\022DEVICE_UNREACHABLE"
+  "\020\003\"\210\001\n\032EventsConfigurationRequest\022\036\n\013dev"
+  "ice_uuid\030\001 \001(\0132\t.dmi.Uuid\022!\n\007changes\030\002 \001"
+  "(\0132\016.dmi.EventsCfgH\000\022\032\n\020reset_to_default"
+  "\030\003 \001(\010H\000B\013\n\toperation\"\376\001\n\033EventsConfigur"
+  "ationResponse\022\033\n\006status\030\001 \001(\0162\013.dmi.Stat"
+  "us\0227\n\006reason\030\002 \001(\0162\'.dmi.EventsConfigura"
+  "tionResponse.Reason\022\025\n\rreason_detail\030\003 \001"
+  "(\t\"r\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016UN"
+  "KNOWN_DEVICE\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\022\n\016IN"
+  "VALID_CONFIG\020\003\022\026\n\022DEVICE_UNREACHABLE\020\004\"j"
+  "\n\rEventMetaData\022\036\n\013device_uuid\030\001 \001(\0132\t.d"
+  "mi.Uuid\022!\n\016component_uuid\030\002 \001(\0132\t.dmi.Uu"
+  "id\022\026\n\016component_name\030\003 \001(\t\"\310\001\n\005Event\022*\n\016"
+  "event_metadata\030\001 \001(\0132\022.dmi.EventMetaData"
+  "\022\037\n\010event_id\030\002 \001(\0162\r.dmi.EventIds\022-\n\trai"
+  "sed_ts\030\003 \001(\0132\032.google.protobuf.Timestamp"
+  "\0221\n\016threshold_info\030\004 \001(\0132\031.dmi.Threshold"
+  "Information\022\020\n\010add_info\030\005 \001(\t*\321\016\n\010EventI"
+  "ds\022\030\n\024EVENT_NAME_UNDEFINED\020\000\022\036\n\032EVENT_TR"
+  "ANSCEIVER_PLUG_OUT\020d\022\035\n\031EVENT_TRANSCEIVE"
+  "R_PLUG_IN\020e\022-\n)EVENT_TRANSCEIVER_VOLTAGE"
+  "_ABOVE_THRESHOLD\020f\022-\n)EVENT_TRANSCEIVER_"
+  "VOLTAGE_BELOW_THRESHOLD\020g\0221\n-EVENT_TRANS"
+  "CEIVER_TEMPERATURE_ABOVE_THRESHOLD\020h\0221\n-"
+  "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRE"
+  "SHOLD\020i\022-\n)EVENT_TRANSCEIVER_CURRENT_ABO"
+  "VE_THRESHOLD\020j\022-\n)EVENT_TRANSCEIVER_CURR"
+  "ENT_BELOW_THRESHOLD\020k\022.\n*EVENT_TRANSCEIV"
+  "ER_RX_POWER_ABOVE_THRESHOLD\020l\022.\n*EVENT_T"
+  "RANSCEIVER_RX_POWER_BELOW_THRESHOLD\020m\022.\n"
+  "*EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESH"
+  "OLD\020n\022.\n*EVENT_TRANSCEIVER_TX_POWER_BELO"
+  "W_THRESHOLD\020o\022\035\n\031EVENT_TRANSCEIVER_FAILU"
+  "RE\020p\0227\n3EVENT_TRANSCEIVER_VOLTAGE_ABOVE_"
+  "THRESHOLD_RECOVERED\020q\0227\n3EVENT_TRANSCEIV"
+  "ER_VOLTAGE_BELOW_THRESHOLD_RECOVERED\020r\022;"
+  "\n7EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_TH"
+  "RESHOLD_RECOVERED\020s\022;\n7EVENT_TRANSCEIVER"
+  "_TEMPERATURE_BELOW_THRESHOLD_RECOVERED\020t"
+  "\0227\n3EVENT_TRANSCEIVER_CURRENT_ABOVE_THRE"
+  "SHOLD_RECOVERED\020u\0227\n3EVENT_TRANSCEIVER_C"
+  "URRENT_BELOW_THRESHOLD_RECOVERED\020v\0228\n4EV"
+  "ENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD"
+  "_RECOVERED\020w\0228\n4EVENT_TRANSCEIVER_RX_POW"
+  "ER_BELOW_THRESHOLD_RECOVERED\020x\0228\n4EVENT_"
+  "TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_REC"
+  "OVERED\020y\0228\n4EVENT_TRANSCEIVER_TX_POWER_B"
+  "ELOW_THRESHOLD_RECOVERED\020z\022\'\n#EVENT_TRAN"
+  "SCEIVER_FAILURE_RECOVERED\020{\022\027\n\022EVENT_PSU"
+  "_PLUG_OUT\020\310\001\022\026\n\021EVENT_PSU_PLUG_IN\020\311\001\022\026\n\021"
+  "EVENT_PSU_FAILURE\020\312\001\022 \n\033EVENT_PSU_FAILUR"
+  "E_RECOVERED\020\313\001\022\026\n\021EVENT_FAN_FAILURE\020\254\002\022\027"
+  "\n\022EVENT_FAN_PLUG_OUT\020\255\002\022\026\n\021EVENT_FAN_PLU"
+  "G_IN\020\256\002\022 \n\033EVENT_FAN_FAILURE_RECOVERED\020\257"
+  "\002\022)\n$EVENT_CPU_TEMPERATURE_ABOVE_CRITICA"
+  "L\020\220\003\022&\n!EVENT_CPU_TEMPERATURE_ABOVE_FATA"
+  "L\020\221\003\0223\n.EVENT_CPU_TEMPERATURE_ABOVE_CRIT"
+  "ICAL_RECOVERED\020\222\003\0220\n+EVENT_CPU_TEMPERATU"
+  "RE_ABOVE_FATAL_RECOVERED\020\223\003\022\032\n\025EVENT_HW_"
+  "DEVICE_RESET\020\364\003\022/\n*EVENT_HW_DEVICE_TEMPE"
+  "RATURE_ABOVE_CRITICAL\020\365\003\022,\n\'EVENT_HW_DEV"
+  "ICE_TEMPERATURE_ABOVE_FATAL\020\366\003\0229\n4EVENT_"
+  "HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_REC"
+  "OVERED\020\367\003\0226\n1EVENT_HW_DEVICE_TEMPERATURE"
+  "_ABOVE_FATAL_RECOVERED\020\370\0032\355\001\n\035NativeEven"
+  "tsManagementService\0226\n\nListEvents\022\017.dmi."
+  "HardwareID\032\027.dmi.ListEventsResponse\022^\n\031U"
+  "pdateEventsConfiguration\022\037.dmi.EventsCon"
+  "figurationRequest\032 .dmi.EventsConfigurat"
+  "ionResponse\0224\n\014StreamEvents\022\026.google.pro"
+  "tobuf.Empty\032\n.dmi.Event0\001B;Z9github.com/"
+  "opencord/device-management-interface/v3/"
+  "go/dmib\006proto3"
   ;
 ::google::protobuf::internal::DescriptorTable descriptor_table_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto = {
   false, InitDefaults_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto, 
   descriptor_table_protodef_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto,
-  "dmi/hw_events_mgmt_service.proto", &assign_descriptors_table_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto, 3691,
+  "dmi/hw_events_mgmt_service.proto", &assign_descriptors_table_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto, 3774,
 };
 
 void AddDescriptors_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto() {
-  static constexpr ::google::protobuf::internal::InitFunc deps[3] =
+  static constexpr ::google::protobuf::internal::InitFunc deps[4] =
   {
     ::AddDescriptors_dmi_2fcommons_2eproto,
     ::AddDescriptors_dmi_2fhw_2eproto,
     ::AddDescriptors_google_2fprotobuf_2ftimestamp_2eproto,
+    ::AddDescriptors_google_2fprotobuf_2fempty_2eproto,
   };
- ::google::protobuf::internal::AddDescriptors(&descriptor_table_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto, deps, 3);
+ ::google::protobuf::internal::AddDescriptors(&descriptor_table_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto, deps, 4);
 }
 
 // Force running AddDescriptors() at dynamic initialization time.