diff --git a/clients/dotnet/README.md b/clients/dotnet/README.md index 3cbd0ff..bad5b6e 100644 --- a/clients/dotnet/README.md +++ b/clients/dotnet/README.md @@ -149,6 +149,13 @@ token and pass through the `MxGateway:Alarms` configuration on the server — when alarms are disabled, the gateway returns an empty list / empty stream rather than failing. +`ActiveAlarmSnapshot.FromTruncatedSnapshot` marks a record that came from a +provider fetch which hit the per-fetch cap: the snapshot set may omit active +alarms, and the gateway suspended its absence-implies-cleared inference for that +poll. Treat the set as possibly incomplete rather than reconciling deletions +from it. It is set-level degraded status, not a comment on the record's own +fidelity, and is distinct from `Degraded` (the subtag fallback provider). + `MxGatewaySession.CloseAsync` is explicit and idempotent. Repeated calls return the first `CloseSessionReply` instead of sending another close request. diff --git a/clients/go/README.md b/clients/go/README.md index 12bfd9d..86f9f62 100644 --- a/clients/go/README.md +++ b/clients/go/README.md @@ -145,6 +145,14 @@ call returns a `StreamAlarmsClient`; cancel its context to terminate the stream. All three pass straight through to the gateway's central alarm monitor. +`ActiveAlarmSnapshot.GetFromTruncatedSnapshot()` reports that the record came +from a provider fetch which hit the per-fetch cap: the snapshot set may omit +active alarms, and the gateway suspended its absence-implies-cleared inference +for that poll. Treat the set as possibly incomplete rather than reconciling +deletions from it. It is set-level degraded status, not a comment on the +record's own fidelity, and is distinct from `Degraded` (the subtag fallback +provider). + ## Write Semantics And Common Pitfalls These are MXAccess parity behaviors that surprise new callers. The gateway diff --git a/clients/go/internal/generated/mxaccess_gateway.pb.go b/clients/go/internal/generated/mxaccess_gateway.pb.go index d0f041c..f183bb9 100644 --- a/clients/go/internal/generated/mxaccess_gateway.pb.go +++ b/clients/go/internal/generated/mxaccess_gateway.pb.go @@ -6103,10 +6103,17 @@ func (x *AcknowledgeAlarmReplyPayload) GetNativeStatus() int32 { // an ActiveAlarmSnapshot proto for the gateway-side ConditionRefresh // stream. type QueryActiveAlarmsReplyPayload struct { - state protoimpl.MessageState `protogen:"open.v1"` - Snapshots []*ActiveAlarmSnapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Snapshots []*ActiveAlarmSnapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"` + // True when the provider fetch backing this reply came back holding the + // per-fetch cap (MxGateway:Alarms:MaxAlarmsPerFetch). The reply may then omit + // active alarms, and the worker suspends its absence-implies-Clear inference + // for that poll — so a reference missing from `snapshots` is not evidence the + // alarm cleared. Carried on the payload as well as per-record because a + // truncated fetch that filters down to zero records still has to say so. + SnapshotTruncated bool `protobuf:"varint,2,opt,name=snapshot_truncated,json=snapshotTruncated,proto3" json:"snapshot_truncated,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryActiveAlarmsReplyPayload) Reset() { @@ -6146,6 +6153,13 @@ func (x *QueryActiveAlarmsReplyPayload) GetSnapshots() []*ActiveAlarmSnapshot { return nil } +func (x *QueryActiveAlarmsReplyPayload) GetSnapshotTruncated() bool { + if x != nil { + return x.SnapshotTruncated + } + return false +} + type MxEvent struct { state protoimpl.MessageState `protogen:"open.v1"` Family MxEventFamily `protobuf:"varint,1,opt,name=family,proto3,enum=mxaccess_gateway.v1.MxEventFamily" json:"family,omitempty"` @@ -6958,8 +6972,18 @@ type ActiveAlarmSnapshot struct { // OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the // wire (never UNSPECIFIED). SourceProvider AlarmProviderMode `protobuf:"varint,15,opt,name=source_provider,json=sourceProvider,proto3,enum=mxaccess_gateway.v1.AlarmProviderMode" json:"source_provider,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // True when the provider fetch that produced this snapshot hit the per-fetch + // cap: the snapshot set may omit active alarms, and the worker suspended its + // absence-implies-Clear inference for that poll. Says nothing about THIS + // record's fidelity — the record is as accurate as any other; it flags that + // the set it belongs to is possibly incomplete. QueryActiveAlarms returns a + // bare `stream ActiveAlarmSnapshot` with no envelope message, so a per-record + // boolean is the only additive way to carry set-level degraded status on that + // RPC. Distinct from `degraded`, which is about the subtag fallback provider. + // Additive (proto3): clients that ignore it deserialize the stream unchanged. + FromTruncatedSnapshot bool `protobuf:"varint,16,opt,name=from_truncated_snapshot,json=fromTruncatedSnapshot,proto3" json:"from_truncated_snapshot,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ActiveAlarmSnapshot) Reset() { @@ -7097,6 +7121,13 @@ func (x *ActiveAlarmSnapshot) GetSourceProvider() AlarmProviderMode { return AlarmProviderMode_ALARM_PROVIDER_MODE_UNSPECIFIED } +func (x *ActiveAlarmSnapshot) GetFromTruncatedSnapshot() bool { + if x != nil { + return x.FromTruncatedSnapshot + } + return false +} + type AcknowledgeAlarmRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ClientCorrelationId string `protobuf:"bytes,2,opt,name=client_correlation_id,json=clientCorrelationId,proto3" json:"client_correlation_id,omitempty"` @@ -8979,9 +9010,10 @@ const file_mxaccess_gateway_proto_rawDesc = "" + "\x10DrainEventsReply\x124\n" + "\x06events\x18\x01 \x03(\v2\x1c.mxaccess_gateway.v1.MxEventR\x06events\"C\n" + "\x1cAcknowledgeAlarmReplyPayload\x12#\n" + - "\rnative_status\x18\x01 \x01(\x05R\fnativeStatus\"g\n" + + "\rnative_status\x18\x01 \x01(\x05R\fnativeStatus\"\x96\x01\n" + "\x1dQueryActiveAlarmsReplyPayload\x12F\n" + - "\tsnapshots\x18\x01 \x03(\v2(.mxaccess_gateway.v1.ActiveAlarmSnapshotR\tsnapshots\"\xb7\n" + + "\tsnapshots\x18\x01 \x03(\v2(.mxaccess_gateway.v1.ActiveAlarmSnapshotR\tsnapshots\x12-\n" + + "\x12snapshot_truncated\x18\x02 \x01(\bR\x11snapshotTruncated\"\xb7\n" + "\n" + "\aMxEvent\x12:\n" + "\x06family\x18\x01 \x01(\x0e2\".mxaccess_gateway.v1.MxEventFamilyR\x06family\x12\x1d\n" + @@ -9046,7 +9078,7 @@ const file_mxaccess_gateway_proto_rawDesc = "" + "\x04mode\x18\x01 \x01(\x0e2&.mxaccess_gateway.v1.AlarmProviderModeR\x04mode\x12\x16\n" + "\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n" + "\ahresult\x18\x03 \x01(\x05R\ahresult\x12*\n" + - "\x02at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x02at\"\xbd\x06\n" + + "\x02at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x02at\"\xf5\x06\n" + "\x13ActiveAlarmSnapshot\x120\n" + "\x14alarm_full_reference\x18\x01 \x01(\tR\x12alarmFullReference\x126\n" + "\x17source_object_reference\x18\x02 \x01(\tR\x15sourceObjectReference\x12&\n" + @@ -9064,7 +9096,8 @@ const file_mxaccess_gateway_proto_rawDesc = "" + "\vlimit_value\x18\r \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\n" + "limitValue\x12\x1a\n" + "\bdegraded\x18\x0e \x01(\bR\bdegraded\x12O\n" + - "\x0fsource_provider\x18\x0f \x01(\x0e2&.mxaccess_gateway.v1.AlarmProviderModeR\x0esourceProvider\"\xd0\x01\n" + + "\x0fsource_provider\x18\x0f \x01(\x0e2&.mxaccess_gateway.v1.AlarmProviderModeR\x0esourceProvider\x126\n" + + "\x17from_truncated_snapshot\x18\x10 \x01(\bR\x15fromTruncatedSnapshot\"\xd0\x01\n" + "\x17AcknowledgeAlarmRequest\x122\n" + "\x15client_correlation_id\x18\x02 \x01(\tR\x13clientCorrelationId\x120\n" + "\x14alarm_full_reference\x18\x03 \x01(\tR\x12alarmFullReference\x12\x18\n" + diff --git a/clients/java/README.md b/clients/java/README.md index 1a2a761..6c89443 100644 --- a/clients/java/README.md +++ b/clients/java/README.md @@ -117,6 +117,14 @@ yields alarm-feed messages from the gateway's central monitor), and `acknowledgeAlarm` (ack by full alarm reference with an optional comment and ack target). Close the subscription to cancel the underlying gRPC stream. +`ActiveAlarmSnapshot.getFromTruncatedSnapshot()` reports that the record came +from a provider fetch which hit the per-fetch cap: the snapshot set may omit +active alarms, and the gateway suspended its absence-implies-cleared inference +for that poll. Treat the set as possibly incomplete rather than reconciling +deletions from it. It is set-level degraded status, not a comment on the +record's own fidelity, and is distinct from `getDegraded()` (the subtag +fallback provider). + ## Write Semantics And Common Pitfalls These are MXAccess parity behaviors that surprise new callers. The gateway diff --git a/clients/java/src/main/generated/main/java/mxaccess_gateway/v1/MxaccessGateway.java b/clients/java/src/main/generated/main/java/mxaccess_gateway/v1/MxaccessGateway.java index 85a91b0..defa7c5 100644 --- a/clients/java/src/main/generated/main/java/mxaccess_gateway/v1/MxaccessGateway.java +++ b/clients/java/src/main/generated/main/java/mxaccess_gateway/v1/MxaccessGateway.java @@ -71020,6 +71020,21 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { */ mxaccess_gateway.v1.MxaccessGateway.ActiveAlarmSnapshotOrBuilder getSnapshotsOrBuilder( int index); + + /** + *
+     * True when the provider fetch backing this reply came back holding the
+     * per-fetch cap (MxGateway:Alarms:MaxAlarmsPerFetch). The reply may then omit
+     * active alarms, and the worker suspends its absence-implies-Clear inference
+     * for that poll — so a reference missing from `snapshots` is not evidence the
+     * alarm cleared. Carried on the payload as well as per-record because a
+     * truncated fetch that filters down to zero records still has to say so.
+     * 
+ * + * bool snapshot_truncated = 2; + * @return The snapshotTruncated. + */ + boolean getSnapshotTruncated(); } /** *
@@ -71107,6 +71122,26 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
       return snapshots_.get(index);
     }
 
+    public static final int SNAPSHOT_TRUNCATED_FIELD_NUMBER = 2;
+    private boolean snapshotTruncated_ = false;
+    /**
+     * 
+     * True when the provider fetch backing this reply came back holding the
+     * per-fetch cap (MxGateway:Alarms:MaxAlarmsPerFetch). The reply may then omit
+     * active alarms, and the worker suspends its absence-implies-Clear inference
+     * for that poll — so a reference missing from `snapshots` is not evidence the
+     * alarm cleared. Carried on the payload as well as per-record because a
+     * truncated fetch that filters down to zero records still has to say so.
+     * 
+ * + * bool snapshot_truncated = 2; + * @return The snapshotTruncated. + */ + @java.lang.Override + public boolean getSnapshotTruncated() { + return snapshotTruncated_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -71124,6 +71159,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { for (int i = 0; i < snapshots_.size(); i++) { output.writeMessage(1, snapshots_.get(i)); } + if (snapshotTruncated_ != false) { + output.writeBool(2, snapshotTruncated_); + } getUnknownFields().writeTo(output); } @@ -71137,6 +71175,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, snapshots_.get(i)); } + if (snapshotTruncated_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, snapshotTruncated_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -71154,6 +71196,8 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!getSnapshotsList() .equals(other.getSnapshotsList())) return false; + if (getSnapshotTruncated() + != other.getSnapshotTruncated()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -71169,6 +71213,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { hash = (37 * hash) + SNAPSHOTS_FIELD_NUMBER; hash = (53 * hash) + getSnapshotsList().hashCode(); } + hash = (37 * hash) + SNAPSHOT_TRUNCATED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getSnapshotTruncated()); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -71314,6 +71361,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { snapshotsBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000001); + snapshotTruncated_ = false; return this; } @@ -71360,6 +71408,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.QueryActiveAlarmsReplyPayload result) { int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.snapshotTruncated_ = snapshotTruncated_; + } } @java.lang.Override @@ -71400,6 +71451,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } } } + if (other.getSnapshotTruncated() != false) { + setSnapshotTruncated(other.getSnapshotTruncated()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -71439,6 +71493,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } break; } // case 10 + case 16: { + snapshotTruncated_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -71696,6 +71755,65 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return snapshotsBuilder_; } + private boolean snapshotTruncated_ ; + /** + *
+       * True when the provider fetch backing this reply came back holding the
+       * per-fetch cap (MxGateway:Alarms:MaxAlarmsPerFetch). The reply may then omit
+       * active alarms, and the worker suspends its absence-implies-Clear inference
+       * for that poll — so a reference missing from `snapshots` is not evidence the
+       * alarm cleared. Carried on the payload as well as per-record because a
+       * truncated fetch that filters down to zero records still has to say so.
+       * 
+ * + * bool snapshot_truncated = 2; + * @return The snapshotTruncated. + */ + @java.lang.Override + public boolean getSnapshotTruncated() { + return snapshotTruncated_; + } + /** + *
+       * True when the provider fetch backing this reply came back holding the
+       * per-fetch cap (MxGateway:Alarms:MaxAlarmsPerFetch). The reply may then omit
+       * active alarms, and the worker suspends its absence-implies-Clear inference
+       * for that poll — so a reference missing from `snapshots` is not evidence the
+       * alarm cleared. Carried on the payload as well as per-record because a
+       * truncated fetch that filters down to zero records still has to say so.
+       * 
+ * + * bool snapshot_truncated = 2; + * @param value The snapshotTruncated to set. + * @return This builder for chaining. + */ + public Builder setSnapshotTruncated(boolean value) { + + snapshotTruncated_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * True when the provider fetch backing this reply came back holding the
+       * per-fetch cap (MxGateway:Alarms:MaxAlarmsPerFetch). The reply may then omit
+       * active alarms, and the worker suspends its absence-implies-Clear inference
+       * for that poll — so a reference missing from `snapshots` is not evidence the
+       * alarm cleared. Carried on the payload as well as per-record because a
+       * truncated fetch that filters down to zero records still has to say so.
+       * 
+ * + * bool snapshot_truncated = 2; + * @return This builder for chaining. + */ + public Builder clearSnapshotTruncated() { + bitField0_ = (bitField0_ & ~0x00000002); + snapshotTruncated_ = false; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.QueryActiveAlarmsReplyPayload) } @@ -83081,6 +83199,24 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { * @return The sourceProvider. */ mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getSourceProvider(); + + /** + *
+     * True when the provider fetch that produced this snapshot hit the per-fetch
+     * cap: the snapshot set may omit active alarms, and the worker suspended its
+     * absence-implies-Clear inference for that poll. Says nothing about THIS
+     * record's fidelity — the record is as accurate as any other; it flags that
+     * the set it belongs to is possibly incomplete. QueryActiveAlarms returns a
+     * bare `stream ActiveAlarmSnapshot` with no envelope message, so a per-record
+     * boolean is the only additive way to carry set-level degraded status on that
+     * RPC. Distinct from `degraded`, which is about the subtag fallback provider.
+     * Additive (proto3): clients that ignore it deserialize the stream unchanged.
+     * 
+ * + * bool from_truncated_snapshot = 16; + * @return The fromTruncatedSnapshot. + */ + boolean getFromTruncatedSnapshot(); } /** *
@@ -83623,6 +83759,29 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
       return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result;
     }
 
+    public static final int FROM_TRUNCATED_SNAPSHOT_FIELD_NUMBER = 16;
+    private boolean fromTruncatedSnapshot_ = false;
+    /**
+     * 
+     * True when the provider fetch that produced this snapshot hit the per-fetch
+     * cap: the snapshot set may omit active alarms, and the worker suspended its
+     * absence-implies-Clear inference for that poll. Says nothing about THIS
+     * record's fidelity — the record is as accurate as any other; it flags that
+     * the set it belongs to is possibly incomplete. QueryActiveAlarms returns a
+     * bare `stream ActiveAlarmSnapshot` with no envelope message, so a per-record
+     * boolean is the only additive way to carry set-level degraded status on that
+     * RPC. Distinct from `degraded`, which is about the subtag fallback provider.
+     * Additive (proto3): clients that ignore it deserialize the stream unchanged.
+     * 
+ * + * bool from_truncated_snapshot = 16; + * @return The fromTruncatedSnapshot. + */ + @java.lang.Override + public boolean getFromTruncatedSnapshot() { + return fromTruncatedSnapshot_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -83682,6 +83841,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (sourceProvider_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { output.writeEnum(15, sourceProvider_); } + if (fromTruncatedSnapshot_ != false) { + output.writeBool(16, fromTruncatedSnapshot_); + } getUnknownFields().writeTo(output); } @@ -83744,6 +83906,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { size += com.google.protobuf.CodedOutputStream .computeEnumSize(15, sourceProvider_); } + if (fromTruncatedSnapshot_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(16, fromTruncatedSnapshot_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -83799,6 +83965,8 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (getDegraded() != other.getDegraded()) return false; if (sourceProvider_ != other.sourceProvider_) return false; + if (getFromTruncatedSnapshot() + != other.getFromTruncatedSnapshot()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -83849,6 +84017,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { getDegraded()); hash = (37 * hash) + SOURCE_PROVIDER_FIELD_NUMBER; hash = (53 * hash) + sourceProvider_; + hash = (37 * hash) + FROM_TRUNCATED_SNAPSHOT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getFromTruncatedSnapshot()); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -84025,6 +84196,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } degraded_ = false; sourceProvider_ = 0; + fromTruncatedSnapshot_ = false; return this; } @@ -84116,6 +84288,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (((from_bitField0_ & 0x00004000) != 0)) { result.sourceProvider_ = sourceProvider_; } + if (((from_bitField0_ & 0x00008000) != 0)) { + result.fromTruncatedSnapshot_ = fromTruncatedSnapshot_; + } result.bitField0_ |= to_bitField0_; } @@ -84190,6 +84365,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (other.sourceProvider_ != 0) { setSourceProviderValue(other.getSourceProviderValue()); } + if (other.getFromTruncatedSnapshot() != false) { + setFromTruncatedSnapshot(other.getFromTruncatedSnapshot()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -84299,6 +84477,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { bitField0_ |= 0x00004000; break; } // case 120 + case 128: { + fromTruncatedSnapshot_ = input.readBool(); + bitField0_ |= 0x00008000; + break; + } // case 128 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -85616,6 +85799,74 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return this; } + private boolean fromTruncatedSnapshot_ ; + /** + *
+       * True when the provider fetch that produced this snapshot hit the per-fetch
+       * cap: the snapshot set may omit active alarms, and the worker suspended its
+       * absence-implies-Clear inference for that poll. Says nothing about THIS
+       * record's fidelity — the record is as accurate as any other; it flags that
+       * the set it belongs to is possibly incomplete. QueryActiveAlarms returns a
+       * bare `stream ActiveAlarmSnapshot` with no envelope message, so a per-record
+       * boolean is the only additive way to carry set-level degraded status on that
+       * RPC. Distinct from `degraded`, which is about the subtag fallback provider.
+       * Additive (proto3): clients that ignore it deserialize the stream unchanged.
+       * 
+ * + * bool from_truncated_snapshot = 16; + * @return The fromTruncatedSnapshot. + */ + @java.lang.Override + public boolean getFromTruncatedSnapshot() { + return fromTruncatedSnapshot_; + } + /** + *
+       * True when the provider fetch that produced this snapshot hit the per-fetch
+       * cap: the snapshot set may omit active alarms, and the worker suspended its
+       * absence-implies-Clear inference for that poll. Says nothing about THIS
+       * record's fidelity — the record is as accurate as any other; it flags that
+       * the set it belongs to is possibly incomplete. QueryActiveAlarms returns a
+       * bare `stream ActiveAlarmSnapshot` with no envelope message, so a per-record
+       * boolean is the only additive way to carry set-level degraded status on that
+       * RPC. Distinct from `degraded`, which is about the subtag fallback provider.
+       * Additive (proto3): clients that ignore it deserialize the stream unchanged.
+       * 
+ * + * bool from_truncated_snapshot = 16; + * @param value The fromTruncatedSnapshot to set. + * @return This builder for chaining. + */ + public Builder setFromTruncatedSnapshot(boolean value) { + + fromTruncatedSnapshot_ = value; + bitField0_ |= 0x00008000; + onChanged(); + return this; + } + /** + *
+       * True when the provider fetch that produced this snapshot hit the per-fetch
+       * cap: the snapshot set may omit active alarms, and the worker suspended its
+       * absence-implies-Clear inference for that poll. Says nothing about THIS
+       * record's fidelity — the record is as accurate as any other; it flags that
+       * the set it belongs to is possibly incomplete. QueryActiveAlarms returns a
+       * bare `stream ActiveAlarmSnapshot` with no envelope message, so a per-record
+       * boolean is the only additive way to carry set-level degraded status on that
+       * RPC. Distinct from `degraded`, which is about the subtag fallback provider.
+       * Additive (proto3): clients that ignore it deserialize the stream unchanged.
+       * 
+ * + * bool from_truncated_snapshot = 16; + * @return This builder for chaining. + */ + public Builder clearFromTruncatedSnapshot() { + bitField0_ = (bitField0_ & ~0x00008000); + fromTruncatedSnapshot_ = false; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.ActiveAlarmSnapshot) } @@ -105307,278 +105558,279 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { "\n\016mxaccess_clsid\030\004 \001(\t\"@\n\020DrainEventsRep" + "ly\022,\n\006events\030\001 \003(\0132\034.mxaccess_gateway.v1" + ".MxEvent\"5\n\034AcknowledgeAlarmReplyPayload" + - "\022\025\n\rnative_status\030\001 \001(\005\"\\\n\035QueryActiveAl" + + "\022\025\n\rnative_status\030\001 \001(\005\"x\n\035QueryActiveAl" + "armsReplyPayload\022;\n\tsnapshots\030\001 \003(\0132(.mx" + - "access_gateway.v1.ActiveAlarmSnapshot\"\217\010" + - "\n\007MxEvent\0222\n\006family\030\001 \001(\0162\".mxaccess_gat" + - "eway.v1.MxEventFamily\022\022\n\nsession_id\030\002 \001(" + - "\t\022\025\n\rserver_handle\030\003 \001(\005\022\023\n\013item_handle\030" + - "\004 \001(\005\022+\n\005value\030\005 \001(\0132\034.mxaccess_gateway." + - "v1.MxValue\022\017\n\007quality\030\006 \001(\005\0224\n\020source_ti" + - "mestamp\030\007 \001(\0132\032.google.protobuf.Timestam" + - "p\0224\n\010statuses\030\010 \003(\0132\".mxaccess_gateway.v" + - "1.MxStatusProxy\022\027\n\017worker_sequence\030\t \001(\004" + - "\0224\n\020worker_timestamp\030\n \001(\0132\032.google.prot" + - "obuf.Timestamp\022=\n\031gateway_receive_timest" + - "amp\030\013 \001(\0132\032.google.protobuf.Timestamp\022\024\n" + - "\007hresult\030\014 \001(\005H\001\210\001\001\022\022\n\nraw_status\030\r \001(\t\022" + - "7\n\nreplay_gap\030\016 \001(\0132\036.mxaccess_gateway.v" + - "1.ReplayGapH\002\210\001\001\022@\n\016on_data_change\030\024 \001(\013" + - "2&.mxaccess_gateway.v1.OnDataChangeEvent" + - "H\000\022F\n\021on_write_complete\030\025 \001(\0132).mxaccess" + - "_gateway.v1.OnWriteCompleteEventH\000\022I\n\022op" + - "eration_complete\030\026 \001(\0132+.mxaccess_gatewa" + - "y.v1.OperationCompleteEventH\000\022Q\n\027on_buff" + - "ered_data_change\030\027 \001(\0132..mxaccess_gatewa" + - "y.v1.OnBufferedDataChangeEventH\000\022J\n\023on_a" + - "larm_transition\030\030 \001(\0132+.mxaccess_gateway" + - ".v1.OnAlarmTransitionEventH\000\022^\n\036on_alarm" + - "_provider_mode_changed\030\031 \001(\01324.mxaccess_" + - "gateway.v1.OnAlarmProviderModeChangedEve" + - "ntH\000B\006\n\004bodyB\n\n\010_hresultB\r\n\013_replay_gap\"" + - "P\n\tReplayGap\022 \n\030requested_after_sequence" + - "\030\001 \001(\004\022!\n\031oldest_available_sequence\030\002 \001(" + - "\004\"\023\n\021OnDataChangeEvent\"\026\n\024OnWriteComplet" + - "eEvent\"\030\n\026OperationCompleteEvent\"\324\001\n\031OnB" + - "ufferedDataChangeEvent\0222\n\tdata_type\030\001 \001(" + - "\0162\037.mxaccess_gateway.v1.MxDataType\0224\n\016qu" + - "ality_values\030\002 \001(\0132\034.mxaccess_gateway.v1" + - ".MxArray\0226\n\020timestamp_values\030\003 \001(\0132\034.mxa" + - "ccess_gateway.v1.MxArray\022\025\n\rraw_data_typ" + - "e\030\004 \001(\005\"\320\004\n\026OnAlarmTransitionEvent\022\034\n\024al" + - "arm_full_reference\030\001 \001(\t\022\037\n\027source_objec" + - "t_reference\030\002 \001(\t\022\027\n\017alarm_type_name\030\003 \001" + - "(\t\022A\n\017transition_kind\030\004 \001(\0162(.mxaccess_g" + - "ateway.v1.AlarmTransitionKind\022\020\n\010severit" + - "y\030\005 \001(\005\022<\n\030original_raise_timestamp\030\006 \001(" + - "\0132\032.google.protobuf.Timestamp\0228\n\024transit" + - "ion_timestamp\030\007 \001(\0132\032.google.protobuf.Ti" + - "mestamp\022\025\n\roperator_user\030\010 \001(\t\022\030\n\020operat" + - "or_comment\030\t \001(\t\022\020\n\010category\030\n \001(\t\022\023\n\013de" + - "scription\030\013 \001(\t\0223\n\rcurrent_value\030\014 \001(\0132\034" + - ".mxaccess_gateway.v1.MxValue\0221\n\013limit_va" + - "lue\030\r \001(\0132\034.mxaccess_gateway.v1.MxValue\022" + - "\020\n\010degraded\030\016 \001(\010\022?\n\017source_provider\030\017 \001" + - "(\0162&.mxaccess_gateway.v1.AlarmProviderMo" + - "de\"\240\001\n\037OnAlarmProviderModeChangedEvent\0224" + - "\n\004mode\030\001 \001(\0162&.mxaccess_gateway.v1.Alarm" + - "ProviderMode\022\016\n\006reason\030\002 \001(\t\022\017\n\007hresult\030" + - "\003 \001(\005\022&\n\002at\030\004 \001(\0132\032.google.protobuf.Time" + - "stamp\"\320\004\n\023ActiveAlarmSnapshot\022\034\n\024alarm_f" + - "ull_reference\030\001 \001(\t\022\037\n\027source_object_ref" + - "erence\030\002 \001(\t\022\027\n\017alarm_type_name\030\003 \001(\t\022\020\n" + - "\010severity\030\004 \001(\005\022<\n\030original_raise_timest" + - "amp\030\005 \001(\0132\032.google.protobuf.Timestamp\022?\n" + - "\rcurrent_state\030\006 \001(\0162(.mxaccess_gateway." + - "v1.AlarmConditionState\022\020\n\010category\030\007 \001(\t" + - "\022\023\n\013description\030\010 \001(\t\022=\n\031last_transition" + - "_timestamp\030\t \001(\0132\032.google.protobuf.Times" + - "tamp\022\025\n\roperator_user\030\n \001(\t\022\030\n\020operator_" + - "comment\030\013 \001(\t\0223\n\rcurrent_value\030\014 \001(\0132\034.m" + - "xaccess_gateway.v1.MxValue\0221\n\013limit_valu" + - "e\030\r \001(\0132\034.mxaccess_gateway.v1.MxValue\022\020\n" + - "\010degraded\030\016 \001(\010\022?\n\017source_provider\030\017 \001(\016" + + "access_gateway.v1.ActiveAlarmSnapshot\022\032\n" + + "\022snapshot_truncated\030\002 \001(\010\"\217\010\n\007MxEvent\0222\n" + + "\006family\030\001 \001(\0162\".mxaccess_gateway.v1.MxEv" + + "entFamily\022\022\n\nsession_id\030\002 \001(\t\022\025\n\rserver_" + + "handle\030\003 \001(\005\022\023\n\013item_handle\030\004 \001(\005\022+\n\005val" + + "ue\030\005 \001(\0132\034.mxaccess_gateway.v1.MxValue\022\017" + + "\n\007quality\030\006 \001(\005\0224\n\020source_timestamp\030\007 \001(" + + "\0132\032.google.protobuf.Timestamp\0224\n\010statuse" + + "s\030\010 \003(\0132\".mxaccess_gateway.v1.MxStatusPr" + + "oxy\022\027\n\017worker_sequence\030\t \001(\004\0224\n\020worker_t" + + "imestamp\030\n \001(\0132\032.google.protobuf.Timesta" + + "mp\022=\n\031gateway_receive_timestamp\030\013 \001(\0132\032." + + "google.protobuf.Timestamp\022\024\n\007hresult\030\014 \001" + + "(\005H\001\210\001\001\022\022\n\nraw_status\030\r \001(\t\0227\n\nreplay_ga" + + "p\030\016 \001(\0132\036.mxaccess_gateway.v1.ReplayGapH" + + "\002\210\001\001\022@\n\016on_data_change\030\024 \001(\0132&.mxaccess_" + + "gateway.v1.OnDataChangeEventH\000\022F\n\021on_wri" + + "te_complete\030\025 \001(\0132).mxaccess_gateway.v1." + + "OnWriteCompleteEventH\000\022I\n\022operation_comp" + + "lete\030\026 \001(\0132+.mxaccess_gateway.v1.Operati" + + "onCompleteEventH\000\022Q\n\027on_buffered_data_ch" + + "ange\030\027 \001(\0132..mxaccess_gateway.v1.OnBuffe" + + "redDataChangeEventH\000\022J\n\023on_alarm_transit" + + "ion\030\030 \001(\0132+.mxaccess_gateway.v1.OnAlarmT" + + "ransitionEventH\000\022^\n\036on_alarm_provider_mo" + + "de_changed\030\031 \001(\01324.mxaccess_gateway.v1.O" + + "nAlarmProviderModeChangedEventH\000B\006\n\004body" + + "B\n\n\010_hresultB\r\n\013_replay_gap\"P\n\tReplayGap" + + "\022 \n\030requested_after_sequence\030\001 \001(\004\022!\n\031ol" + + "dest_available_sequence\030\002 \001(\004\"\023\n\021OnDataC" + + "hangeEvent\"\026\n\024OnWriteCompleteEvent\"\030\n\026Op" + + "erationCompleteEvent\"\324\001\n\031OnBufferedDataC" + + "hangeEvent\0222\n\tdata_type\030\001 \001(\0162\037.mxaccess" + + "_gateway.v1.MxDataType\0224\n\016quality_values" + + "\030\002 \001(\0132\034.mxaccess_gateway.v1.MxArray\0226\n\020" + + "timestamp_values\030\003 \001(\0132\034.mxaccess_gatewa" + + "y.v1.MxArray\022\025\n\rraw_data_type\030\004 \001(\005\"\320\004\n\026" + + "OnAlarmTransitionEvent\022\034\n\024alarm_full_ref" + + "erence\030\001 \001(\t\022\037\n\027source_object_reference\030" + + "\002 \001(\t\022\027\n\017alarm_type_name\030\003 \001(\t\022A\n\017transi" + + "tion_kind\030\004 \001(\0162(.mxaccess_gateway.v1.Al" + + "armTransitionKind\022\020\n\010severity\030\005 \001(\005\022<\n\030o" + + "riginal_raise_timestamp\030\006 \001(\0132\032.google.p" + + "rotobuf.Timestamp\0228\n\024transition_timestam" + + "p\030\007 \001(\0132\032.google.protobuf.Timestamp\022\025\n\ro" + + "perator_user\030\010 \001(\t\022\030\n\020operator_comment\030\t" + + " \001(\t\022\020\n\010category\030\n \001(\t\022\023\n\013description\030\013 " + + "\001(\t\0223\n\rcurrent_value\030\014 \001(\0132\034.mxaccess_ga" + + "teway.v1.MxValue\0221\n\013limit_value\030\r \001(\0132\034." + + "mxaccess_gateway.v1.MxValue\022\020\n\010degraded\030" + + "\016 \001(\010\022?\n\017source_provider\030\017 \001(\0162&.mxacces" + + "s_gateway.v1.AlarmProviderMode\"\240\001\n\037OnAla" + + "rmProviderModeChangedEvent\0224\n\004mode\030\001 \001(\016" + "2&.mxaccess_gateway.v1.AlarmProviderMode" + - "\"\220\001\n\027AcknowledgeAlarmRequest\022\035\n\025client_c" + - "orrelation_id\030\002 \001(\t\022\034\n\024alarm_full_refere" + - "nce\030\003 \001(\t\022\017\n\007comment\030\004 \001(\t\022\025\n\roperator_u" + - "ser\030\005 \001(\tJ\004\010\001\020\002R\nsession_id\"\361\001\n\025Acknowle" + - "dgeAlarmReply\022\026\n\016correlation_id\030\002 \001(\t\022<\n" + - "\017protocol_status\030\003 \001(\0132#.mxaccess_gatewa" + - "y.v1.ProtocolStatus\022\024\n\007hresult\030\004 \001(\005H\000\210\001" + - "\001\0222\n\006status\030\005 \001(\0132\".mxaccess_gateway.v1." + - "MxStatusProxy\022\032\n\022diagnostic_message\030\006 \001(" + - "\tB\n\n\010_hresultJ\004\010\001\020\002R\nsession_id\"Q\n\023Strea" + - "mAlarmsRequest\022\035\n\025client_correlation_id\030" + - "\001 \001(\t\022\033\n\023alarm_filter_prefix\030\002 \001(\t\"\204\002\n\020A" + - "larmFeedMessage\022@\n\014active_alarm\030\001 \001(\0132(." + - "mxaccess_gateway.v1.ActiveAlarmSnapshotH" + - "\000\022\033\n\021snapshot_complete\030\002 \001(\010H\000\022A\n\ntransi" + - "tion\030\003 \001(\0132+.mxaccess_gateway.v1.OnAlarm" + - "TransitionEventH\000\022C\n\017provider_status\030\004 \001" + - "(\0132(.mxaccess_gateway.v1.AlarmProviderSt" + - "atusH\000B\t\n\007payload\"\230\001\n\023AlarmProviderStatu" + - "s\0224\n\004mode\030\001 \001(\0162&.mxaccess_gateway.v1.Al" + - "armProviderMode\022\020\n\010degraded\030\002 \001(\010\022\016\n\006rea" + - "son\030\003 \001(\t\022)\n\005since\030\004 \001(\0132\032.google.protob" + - "uf.Timestamp\"\353\001\n\rMxStatusProxy\022\017\n\007succes" + - "s\030\001 \001(\005\0227\n\010category\030\002 \001(\0162%.mxaccess_gat" + - "eway.v1.MxStatusCategory\0228\n\013detected_by\030" + - "\003 \001(\0162#.mxaccess_gateway.v1.MxStatusSour" + - "ce\022\016\n\006detail\030\004 \001(\005\022\024\n\014raw_category\030\005 \001(\005" + - "\022\027\n\017raw_detected_by\030\006 \001(\005\022\027\n\017diagnostic_" + - "text\030\007 \001(\t\"\351\003\n\007MxValue\0222\n\tdata_type\030\001 \001(" + - "\0162\037.mxaccess_gateway.v1.MxDataType\022\024\n\014va" + - "riant_type\030\002 \001(\t\022\017\n\007is_null\030\003 \001(\010\022\026\n\016raw" + - "_diagnostic\030\004 \001(\t\022\025\n\rraw_data_type\030\005 \001(\005" + - "\022\024\n\nbool_value\030\n \001(\010H\000\022\025\n\013int32_value\030\013 " + - "\001(\005H\000\022\025\n\013int64_value\030\014 \001(\003H\000\022\025\n\013float_va", - "lue\030\r \001(\002H\000\022\026\n\014double_value\030\016 \001(\001H\000\022\026\n\014s" + - "tring_value\030\017 \001(\tH\000\0225\n\017timestamp_value\030\020" + - " \001(\0132\032.google.protobuf.TimestampH\000\0223\n\013ar" + - "ray_value\030\021 \001(\0132\034.mxaccess_gateway.v1.Mx" + - "ArrayH\000\022\023\n\traw_value\030\022 \001(\014H\000\022@\n\022sparse_a" + - "rray_value\030\023 \001(\0132\".mxaccess_gateway.v1.M" + - "xSparseArrayH\000B\006\n\004kind\"\376\004\n\007MxArray\022:\n\021el" + - "ement_data_type\030\001 \001(\0162\037.mxaccess_gateway" + - ".v1.MxDataType\022\024\n\014variant_type\030\002 \001(\t\022\022\n\n" + - "dimensions\030\003 \003(\r\022\026\n\016raw_diagnostic\030\004 \001(\t" + - "\022\035\n\025raw_element_data_type\030\005 \001(\005\0225\n\013bool_" + - "values\030\n \001(\0132\036.mxaccess_gateway.v1.BoolA" + - "rrayH\000\0227\n\014int32_values\030\013 \001(\0132\037.mxaccess_" + - "gateway.v1.Int32ArrayH\000\0227\n\014int64_values\030" + - "\014 \001(\0132\037.mxaccess_gateway.v1.Int64ArrayH\000" + - "\0227\n\014float_values\030\r \001(\0132\037.mxaccess_gatewa" + - "y.v1.FloatArrayH\000\0229\n\rdouble_values\030\016 \001(\013" + - "2 .mxaccess_gateway.v1.DoubleArrayH\000\0229\n\r" + - "string_values\030\017 \001(\0132 .mxaccess_gateway.v" + - "1.StringArrayH\000\022?\n\020timestamp_values\030\020 \001(" + - "\0132#.mxaccess_gateway.v1.TimestampArrayH\000" + - "\0223\n\nraw_values\030\021 \001(\0132\035.mxaccess_gateway." + - "v1.RawArrayH\000B\010\n\006values\"\231\001\n\rMxSparseArra" + - "y\022:\n\021element_data_type\030\001 \001(\0162\037.mxaccess_" + - "gateway.v1.MxDataType\022\024\n\014total_length\030\002 " + - "\001(\r\0226\n\010elements\030\003 \003(\0132$.mxaccess_gateway" + - ".v1.MxSparseElement\"M\n\017MxSparseElement\022\r" + - "\n\005index\030\001 \001(\r\022+\n\005value\030\002 \001(\0132\034.mxaccess_" + - "gateway.v1.MxValue\"\033\n\tBoolArray\022\016\n\006value" + - "s\030\001 \003(\010\"\034\n\nInt32Array\022\016\n\006values\030\001 \003(\005\"\034\n" + - "\nInt64Array\022\016\n\006values\030\001 \003(\003\"\034\n\nFloatArra" + - "y\022\016\n\006values\030\001 \003(\002\"\035\n\013DoubleArray\022\016\n\006valu" + - "es\030\001 \003(\001\"\035\n\013StringArray\022\016\n\006values\030\001 \003(\t\"" + - "<\n\016TimestampArray\022*\n\006values\030\001 \003(\0132\032.goog" + - "le.protobuf.Timestamp\"\032\n\010RawArray\022\016\n\006val" + - "ues\030\001 \003(\014\"X\n\016ProtocolStatus\0225\n\004code\030\001 \001(" + - "\0162\'.mxaccess_gateway.v1.ProtocolStatusCo" + - "de\022\017\n\007message\030\002 \001(\t*\237\013\n\rMxCommandKind\022\037\n" + - "\033MX_COMMAND_KIND_UNSPECIFIED\020\000\022\034\n\030MX_COM" + - "MAND_KIND_REGISTER\020\001\022\036\n\032MX_COMMAND_KIND_" + - "UNREGISTER\020\002\022\034\n\030MX_COMMAND_KIND_ADD_ITEM" + - "\020\003\022\035\n\031MX_COMMAND_KIND_ADD_ITEM2\020\004\022\037\n\033MX_" + - "COMMAND_KIND_REMOVE_ITEM\020\005\022\032\n\026MX_COMMAND" + - "_KIND_ADVISE\020\006\022\035\n\031MX_COMMAND_KIND_UN_ADV" + - "ISE\020\007\022&\n\"MX_COMMAND_KIND_ADVISE_SUPERVIS" + - "ORY\020\010\022%\n!MX_COMMAND_KIND_ADD_BUFFERED_IT" + - "EM\020\t\0220\n,MX_COMMAND_KIND_SET_BUFFERED_UPD" + - "ATE_INTERVAL\020\n\022\033\n\027MX_COMMAND_KIND_SUSPEN" + - "D\020\013\022\034\n\030MX_COMMAND_KIND_ACTIVATE\020\014\022\031\n\025MX_" + - "COMMAND_KIND_WRITE\020\r\022\032\n\026MX_COMMAND_KIND_" + - "WRITE2\020\016\022!\n\035MX_COMMAND_KIND_WRITE_SECURE" + - "D\020\017\022\"\n\036MX_COMMAND_KIND_WRITE_SECURED2\020\020\022" + - "%\n!MX_COMMAND_KIND_AUTHENTICATE_USER\020\021\022(" + - "\n$MX_COMMAND_KIND_ARCHESTRA_USER_TO_ID\020\022" + - "\022!\n\035MX_COMMAND_KIND_ADD_ITEM_BULK\020\023\022$\n M" + - "X_COMMAND_KIND_ADVISE_ITEM_BULK\020\024\022$\n MX_" + - "COMMAND_KIND_REMOVE_ITEM_BULK\020\025\022\'\n#MX_CO" + - "MMAND_KIND_UN_ADVISE_ITEM_BULK\020\026\022\"\n\036MX_C" + - "OMMAND_KIND_SUBSCRIBE_BULK\020\027\022$\n MX_COMMA" + - "ND_KIND_UNSUBSCRIBE_BULK\020\030\022$\n MX_COMMAND" + - "_KIND_SUBSCRIBE_ALARMS\020\031\022&\n\"MX_COMMAND_K" + - "IND_UNSUBSCRIBE_ALARMS\020\032\022%\n!MX_COMMAND_K" + - "IND_ACKNOWLEDGE_ALARM\020\033\022\'\n#MX_COMMAND_KI" + - "ND_QUERY_ACTIVE_ALARMS\020\034\022-\n)MX_COMMAND_K" + - "IND_ACKNOWLEDGE_ALARM_BY_NAME\020\035\022\036\n\032MX_CO" + - "MMAND_KIND_WRITE_BULK\020\036\022\037\n\033MX_COMMAND_KI" + - "ND_WRITE2_BULK\020\037\022&\n\"MX_COMMAND_KIND_WRIT" + - "E_SECURED_BULK\020 \022\'\n#MX_COMMAND_KIND_WRIT" + - "E_SECURED2_BULK\020!\022\035\n\031MX_COMMAND_KIND_REA" + - "D_BULK\020\"\022\030\n\024MX_COMMAND_KIND_PING\020d\022%\n!MX" + - "_COMMAND_KIND_GET_SESSION_STATE\020e\022#\n\037MX_" + - "COMMAND_KIND_GET_WORKER_INFO\020f\022 \n\034MX_COM" + - "MAND_KIND_DRAIN_EVENTS\020g\022#\n\037MX_COMMAND_K" + - "IND_SHUTDOWN_WORKER\020h*z\n\021AlarmProviderMo" + - "de\022#\n\037ALARM_PROVIDER_MODE_UNSPECIFIED\020\000\022" + - " \n\034ALARM_PROVIDER_MODE_ALARMMGR\020\001\022\036\n\032ALA" + - "RM_PROVIDER_MODE_SUBTAG\020\002*\255\002\n\rMxEventFam" + - "ily\022\037\n\033MX_EVENT_FAMILY_UNSPECIFIED\020\000\022\"\n\036" + - "MX_EVENT_FAMILY_ON_DATA_CHANGE\020\001\022%\n!MX_E" + - "VENT_FAMILY_ON_WRITE_COMPLETE\020\002\022&\n\"MX_EV" + - "ENT_FAMILY_OPERATION_COMPLETE\020\003\022+\n\'MX_EV" + - "ENT_FAMILY_ON_BUFFERED_DATA_CHANGE\020\004\022\'\n#" + - "MX_EVENT_FAMILY_ON_ALARM_TRANSITION\020\005\0222\n" + - ".MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_" + - "CHANGED\020\006*\312\001\n\023AlarmTransitionKind\022%\n!ALA" + - "RM_TRANSITION_KIND_UNSPECIFIED\020\000\022\037\n\033ALAR" + - "M_TRANSITION_KIND_RAISE\020\001\022%\n!ALARM_TRANS" + - "ITION_KIND_ACKNOWLEDGE\020\002\022\037\n\033ALARM_TRANSI" + - "TION_KIND_CLEAR\020\003\022#\n\037ALARM_TRANSITION_KI" + - "ND_RETRIGGER\020\004*\252\001\n\023AlarmConditionState\022%" + - "\n!ALARM_CONDITION_STATE_UNSPECIFIED\020\000\022 \n" + - "\034ALARM_CONDITION_STATE_ACTIVE\020\001\022&\n\"ALARM" + - "_CONDITION_STATE_ACTIVE_ACKED\020\002\022\"\n\036ALARM" + - "_CONDITION_STATE_INACTIVE\020\003*\245\003\n\020MxStatus" + - "Category\022\"\n\036MX_STATUS_CATEGORY_UNSPECIFI" + - "ED\020\000\022\036\n\032MX_STATUS_CATEGORY_UNKNOWN\020\001\022\031\n\025" + - "MX_STATUS_CATEGORY_OK\020\002\022\036\n\032MX_STATUS_CAT" + - "EGORY_PENDING\020\003\022\036\n\032MX_STATUS_CATEGORY_WA" + - "RNING\020\004\022*\n&MX_STATUS_CATEGORY_COMMUNICAT" + - "ION_ERROR\020\005\022*\n&MX_STATUS_CATEGORY_CONFIG" + - "URATION_ERROR\020\006\022(\n$MX_STATUS_CATEGORY_OP" + - "ERATIONAL_ERROR\020\007\022%\n!MX_STATUS_CATEGORY_" + - "SECURITY_ERROR\020\010\022%\n!MX_STATUS_CATEGORY_S" + - "OFTWARE_ERROR\020\t\022\"\n\036MX_STATUS_CATEGORY_OT" + - "HER_ERROR\020\n*\312\002\n\016MxStatusSource\022 \n\034MX_STA" + - "TUS_SOURCE_UNSPECIFIED\020\000\022\034\n\030MX_STATUS_SO" + - "URCE_UNKNOWN\020\001\022#\n\037MX_STATUS_SOURCE_REQUE" + - "STING_LMX\020\002\022#\n\037MX_STATUS_SOURCE_RESPONDI" + - "NG_LMX\020\003\022#\n\037MX_STATUS_SOURCE_REQUESTING_" + - "NMX\020\004\022#\n\037MX_STATUS_SOURCE_RESPONDING_NMX" + - "\020\005\0221\n-MX_STATUS_SOURCE_REQUESTING_AUTOMA" + - "TION_OBJECT\020\006\0221\n-MX_STATUS_SOURCE_RESPON" + - "DING_AUTOMATION_OBJECT\020\007*\335\004\n\nMxDataType\022" + - "\034\n\030MX_DATA_TYPE_UNSPECIFIED\020\000\022\030\n\024MX_DATA" + - "_TYPE_UNKNOWN\020\001\022\030\n\024MX_DATA_TYPE_NO_DATA\020" + - "\002\022\030\n\024MX_DATA_TYPE_BOOLEAN\020\003\022\030\n\024MX_DATA_T" + - "YPE_INTEGER\020\004\022\026\n\022MX_DATA_TYPE_FLOAT\020\005\022\027\n" + - "\023MX_DATA_TYPE_DOUBLE\020\006\022\027\n\023MX_DATA_TYPE_S" + - "TRING\020\007\022\025\n\021MX_DATA_TYPE_TIME\020\010\022\035\n\031MX_DAT" + - "A_TYPE_ELAPSED_TIME\020\t\022\037\n\033MX_DATA_TYPE_RE" + - "FERENCE_TYPE\020\n\022\034\n\030MX_DATA_TYPE_STATUS_TY" + - "PE\020\013\022\025\n\021MX_DATA_TYPE_ENUM\020\014\022-\n)MX_DATA_T" + - "YPE_SECURITY_CLASSIFICATION_ENUM\020\r\022\"\n\036MX" + - "_DATA_TYPE_DATA_QUALITY_TYPE\020\016\022\037\n\033MX_DAT" + - "A_TYPE_QUALIFIED_ENUM\020\017\022!\n\035MX_DATA_TYPE_" + - "QUALIFIED_STRUCT\020\020\022)\n%MX_DATA_TYPE_INTER" + - "NATIONALIZED_STRING\020\021\022\033\n\027MX_DATA_TYPE_BI" + - "G_STRING\020\022\022\024\n\020MX_DATA_TYPE_END\020\023*\243\003\n\022Pro" + - "tocolStatusCode\022$\n PROTOCOL_STATUS_CODE_" + - "UNSPECIFIED\020\000\022\033\n\027PROTOCOL_STATUS_CODE_OK" + - "\020\001\022(\n$PROTOCOL_STATUS_CODE_INVALID_REQUE" + - "ST\020\002\022*\n&PROTOCOL_STATUS_CODE_SESSION_NOT" + - "_FOUND\020\003\022*\n&PROTOCOL_STATUS_CODE_SESSION" + - "_NOT_READY\020\004\022+\n\'PROTOCOL_STATUS_CODE_WOR" + - "KER_UNAVAILABLE\020\005\022 \n\034PROTOCOL_STATUS_COD" + - "E_TIMEOUT\020\006\022!\n\035PROTOCOL_STATUS_CODE_CANC" + - "ELED\020\007\022+\n\'PROTOCOL_STATUS_CODE_PROTOCOL_" + - "VIOLATION\020\010\022)\n%PROTOCOL_STATUS_CODE_MXAC" + - "CESS_FAILURE\020\t*\277\002\n\014SessionState\022\035\n\031SESSI" + - "ON_STATE_UNSPECIFIED\020\000\022\032\n\026SESSION_STATE_" + - "CREATING\020\001\022!\n\035SESSION_STATE_STARTING_WOR" + - "KER\020\002\022\"\n\036SESSION_STATE_WAITING_FOR_PIPE\020" + - "\003\022\035\n\031SESSION_STATE_HANDSHAKING\020\004\022%\n!SESS" + - "ION_STATE_INITIALIZING_WORKER\020\005\022\027\n\023SESSI" + - "ON_STATE_READY\020\006\022\031\n\025SESSION_STATE_CLOSIN" + - "G\020\007\022\030\n\024SESSION_STATE_CLOSED\020\010\022\031\n\025SESSION" + - "_STATE_FAULTED\020\t2\303\005\n\017MxAccessGateway\022]\n\013" + - "OpenSession\022\'.mxaccess_gateway.v1.OpenSe" + - "ssionRequest\032%.mxaccess_gateway.v1.OpenS" + - "essionReply\022`\n\014CloseSession\022(.mxaccess_g" + - "ateway.v1.CloseSessionRequest\032&.mxaccess" + - "_gateway.v1.CloseSessionReply\022T\n\006Invoke\022" + - "%.mxaccess_gateway.v1.MxCommandRequest\032#" + - ".mxaccess_gateway.v1.MxCommandReply\022X\n\014S" + - "treamEvents\022(.mxaccess_gateway.v1.Stream" + - "EventsRequest\032\034.mxaccess_gateway.v1.MxEv" + - "ent0\001\022l\n\020AcknowledgeAlarm\022,.mxaccess_gat" + - "eway.v1.AcknowledgeAlarmRequest\032*.mxacce" + - "ss_gateway.v1.AcknowledgeAlarmReply\022a\n\014S" + - "treamAlarms\022(.mxaccess_gateway.v1.Stream" + - "AlarmsRequest\032%.mxaccess_gateway.v1.Alar" + - "mFeedMessage0\001\022n\n\021QueryActiveAlarms\022-.mx" + - "access_gateway.v1.QueryActiveAlarmsReque" + - "st\032(.mxaccess_gateway.v1.ActiveAlarmSnap" + - "shot0\001B&\252\002#ZB.MOM.WW.MxGateway.Contracts" + - ".Protob\006proto3" + "\022\016\n\006reason\030\002 \001(\t\022\017\n\007hresult\030\003 \001(\005\022&\n\002at\030" + + "\004 \001(\0132\032.google.protobuf.Timestamp\"\361\004\n\023Ac" + + "tiveAlarmSnapshot\022\034\n\024alarm_full_referenc" + + "e\030\001 \001(\t\022\037\n\027source_object_reference\030\002 \001(\t" + + "\022\027\n\017alarm_type_name\030\003 \001(\t\022\020\n\010severity\030\004 " + + "\001(\005\022<\n\030original_raise_timestamp\030\005 \001(\0132\032." + + "google.protobuf.Timestamp\022?\n\rcurrent_sta" + + "te\030\006 \001(\0162(.mxaccess_gateway.v1.AlarmCond" + + "itionState\022\020\n\010category\030\007 \001(\t\022\023\n\013descript" + + "ion\030\010 \001(\t\022=\n\031last_transition_timestamp\030\t" + + " \001(\0132\032.google.protobuf.Timestamp\022\025\n\roper" + + "ator_user\030\n \001(\t\022\030\n\020operator_comment\030\013 \001(" + + "\t\0223\n\rcurrent_value\030\014 \001(\0132\034.mxaccess_gate" + + "way.v1.MxValue\0221\n\013limit_value\030\r \001(\0132\034.mx" + + "access_gateway.v1.MxValue\022\020\n\010degraded\030\016 " + + "\001(\010\022?\n\017source_provider\030\017 \001(\0162&.mxaccess_" + + "gateway.v1.AlarmProviderMode\022\037\n\027from_tru" + + "ncated_snapshot\030\020 \001(\010\"\220\001\n\027AcknowledgeAla" + + "rmRequest\022\035\n\025client_correlation_id\030\002 \001(\t" + + "\022\034\n\024alarm_full_reference\030\003 \001(\t\022\017\n\007commen" + + "t\030\004 \001(\t\022\025\n\roperator_user\030\005 \001(\tJ\004\010\001\020\002R\nse" + + "ssion_id\"\361\001\n\025AcknowledgeAlarmReply\022\026\n\016co" + + "rrelation_id\030\002 \001(\t\022<\n\017protocol_status\030\003 " + + "\001(\0132#.mxaccess_gateway.v1.ProtocolStatus" + + "\022\024\n\007hresult\030\004 \001(\005H\000\210\001\001\0222\n\006status\030\005 \001(\0132\"" + + ".mxaccess_gateway.v1.MxStatusProxy\022\032\n\022di" + + "agnostic_message\030\006 \001(\tB\n\n\010_hresultJ\004\010\001\020\002" + + "R\nsession_id\"Q\n\023StreamAlarmsRequest\022\035\n\025c" + + "lient_correlation_id\030\001 \001(\t\022\033\n\023alarm_filt" + + "er_prefix\030\002 \001(\t\"\204\002\n\020AlarmFeedMessage\022@\n\014" + + "active_alarm\030\001 \001(\0132(.mxaccess_gateway.v1" + + ".ActiveAlarmSnapshotH\000\022\033\n\021snapshot_compl" + + "ete\030\002 \001(\010H\000\022A\n\ntransition\030\003 \001(\0132+.mxacce" + + "ss_gateway.v1.OnAlarmTransitionEventH\000\022C" + + "\n\017provider_status\030\004 \001(\0132(.mxaccess_gatew" + + "ay.v1.AlarmProviderStatusH\000B\t\n\007payload\"\230" + + "\001\n\023AlarmProviderStatus\0224\n\004mode\030\001 \001(\0162&.m" + + "xaccess_gateway.v1.AlarmProviderMode\022\020\n\010" + + "degraded\030\002 \001(\010\022\016\n\006reason\030\003 \001(\t\022)\n\005since\030" + + "\004 \001(\0132\032.google.protobuf.Timestamp\"\353\001\n\rMx" + + "StatusProxy\022\017\n\007success\030\001 \001(\005\0227\n\010category" + + "\030\002 \001(\0162%.mxaccess_gateway.v1.MxStatusCat" + + "egory\0228\n\013detected_by\030\003 \001(\0162#.mxaccess_ga" + + "teway.v1.MxStatusSource\022\016\n\006detail\030\004 \001(\005\022" + + "\024\n\014raw_category\030\005 \001(\005\022\027\n\017raw_detected_by" + + "\030\006 \001(\005\022\027\n\017diagnostic_text\030\007 \001(\t\"\351\003\n\007MxVa" + + "lue\0222\n\tdata_type\030\001 \001(\0162\037.mxaccess_gatewa" + + "y.v1.MxDataType\022\024\n\014variant_type\030\002 \001(\t\022\017\n" + + "\007is_null\030\003 \001(\010\022\026\n\016raw_diagnostic\030\004 \001(\t\022\025" + + "\n\rraw_data_type\030\005 \001(\005\022\024\n\nbool_value\030\n \001(", + "\010H\000\022\025\n\013int32_value\030\013 \001(\005H\000\022\025\n\013int64_valu" + + "e\030\014 \001(\003H\000\022\025\n\013float_value\030\r \001(\002H\000\022\026\n\014doub" + + "le_value\030\016 \001(\001H\000\022\026\n\014string_value\030\017 \001(\tH\000" + + "\0225\n\017timestamp_value\030\020 \001(\0132\032.google.proto" + + "buf.TimestampH\000\0223\n\013array_value\030\021 \001(\0132\034.m" + + "xaccess_gateway.v1.MxArrayH\000\022\023\n\traw_valu" + + "e\030\022 \001(\014H\000\022@\n\022sparse_array_value\030\023 \001(\0132\"." + + "mxaccess_gateway.v1.MxSparseArrayH\000B\006\n\004k" + + "ind\"\376\004\n\007MxArray\022:\n\021element_data_type\030\001 \001" + + "(\0162\037.mxaccess_gateway.v1.MxDataType\022\024\n\014v" + + "ariant_type\030\002 \001(\t\022\022\n\ndimensions\030\003 \003(\r\022\026\n" + + "\016raw_diagnostic\030\004 \001(\t\022\035\n\025raw_element_dat" + + "a_type\030\005 \001(\005\0225\n\013bool_values\030\n \001(\0132\036.mxac" + + "cess_gateway.v1.BoolArrayH\000\0227\n\014int32_val" + + "ues\030\013 \001(\0132\037.mxaccess_gateway.v1.Int32Arr" + + "ayH\000\0227\n\014int64_values\030\014 \001(\0132\037.mxaccess_ga" + + "teway.v1.Int64ArrayH\000\0227\n\014float_values\030\r " + + "\001(\0132\037.mxaccess_gateway.v1.FloatArrayH\000\0229" + + "\n\rdouble_values\030\016 \001(\0132 .mxaccess_gateway" + + ".v1.DoubleArrayH\000\0229\n\rstring_values\030\017 \001(\013" + + "2 .mxaccess_gateway.v1.StringArrayH\000\022?\n\020" + + "timestamp_values\030\020 \001(\0132#.mxaccess_gatewa" + + "y.v1.TimestampArrayH\000\0223\n\nraw_values\030\021 \001(" + + "\0132\035.mxaccess_gateway.v1.RawArrayH\000B\010\n\006va" + + "lues\"\231\001\n\rMxSparseArray\022:\n\021element_data_t" + + "ype\030\001 \001(\0162\037.mxaccess_gateway.v1.MxDataTy" + + "pe\022\024\n\014total_length\030\002 \001(\r\0226\n\010elements\030\003 \003" + + "(\0132$.mxaccess_gateway.v1.MxSparseElement" + + "\"M\n\017MxSparseElement\022\r\n\005index\030\001 \001(\r\022+\n\005va" + + "lue\030\002 \001(\0132\034.mxaccess_gateway.v1.MxValue\"" + + "\033\n\tBoolArray\022\016\n\006values\030\001 \003(\010\"\034\n\nInt32Arr" + + "ay\022\016\n\006values\030\001 \003(\005\"\034\n\nInt64Array\022\016\n\006valu" + + "es\030\001 \003(\003\"\034\n\nFloatArray\022\016\n\006values\030\001 \003(\002\"\035" + + "\n\013DoubleArray\022\016\n\006values\030\001 \003(\001\"\035\n\013StringA" + + "rray\022\016\n\006values\030\001 \003(\t\"<\n\016TimestampArray\022*" + + "\n\006values\030\001 \003(\0132\032.google.protobuf.Timesta" + + "mp\"\032\n\010RawArray\022\016\n\006values\030\001 \003(\014\"X\n\016Protoc" + + "olStatus\0225\n\004code\030\001 \001(\0162\'.mxaccess_gatewa" + + "y.v1.ProtocolStatusCode\022\017\n\007message\030\002 \001(\t" + + "*\237\013\n\rMxCommandKind\022\037\n\033MX_COMMAND_KIND_UN" + + "SPECIFIED\020\000\022\034\n\030MX_COMMAND_KIND_REGISTER\020" + + "\001\022\036\n\032MX_COMMAND_KIND_UNREGISTER\020\002\022\034\n\030MX_" + + "COMMAND_KIND_ADD_ITEM\020\003\022\035\n\031MX_COMMAND_KI" + + "ND_ADD_ITEM2\020\004\022\037\n\033MX_COMMAND_KIND_REMOVE" + + "_ITEM\020\005\022\032\n\026MX_COMMAND_KIND_ADVISE\020\006\022\035\n\031M" + + "X_COMMAND_KIND_UN_ADVISE\020\007\022&\n\"MX_COMMAND" + + "_KIND_ADVISE_SUPERVISORY\020\010\022%\n!MX_COMMAND" + + "_KIND_ADD_BUFFERED_ITEM\020\t\0220\n,MX_COMMAND_" + + "KIND_SET_BUFFERED_UPDATE_INTERVAL\020\n\022\033\n\027M" + + "X_COMMAND_KIND_SUSPEND\020\013\022\034\n\030MX_COMMAND_K" + + "IND_ACTIVATE\020\014\022\031\n\025MX_COMMAND_KIND_WRITE\020" + + "\r\022\032\n\026MX_COMMAND_KIND_WRITE2\020\016\022!\n\035MX_COMM" + + "AND_KIND_WRITE_SECURED\020\017\022\"\n\036MX_COMMAND_K" + + "IND_WRITE_SECURED2\020\020\022%\n!MX_COMMAND_KIND_" + + "AUTHENTICATE_USER\020\021\022(\n$MX_COMMAND_KIND_A" + + "RCHESTRA_USER_TO_ID\020\022\022!\n\035MX_COMMAND_KIND" + + "_ADD_ITEM_BULK\020\023\022$\n MX_COMMAND_KIND_ADVI" + + "SE_ITEM_BULK\020\024\022$\n MX_COMMAND_KIND_REMOVE" + + "_ITEM_BULK\020\025\022\'\n#MX_COMMAND_KIND_UN_ADVIS" + + "E_ITEM_BULK\020\026\022\"\n\036MX_COMMAND_KIND_SUBSCRI" + + "BE_BULK\020\027\022$\n MX_COMMAND_KIND_UNSUBSCRIBE" + + "_BULK\020\030\022$\n MX_COMMAND_KIND_SUBSCRIBE_ALA" + + "RMS\020\031\022&\n\"MX_COMMAND_KIND_UNSUBSCRIBE_ALA" + + "RMS\020\032\022%\n!MX_COMMAND_KIND_ACKNOWLEDGE_ALA" + + "RM\020\033\022\'\n#MX_COMMAND_KIND_QUERY_ACTIVE_ALA" + + "RMS\020\034\022-\n)MX_COMMAND_KIND_ACKNOWLEDGE_ALA" + + "RM_BY_NAME\020\035\022\036\n\032MX_COMMAND_KIND_WRITE_BU" + + "LK\020\036\022\037\n\033MX_COMMAND_KIND_WRITE2_BULK\020\037\022&\n" + + "\"MX_COMMAND_KIND_WRITE_SECURED_BULK\020 \022\'\n" + + "#MX_COMMAND_KIND_WRITE_SECURED2_BULK\020!\022\035" + + "\n\031MX_COMMAND_KIND_READ_BULK\020\"\022\030\n\024MX_COMM" + + "AND_KIND_PING\020d\022%\n!MX_COMMAND_KIND_GET_S" + + "ESSION_STATE\020e\022#\n\037MX_COMMAND_KIND_GET_WO" + + "RKER_INFO\020f\022 \n\034MX_COMMAND_KIND_DRAIN_EVE" + + "NTS\020g\022#\n\037MX_COMMAND_KIND_SHUTDOWN_WORKER" + + "\020h*z\n\021AlarmProviderMode\022#\n\037ALARM_PROVIDE" + + "R_MODE_UNSPECIFIED\020\000\022 \n\034ALARM_PROVIDER_M" + + "ODE_ALARMMGR\020\001\022\036\n\032ALARM_PROVIDER_MODE_SU" + + "BTAG\020\002*\255\002\n\rMxEventFamily\022\037\n\033MX_EVENT_FAM" + + "ILY_UNSPECIFIED\020\000\022\"\n\036MX_EVENT_FAMILY_ON_" + + "DATA_CHANGE\020\001\022%\n!MX_EVENT_FAMILY_ON_WRIT" + + "E_COMPLETE\020\002\022&\n\"MX_EVENT_FAMILY_OPERATIO" + + "N_COMPLETE\020\003\022+\n\'MX_EVENT_FAMILY_ON_BUFFE" + + "RED_DATA_CHANGE\020\004\022\'\n#MX_EVENT_FAMILY_ON_" + + "ALARM_TRANSITION\020\005\0222\n.MX_EVENT_FAMILY_ON" + + "_ALARM_PROVIDER_MODE_CHANGED\020\006*\312\001\n\023Alarm" + + "TransitionKind\022%\n!ALARM_TRANSITION_KIND_" + + "UNSPECIFIED\020\000\022\037\n\033ALARM_TRANSITION_KIND_R" + + "AISE\020\001\022%\n!ALARM_TRANSITION_KIND_ACKNOWLE" + + "DGE\020\002\022\037\n\033ALARM_TRANSITION_KIND_CLEAR\020\003\022#" + + "\n\037ALARM_TRANSITION_KIND_RETRIGGER\020\004*\252\001\n\023" + + "AlarmConditionState\022%\n!ALARM_CONDITION_S" + + "TATE_UNSPECIFIED\020\000\022 \n\034ALARM_CONDITION_ST" + + "ATE_ACTIVE\020\001\022&\n\"ALARM_CONDITION_STATE_AC" + + "TIVE_ACKED\020\002\022\"\n\036ALARM_CONDITION_STATE_IN" + + "ACTIVE\020\003*\245\003\n\020MxStatusCategory\022\"\n\036MX_STAT" + + "US_CATEGORY_UNSPECIFIED\020\000\022\036\n\032MX_STATUS_C" + + "ATEGORY_UNKNOWN\020\001\022\031\n\025MX_STATUS_CATEGORY_" + + "OK\020\002\022\036\n\032MX_STATUS_CATEGORY_PENDING\020\003\022\036\n\032" + + "MX_STATUS_CATEGORY_WARNING\020\004\022*\n&MX_STATU" + + "S_CATEGORY_COMMUNICATION_ERROR\020\005\022*\n&MX_S" + + "TATUS_CATEGORY_CONFIGURATION_ERROR\020\006\022(\n$" + + "MX_STATUS_CATEGORY_OPERATIONAL_ERROR\020\007\022%" + + "\n!MX_STATUS_CATEGORY_SECURITY_ERROR\020\010\022%\n" + + "!MX_STATUS_CATEGORY_SOFTWARE_ERROR\020\t\022\"\n\036" + + "MX_STATUS_CATEGORY_OTHER_ERROR\020\n*\312\002\n\016MxS" + + "tatusSource\022 \n\034MX_STATUS_SOURCE_UNSPECIF" + + "IED\020\000\022\034\n\030MX_STATUS_SOURCE_UNKNOWN\020\001\022#\n\037M" + + "X_STATUS_SOURCE_REQUESTING_LMX\020\002\022#\n\037MX_S" + + "TATUS_SOURCE_RESPONDING_LMX\020\003\022#\n\037MX_STAT" + + "US_SOURCE_REQUESTING_NMX\020\004\022#\n\037MX_STATUS_" + + "SOURCE_RESPONDING_NMX\020\005\0221\n-MX_STATUS_SOU" + + "RCE_REQUESTING_AUTOMATION_OBJECT\020\006\0221\n-MX" + + "_STATUS_SOURCE_RESPONDING_AUTOMATION_OBJ" + + "ECT\020\007*\335\004\n\nMxDataType\022\034\n\030MX_DATA_TYPE_UNS" + + "PECIFIED\020\000\022\030\n\024MX_DATA_TYPE_UNKNOWN\020\001\022\030\n\024" + + "MX_DATA_TYPE_NO_DATA\020\002\022\030\n\024MX_DATA_TYPE_B" + + "OOLEAN\020\003\022\030\n\024MX_DATA_TYPE_INTEGER\020\004\022\026\n\022MX" + + "_DATA_TYPE_FLOAT\020\005\022\027\n\023MX_DATA_TYPE_DOUBL" + + "E\020\006\022\027\n\023MX_DATA_TYPE_STRING\020\007\022\025\n\021MX_DATA_" + + "TYPE_TIME\020\010\022\035\n\031MX_DATA_TYPE_ELAPSED_TIME" + + "\020\t\022\037\n\033MX_DATA_TYPE_REFERENCE_TYPE\020\n\022\034\n\030M" + + "X_DATA_TYPE_STATUS_TYPE\020\013\022\025\n\021MX_DATA_TYP" + + "E_ENUM\020\014\022-\n)MX_DATA_TYPE_SECURITY_CLASSI" + + "FICATION_ENUM\020\r\022\"\n\036MX_DATA_TYPE_DATA_QUA" + + "LITY_TYPE\020\016\022\037\n\033MX_DATA_TYPE_QUALIFIED_EN" + + "UM\020\017\022!\n\035MX_DATA_TYPE_QUALIFIED_STRUCT\020\020\022" + + ")\n%MX_DATA_TYPE_INTERNATIONALIZED_STRING" + + "\020\021\022\033\n\027MX_DATA_TYPE_BIG_STRING\020\022\022\024\n\020MX_DA" + + "TA_TYPE_END\020\023*\243\003\n\022ProtocolStatusCode\022$\n " + + "PROTOCOL_STATUS_CODE_UNSPECIFIED\020\000\022\033\n\027PR" + + "OTOCOL_STATUS_CODE_OK\020\001\022(\n$PROTOCOL_STAT" + + "US_CODE_INVALID_REQUEST\020\002\022*\n&PROTOCOL_ST" + + "ATUS_CODE_SESSION_NOT_FOUND\020\003\022*\n&PROTOCO" + + "L_STATUS_CODE_SESSION_NOT_READY\020\004\022+\n\'PRO" + + "TOCOL_STATUS_CODE_WORKER_UNAVAILABLE\020\005\022 " + + "\n\034PROTOCOL_STATUS_CODE_TIMEOUT\020\006\022!\n\035PROT" + + "OCOL_STATUS_CODE_CANCELED\020\007\022+\n\'PROTOCOL_" + + "STATUS_CODE_PROTOCOL_VIOLATION\020\010\022)\n%PROT" + + "OCOL_STATUS_CODE_MXACCESS_FAILURE\020\t*\277\002\n\014" + + "SessionState\022\035\n\031SESSION_STATE_UNSPECIFIE" + + "D\020\000\022\032\n\026SESSION_STATE_CREATING\020\001\022!\n\035SESSI" + + "ON_STATE_STARTING_WORKER\020\002\022\"\n\036SESSION_ST" + + "ATE_WAITING_FOR_PIPE\020\003\022\035\n\031SESSION_STATE_" + + "HANDSHAKING\020\004\022%\n!SESSION_STATE_INITIALIZ" + + "ING_WORKER\020\005\022\027\n\023SESSION_STATE_READY\020\006\022\031\n" + + "\025SESSION_STATE_CLOSING\020\007\022\030\n\024SESSION_STAT" + + "E_CLOSED\020\010\022\031\n\025SESSION_STATE_FAULTED\020\t2\303\005" + + "\n\017MxAccessGateway\022]\n\013OpenSession\022\'.mxacc" + + "ess_gateway.v1.OpenSessionRequest\032%.mxac" + + "cess_gateway.v1.OpenSessionReply\022`\n\014Clos" + + "eSession\022(.mxaccess_gateway.v1.CloseSess" + + "ionRequest\032&.mxaccess_gateway.v1.CloseSe" + + "ssionReply\022T\n\006Invoke\022%.mxaccess_gateway." + + "v1.MxCommandRequest\032#.mxaccess_gateway.v" + + "1.MxCommandReply\022X\n\014StreamEvents\022(.mxacc" + + "ess_gateway.v1.StreamEventsRequest\032\034.mxa" + + "ccess_gateway.v1.MxEvent0\001\022l\n\020Acknowledg" + + "eAlarm\022,.mxaccess_gateway.v1.Acknowledge" + + "AlarmRequest\032*.mxaccess_gateway.v1.Ackno" + + "wledgeAlarmReply\022a\n\014StreamAlarms\022(.mxacc" + + "ess_gateway.v1.StreamAlarmsRequest\032%.mxa" + + "ccess_gateway.v1.AlarmFeedMessage0\001\022n\n\021Q" + + "ueryActiveAlarms\022-.mxaccess_gateway.v1.Q" + + "ueryActiveAlarmsRequest\032(.mxaccess_gatew" + + "ay.v1.ActiveAlarmSnapshot0\001B&\252\002#ZB.MOM.W" + + "W.MxGateway.Contracts.Protob\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -106023,7 +106275,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { internal_static_mxaccess_gateway_v1_QueryActiveAlarmsReplyPayload_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_QueryActiveAlarmsReplyPayload_descriptor, - new java.lang.String[] { "Snapshots", }); + new java.lang.String[] { "Snapshots", "SnapshotTruncated", }); internal_static_mxaccess_gateway_v1_MxEvent_descriptor = getDescriptor().getMessageType(73); internal_static_mxaccess_gateway_v1_MxEvent_fieldAccessorTable = new @@ -106077,7 +106329,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { internal_static_mxaccess_gateway_v1_ActiveAlarmSnapshot_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_ActiveAlarmSnapshot_descriptor, - new java.lang.String[] { "AlarmFullReference", "SourceObjectReference", "AlarmTypeName", "Severity", "OriginalRaiseTimestamp", "CurrentState", "Category", "Description", "LastTransitionTimestamp", "OperatorUser", "OperatorComment", "CurrentValue", "LimitValue", "Degraded", "SourceProvider", }); + new java.lang.String[] { "AlarmFullReference", "SourceObjectReference", "AlarmTypeName", "Severity", "OriginalRaiseTimestamp", "CurrentState", "Category", "Description", "LastTransitionTimestamp", "OperatorUser", "OperatorComment", "CurrentValue", "LimitValue", "Degraded", "SourceProvider", "FromTruncatedSnapshot", }); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmRequest_descriptor = getDescriptor().getMessageType(82); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmRequest_fieldAccessorTable = new diff --git a/clients/proto/descriptors/mxaccessgw-client-v1.protoset b/clients/proto/descriptors/mxaccessgw-client-v1.protoset index c3d6da8..fe74001 100644 Binary files a/clients/proto/descriptors/mxaccessgw-client-v1.protoset and b/clients/proto/descriptors/mxaccessgw-client-v1.protoset differ diff --git a/clients/python/README.md b/clients/python/README.md index 9230eaa..ae73a3f 100644 --- a/clients/python/README.md +++ b/clients/python/README.md @@ -115,6 +115,13 @@ messages from the gateway's central monitor), and and ack target). Cancel the surrounding task or `aclose()` the iterator to terminate the stream. +`ActiveAlarmSnapshot.from_truncated_snapshot` reports that the record came from +a provider fetch which hit the per-fetch cap: the snapshot set may omit active +alarms, and the gateway suspended its absence-implies-cleared inference for that +poll. Treat the set as possibly incomplete rather than reconciling deletions +from it. It is set-level degraded status, not a comment on the record's own +fidelity, and is distinct from `degraded` (the subtag fallback provider). + Canceling a Python task cancels the client-side gRPC call or stream wait. It does not abort an in-flight MXAccess COM call inside the worker process. diff --git a/clients/python/src/zb_mom_ww_mxgateway/generated/mxaccess_gateway_pb2.py b/clients/python/src/zb_mom_ww_mxgateway/generated/mxaccess_gateway_pb2.py index a945409..ca60d48 100644 --- a/clients/python/src/zb_mom_ww_mxgateway/generated/mxaccess_gateway_pb2.py +++ b/clients/python/src/zb_mom_ww_mxgateway/generated/mxaccess_gateway_pb2.py @@ -26,7 +26,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16mxaccess_gateway.proto\x12\x13mxaccess_gateway.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"j\n\x18QueryActiveAlarmsRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1d\n\x15\x63lient_correlation_id\x18\x02 \x01(\t\x12\x1b\n\x13\x61larm_filter_prefix\x18\x03 \x01(\t\"\x9f\x01\n\x12OpenSessionRequest\x12\x19\n\x11requested_backend\x18\x01 \x01(\t\x12\x1b\n\x13\x63lient_session_name\x18\x02 \x01(\t\x12\x1d\n\x15\x63lient_correlation_id\x18\x03 \x01(\t\x12\x32\n\x0f\x63ommand_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xaa\x02\n\x10OpenSessionReply\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61\x63kend_name\x18\x02 \x01(\t\x12\x19\n\x11worker_process_id\x18\x03 \x01(\x05\x12\x1f\n\x17worker_protocol_version\x18\x04 \x01(\r\x12\x14\n\x0c\x63\x61pabilities\x18\x05 \x03(\t\x12:\n\x17\x64\x65\x66\x61ult_command_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x0fprotocol_status\x18\x07 \x01(\x0b\x32#.mxaccess_gateway.v1.ProtocolStatus\x12 \n\x18gateway_protocol_version\x18\x08 \x01(\r\"H\n\x13\x43loseSessionRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1d\n\x15\x63lient_correlation_id\x18\x02 \x01(\t\"\x9d\x01\n\x11\x43loseSessionReply\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x36\n\x0b\x66inal_state\x18\x02 \x01(\x0e\x32!.mxaccess_gateway.v1.SessionState\x12<\n\x0fprotocol_status\x18\x03 \x01(\x0b\x32#.mxaccess_gateway.v1.ProtocolStatus\"H\n\x13StreamEventsRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1d\n\x15\x61\x66ter_worker_sequence\x18\x02 \x01(\x04\"v\n\x10MxCommandRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1d\n\x15\x63lient_correlation_id\x18\x02 \x01(\t\x12/\n\x07\x63ommand\x18\x03 \x01(\x0b\x32\x1e.mxaccess_gateway.v1.MxCommand\"\xc0\x15\n\tMxCommand\x12\x30\n\x04kind\x18\x01 \x01(\x0e\x32\".mxaccess_gateway.v1.MxCommandKind\x12\x38\n\x08register\x18\n \x01(\x0b\x32$.mxaccess_gateway.v1.RegisterCommandH\x00\x12<\n\nunregister\x18\x0b \x01(\x0b\x32&.mxaccess_gateway.v1.UnregisterCommandH\x00\x12\x37\n\x08\x61\x64\x64_item\x18\x0c \x01(\x0b\x32#.mxaccess_gateway.v1.AddItemCommandH\x00\x12\x39\n\tadd_item2\x18\r \x01(\x0b\x32$.mxaccess_gateway.v1.AddItem2CommandH\x00\x12=\n\x0bremove_item\x18\x0e \x01(\x0b\x32&.mxaccess_gateway.v1.RemoveItemCommandH\x00\x12\x34\n\x06\x61\x64vise\x18\x0f \x01(\x0b\x32\".mxaccess_gateway.v1.AdviseCommandH\x00\x12\x39\n\tun_advise\x18\x10 \x01(\x0b\x32$.mxaccess_gateway.v1.UnAdviseCommandH\x00\x12K\n\x12\x61\x64vise_supervisory\x18\x11 \x01(\x0b\x32-.mxaccess_gateway.v1.AdviseSupervisoryCommandH\x00\x12H\n\x11\x61\x64\x64_buffered_item\x18\x12 \x01(\x0b\x32+.mxaccess_gateway.v1.AddBufferedItemCommandH\x00\x12]\n\x1cset_buffered_update_interval\x18\x13 \x01(\x0b\x32\x35.mxaccess_gateway.v1.SetBufferedUpdateIntervalCommandH\x00\x12\x36\n\x07suspend\x18\x14 \x01(\x0b\x32#.mxaccess_gateway.v1.SuspendCommandH\x00\x12\x38\n\x08\x61\x63tivate\x18\x15 \x01(\x0b\x32$.mxaccess_gateway.v1.ActivateCommandH\x00\x12\x32\n\x05write\x18\x16 \x01(\x0b\x32!.mxaccess_gateway.v1.WriteCommandH\x00\x12\x34\n\x06write2\x18\x17 \x01(\x0b\x32\".mxaccess_gateway.v1.Write2CommandH\x00\x12\x41\n\rwrite_secured\x18\x18 \x01(\x0b\x32(.mxaccess_gateway.v1.WriteSecuredCommandH\x00\x12\x43\n\x0ewrite_secured2\x18\x19 \x01(\x0b\x32).mxaccess_gateway.v1.WriteSecured2CommandH\x00\x12I\n\x11\x61uthenticate_user\x18\x1a \x01(\x0b\x32,.mxaccess_gateway.v1.AuthenticateUserCommandH\x00\x12M\n\x14\x61rchestra_user_to_id\x18\x1b \x01(\x0b\x32-.mxaccess_gateway.v1.ArchestrAUserToIdCommandH\x00\x12@\n\radd_item_bulk\x18\x1c \x01(\x0b\x32\'.mxaccess_gateway.v1.AddItemBulkCommandH\x00\x12\x46\n\x10\x61\x64vise_item_bulk\x18\x1d \x01(\x0b\x32*.mxaccess_gateway.v1.AdviseItemBulkCommandH\x00\x12\x46\n\x10remove_item_bulk\x18\x1e \x01(\x0b\x32*.mxaccess_gateway.v1.RemoveItemBulkCommandH\x00\x12K\n\x13un_advise_item_bulk\x18\x1f \x01(\x0b\x32,.mxaccess_gateway.v1.UnAdviseItemBulkCommandH\x00\x12\x43\n\x0esubscribe_bulk\x18 \x01(\x0b\x32).mxaccess_gateway.v1.SubscribeBulkCommandH\x00\x12G\n\x10unsubscribe_bulk\x18! \x01(\x0b\x32+.mxaccess_gateway.v1.UnsubscribeBulkCommandH\x00\x12G\n\x10subscribe_alarms\x18\" \x01(\x0b\x32+.mxaccess_gateway.v1.SubscribeAlarmsCommandH\x00\x12K\n\x12unsubscribe_alarms\x18# \x01(\x0b\x32-.mxaccess_gateway.v1.UnsubscribeAlarmsCommandH\x00\x12Q\n\x19\x61\x63knowledge_alarm_command\x18$ \x01(\x0b\x32,.mxaccess_gateway.v1.AcknowledgeAlarmCommandH\x00\x12T\n\x1bquery_active_alarms_command\x18% \x01(\x0b\x32-.mxaccess_gateway.v1.QueryActiveAlarmsCommandH\x00\x12_\n!acknowledge_alarm_by_name_command\x18& \x01(\x0b\x32\x32.mxaccess_gateway.v1.AcknowledgeAlarmByNameCommandH\x00\x12;\n\nwrite_bulk\x18\' \x01(\x0b\x32%.mxaccess_gateway.v1.WriteBulkCommandH\x00\x12=\n\x0bwrite2_bulk\x18( \x01(\x0b\x32&.mxaccess_gateway.v1.Write2BulkCommandH\x00\x12J\n\x12write_secured_bulk\x18) \x01(\x0b\x32,.mxaccess_gateway.v1.WriteSecuredBulkCommandH\x00\x12L\n\x13write_secured2_bulk\x18* \x01(\x0b\x32-.mxaccess_gateway.v1.WriteSecured2BulkCommandH\x00\x12\x39\n\tread_bulk\x18+ \x01(\x0b\x32$.mxaccess_gateway.v1.ReadBulkCommandH\x00\x12\x30\n\x04ping\x18\x64 \x01(\x0b\x32 .mxaccess_gateway.v1.PingCommandH\x00\x12H\n\x11get_session_state\x18\x65 \x01(\x0b\x32+.mxaccess_gateway.v1.GetSessionStateCommandH\x00\x12\x44\n\x0fget_worker_info\x18\x66 \x01(\x0b\x32).mxaccess_gateway.v1.GetWorkerInfoCommandH\x00\x12?\n\x0c\x64rain_events\x18g \x01(\x0b\x32\'.mxaccess_gateway.v1.DrainEventsCommandH\x00\x12\x45\n\x0fshutdown_worker\x18h \x01(\x0b\x32*.mxaccess_gateway.v1.ShutdownWorkerCommandH\x00\x42\t\n\x07payload\"&\n\x0fRegisterCommand\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\"*\n\x11UnregisterCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\"@\n\x0e\x41\x64\x64ItemCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x17\n\x0fitem_definition\x18\x02 \x01(\t\"W\n\x0f\x41\x64\x64Item2Command\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x17\n\x0fitem_definition\x18\x02 \x01(\t\x12\x14\n\x0citem_context\x18\x03 \x01(\t\"?\n\x11RemoveItemCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\";\n\rAdviseCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"=\n\x0fUnAdviseCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"F\n\x18\x41\x64viseSupervisoryCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"^\n\x16\x41\x64\x64\x42ufferedItemCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x17\n\x0fitem_definition\x18\x02 \x01(\t\x12\x14\n\x0citem_context\x18\x03 \x01(\t\"_\n SetBufferedUpdateIntervalCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12$\n\x1cupdate_interval_milliseconds\x18\x02 \x01(\x05\"<\n\x0eSuspendCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"=\n\x0f\x41\x63tivateCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"x\n\x0cWriteCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12+\n\x05value\x18\x03 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07user_id\x18\x04 \x01(\x05\"\xb0\x01\n\rWrite2Command\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12+\n\x05value\x18\x03 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x35\n\x0ftimestamp_value\x18\x04 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07user_id\x18\x05 \x01(\x05\"\xa1\x01\n\x13WriteSecuredCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12\x17\n\x0f\x63urrent_user_id\x18\x03 \x01(\x05\x12\x18\n\x10verifier_user_id\x18\x04 \x01(\x05\x12+\n\x05value\x18\x05 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"\xd9\x01\n\x14WriteSecured2Command\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12\x17\n\x0f\x63urrent_user_id\x18\x03 \x01(\x05\x12\x18\n\x10verifier_user_id\x18\x04 \x01(\x05\x12+\n\x05value\x18\x05 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x35\n\x0ftimestamp_value\x18\x06 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"c\n\x17\x41uthenticateUserCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bverify_user\x18\x02 \x01(\t\x12\x1c\n\x14verify_user_password\x18\x03 \x01(\t\"G\n\x18\x41rchestrAUserToIdCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0cuser_id_guid\x18\x02 \x01(\t\"B\n\x12\x41\x64\x64ItemBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x15\n\rtag_addresses\x18\x02 \x03(\t\"D\n\x15\x41\x64viseItemBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0citem_handles\x18\x02 \x03(\x05\"D\n\x15RemoveItemBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0citem_handles\x18\x02 \x03(\x05\"F\n\x17UnAdviseItemBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0citem_handles\x18\x02 \x03(\x05\"D\n\x14SubscribeBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x15\n\rtag_addresses\x18\x02 \x03(\t\"\xee\x01\n\x16SubscribeAlarmsCommand\x12\x1f\n\x17subscription_expression\x18\x01 \x01(\t\x12;\n\x0b\x66orced_mode\x18\x02 \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\x12:\n\nwatch_list\x18\x03 \x03(\x0b\x32&.mxaccess_gateway.v1.AlarmSubtagTarget\x12:\n\x08\x66\x61ilover\x18\x04 \x01(\x0b\x32(.mxaccess_gateway.v1.AlarmFailoverConfig\"\x1a\n\x18UnsubscribeAlarmsCommand\"\xb4\x01\n\x11\x41larmSubtagTarget\x12\x1c\n\x14\x61larm_full_reference\x18\x01 \x01(\t\x12\x1f\n\x17source_object_reference\x18\x02 \x01(\t\x12\x15\n\ractive_subtag\x18\x03 \x01(\t\x12\x14\n\x0c\x61\x63ked_subtag\x18\x04 \x01(\t\x12\x1a\n\x12\x61\x63k_comment_subtag\x18\x05 \x01(\t\x12\x17\n\x0fpriority_subtag\x18\x06 \x01(\t\"\x85\x01\n\x13\x41larmFailoverConfig\x12%\n\x1d\x63onsecutive_failure_threshold\x18\x01 \x01(\x05\x12\'\n\x1f\x66\x61ilback_probe_interval_seconds\x18\x02 \x01(\x05\x12\x1e\n\x16\x66\x61ilback_stable_probes\x18\x03 \x01(\x05\"\xa1\x01\n\x17\x41\x63knowledgeAlarmCommand\x12\x12\n\nalarm_guid\x18\x01 \x01(\t\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x15\n\roperator_user\x18\x03 \x01(\t\x12\x15\n\roperator_node\x18\x04 \x01(\t\x12\x17\n\x0foperator_domain\x18\x05 \x01(\t\x12\x1a\n\x12operator_full_name\x18\x06 \x01(\t\"7\n\x18QueryActiveAlarmsCommand\x12\x1b\n\x13\x61larm_filter_prefix\x18\x01 \x01(\t\"\xd2\x01\n\x1d\x41\x63knowledgeAlarmByNameCommand\x12\x12\n\nalarm_name\x18\x01 \x01(\t\x12\x15\n\rprovider_name\x18\x02 \x01(\t\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x0f\n\x07\x63omment\x18\x04 \x01(\t\x12\x15\n\roperator_user\x18\x05 \x01(\t\x12\x15\n\roperator_node\x18\x06 \x01(\t\x12\x17\n\x0foperator_domain\x18\x07 \x01(\t\x12\x1a\n\x12operator_full_name\x18\x08 \x01(\t\"E\n\x16UnsubscribeBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0citem_handles\x18\x02 \x03(\x05\"_\n\x10WriteBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x34\n\x07\x65ntries\x18\x02 \x03(\x0b\x32#.mxaccess_gateway.v1.WriteBulkEntry\"c\n\x0eWriteBulkEntry\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07user_id\x18\x03 \x01(\x05\"a\n\x11Write2BulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x35\n\x07\x65ntries\x18\x02 \x03(\x0b\x32$.mxaccess_gateway.v1.Write2BulkEntry\"\x9b\x01\n\x0fWrite2BulkEntry\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x35\n\x0ftimestamp_value\x18\x03 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07user_id\x18\x04 \x01(\x05\"m\n\x17WriteSecuredBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12;\n\x07\x65ntries\x18\x02 \x03(\x0b\x32*.mxaccess_gateway.v1.WriteSecuredBulkEntry\"\x8c\x01\n\x15WriteSecuredBulkEntry\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\x12\x17\n\x0f\x63urrent_user_id\x18\x02 \x01(\x05\x12\x18\n\x10verifier_user_id\x18\x03 \x01(\x05\x12+\n\x05value\x18\x04 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"o\n\x18WriteSecured2BulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12<\n\x07\x65ntries\x18\x02 \x03(\x0b\x32+.mxaccess_gateway.v1.WriteSecured2BulkEntry\"\xc4\x01\n\x16WriteSecured2BulkEntry\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\x12\x17\n\x0f\x63urrent_user_id\x18\x02 \x01(\x05\x12\x18\n\x10verifier_user_id\x18\x03 \x01(\x05\x12+\n\x05value\x18\x04 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x35\n\x0ftimestamp_value\x18\x05 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"S\n\x0fReadBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x15\n\rtag_addresses\x18\x02 \x03(\t\x12\x12\n\ntimeout_ms\x18\x03 \x01(\r\"\x1e\n\x0bPingCommand\x12\x0f\n\x07message\x18\x01 \x01(\t\"\x18\n\x16GetSessionStateCommand\"\x16\n\x14GetWorkerInfoCommand\"(\n\x12\x44rainEventsCommand\x12\x12\n\nmax_events\x18\x01 \x01(\r\"H\n\x15ShutdownWorkerCommand\x12/\n\x0cgrace_period\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x86\x0f\n\x0eMxCommandReply\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63orrelation_id\x18\x02 \x01(\t\x12\x30\n\x04kind\x18\x03 \x01(\x0e\x32\".mxaccess_gateway.v1.MxCommandKind\x12<\n\x0fprotocol_status\x18\x04 \x01(\x0b\x32#.mxaccess_gateway.v1.ProtocolStatus\x12\x14\n\x07hresult\x18\x05 \x01(\x05H\x01\x88\x01\x01\x12\x32\n\x0creturn_value\x18\x06 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x34\n\x08statuses\x18\x07 \x03(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x1a\n\x12\x64iagnostic_message\x18\x08 \x01(\t\x12\x36\n\x08register\x18\x14 \x01(\x0b\x32\".mxaccess_gateway.v1.RegisterReplyH\x00\x12\x35\n\x08\x61\x64\x64_item\x18\x15 \x01(\x0b\x32!.mxaccess_gateway.v1.AddItemReplyH\x00\x12\x37\n\tadd_item2\x18\x16 \x01(\x0b\x32\".mxaccess_gateway.v1.AddItem2ReplyH\x00\x12\x46\n\x11\x61\x64\x64_buffered_item\x18\x17 \x01(\x0b\x32).mxaccess_gateway.v1.AddBufferedItemReplyH\x00\x12\x34\n\x07suspend\x18\x18 \x01(\x0b\x32!.mxaccess_gateway.v1.SuspendReplyH\x00\x12\x36\n\x08\x61\x63tivate\x18\x19 \x01(\x0b\x32\".mxaccess_gateway.v1.ActivateReplyH\x00\x12G\n\x11\x61uthenticate_user\x18\x1a \x01(\x0b\x32*.mxaccess_gateway.v1.AuthenticateUserReplyH\x00\x12K\n\x14\x61rchestra_user_to_id\x18\x1b \x01(\x0b\x32+.mxaccess_gateway.v1.ArchestrAUserToIdReplyH\x00\x12@\n\radd_item_bulk\x18\x1c \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x43\n\x10\x61\x64vise_item_bulk\x18\x1d \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x43\n\x10remove_item_bulk\x18\x1e \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x46\n\x13un_advise_item_bulk\x18\x1f \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x41\n\x0esubscribe_bulk\x18 \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x43\n\x10unsubscribe_bulk\x18! \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12N\n\x11\x61\x63knowledge_alarm\x18\" \x01(\x0b\x32\x31.mxaccess_gateway.v1.AcknowledgeAlarmReplyPayloadH\x00\x12Q\n\x13query_active_alarms\x18# \x01(\x0b\x32\x32.mxaccess_gateway.v1.QueryActiveAlarmsReplyPayloadH\x00\x12\x39\n\nwrite_bulk\x18$ \x01(\x0b\x32#.mxaccess_gateway.v1.BulkWriteReplyH\x00\x12:\n\x0bwrite2_bulk\x18% \x01(\x0b\x32#.mxaccess_gateway.v1.BulkWriteReplyH\x00\x12\x41\n\x12write_secured_bulk\x18& \x01(\x0b\x32#.mxaccess_gateway.v1.BulkWriteReplyH\x00\x12\x42\n\x13write_secured2_bulk\x18\' \x01(\x0b\x32#.mxaccess_gateway.v1.BulkWriteReplyH\x00\x12\x37\n\tread_bulk\x18( \x01(\x0b\x32\".mxaccess_gateway.v1.BulkReadReplyH\x00\x12?\n\rsession_state\x18\x64 \x01(\x0b\x32&.mxaccess_gateway.v1.SessionStateReplyH\x00\x12;\n\x0bworker_info\x18\x65 \x01(\x0b\x32$.mxaccess_gateway.v1.WorkerInfoReplyH\x00\x12=\n\x0c\x64rain_events\x18\x66 \x01(\x0b\x32%.mxaccess_gateway.v1.DrainEventsReplyH\x00\x42\t\n\x07payloadB\n\n\x08_hresult\"&\n\rRegisterReply\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\"#\n\x0c\x41\x64\x64ItemReply\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\"$\n\rAddItem2Reply\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\"+\n\x14\x41\x64\x64\x42ufferedItemReply\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\"B\n\x0cSuspendReply\x12\x32\n\x06status\x18\x01 \x01(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\"C\n\rActivateReply\x12\x32\n\x06status\x18\x01 \x01(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\"(\n\x15\x41uthenticateUserReply\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\")\n\x16\x41rchestrAUserToIdReply\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\"\x81\x01\n\x0fSubscribeResult\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0btag_address\x18\x02 \x01(\t\x12\x13\n\x0bitem_handle\x18\x03 \x01(\x05\x12\x16\n\x0ewas_successful\x18\x04 \x01(\x08\x12\x15\n\rerror_message\x18\x05 \x01(\t\"K\n\x12\x42ulkSubscribeReply\x12\x35\n\x07results\x18\x01 \x03(\x0b\x32$.mxaccess_gateway.v1.SubscribeResult\"\xc4\x01\n\x0f\x42ulkWriteResult\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12\x16\n\x0ewas_successful\x18\x03 \x01(\x08\x12\x14\n\x07hresult\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x34\n\x08statuses\x18\x05 \x03(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x15\n\rerror_message\x18\x06 \x01(\tB\n\n\x08_hresult\"G\n\x0e\x42ulkWriteReply\x12\x35\n\x07results\x18\x01 \x03(\x0b\x32$.mxaccess_gateway.v1.BulkWriteResult\"\xbe\x02\n\x0e\x42ulkReadResult\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0btag_address\x18\x02 \x01(\t\x12\x13\n\x0bitem_handle\x18\x03 \x01(\x05\x12\x16\n\x0ewas_successful\x18\x04 \x01(\x08\x12\x12\n\nwas_cached\x18\x05 \x01(\x08\x12+\n\x05value\x18\x06 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07quality\x18\x07 \x01(\x05\x12\x34\n\x10source_timestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x08statuses\x18\t \x03(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x15\n\rerror_message\x18\n \x01(\t\"E\n\rBulkReadReply\x12\x34\n\x07results\x18\x01 \x03(\x0b\x32#.mxaccess_gateway.v1.BulkReadResult\"E\n\x11SessionStateReply\x12\x30\n\x05state\x18\x01 \x01(\x0e\x32!.mxaccess_gateway.v1.SessionState\"u\n\x0fWorkerInfoReply\x12\x19\n\x11worker_process_id\x18\x01 \x01(\x05\x12\x16\n\x0eworker_version\x18\x02 \x01(\t\x12\x17\n\x0fmxaccess_progid\x18\x03 \x01(\t\x12\x16\n\x0emxaccess_clsid\x18\x04 \x01(\t\"@\n\x10\x44rainEventsReply\x12,\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1c.mxaccess_gateway.v1.MxEvent\"5\n\x1c\x41\x63knowledgeAlarmReplyPayload\x12\x15\n\rnative_status\x18\x01 \x01(\x05\"\\\n\x1dQueryActiveAlarmsReplyPayload\x12;\n\tsnapshots\x18\x01 \x03(\x0b\x32(.mxaccess_gateway.v1.ActiveAlarmSnapshot\"\x8f\x08\n\x07MxEvent\x12\x32\n\x06\x66\x61mily\x18\x01 \x01(\x0e\x32\".mxaccess_gateway.v1.MxEventFamily\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x15\n\rserver_handle\x18\x03 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x04 \x01(\x05\x12+\n\x05value\x18\x05 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07quality\x18\x06 \x01(\x05\x12\x34\n\x10source_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x08statuses\x18\x08 \x03(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x17\n\x0fworker_sequence\x18\t \x01(\x04\x12\x34\n\x10worker_timestamp\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x19gateway_receive_timestamp\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x07hresult\x18\x0c \x01(\x05H\x01\x88\x01\x01\x12\x12\n\nraw_status\x18\r \x01(\t\x12\x37\n\nreplay_gap\x18\x0e \x01(\x0b\x32\x1e.mxaccess_gateway.v1.ReplayGapH\x02\x88\x01\x01\x12@\n\x0eon_data_change\x18\x14 \x01(\x0b\x32&.mxaccess_gateway.v1.OnDataChangeEventH\x00\x12\x46\n\x11on_write_complete\x18\x15 \x01(\x0b\x32).mxaccess_gateway.v1.OnWriteCompleteEventH\x00\x12I\n\x12operation_complete\x18\x16 \x01(\x0b\x32+.mxaccess_gateway.v1.OperationCompleteEventH\x00\x12Q\n\x17on_buffered_data_change\x18\x17 \x01(\x0b\x32..mxaccess_gateway.v1.OnBufferedDataChangeEventH\x00\x12J\n\x13on_alarm_transition\x18\x18 \x01(\x0b\x32+.mxaccess_gateway.v1.OnAlarmTransitionEventH\x00\x12^\n\x1eon_alarm_provider_mode_changed\x18\x19 \x01(\x0b\x32\x34.mxaccess_gateway.v1.OnAlarmProviderModeChangedEventH\x00\x42\x06\n\x04\x62odyB\n\n\x08_hresultB\r\n\x0b_replay_gap\"P\n\tReplayGap\x12 \n\x18requested_after_sequence\x18\x01 \x01(\x04\x12!\n\x19oldest_available_sequence\x18\x02 \x01(\x04\"\x13\n\x11OnDataChangeEvent\"\x16\n\x14OnWriteCompleteEvent\"\x18\n\x16OperationCompleteEvent\"\xd4\x01\n\x19OnBufferedDataChangeEvent\x12\x32\n\tdata_type\x18\x01 \x01(\x0e\x32\x1f.mxaccess_gateway.v1.MxDataType\x12\x34\n\x0equality_values\x18\x02 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxArray\x12\x36\n\x10timestamp_values\x18\x03 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxArray\x12\x15\n\rraw_data_type\x18\x04 \x01(\x05\"\xd0\x04\n\x16OnAlarmTransitionEvent\x12\x1c\n\x14\x61larm_full_reference\x18\x01 \x01(\t\x12\x1f\n\x17source_object_reference\x18\x02 \x01(\t\x12\x17\n\x0f\x61larm_type_name\x18\x03 \x01(\t\x12\x41\n\x0ftransition_kind\x18\x04 \x01(\x0e\x32(.mxaccess_gateway.v1.AlarmTransitionKind\x12\x10\n\x08severity\x18\x05 \x01(\x05\x12<\n\x18original_raise_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14transition_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\roperator_user\x18\x08 \x01(\t\x12\x18\n\x10operator_comment\x18\t \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x0b \x01(\t\x12\x33\n\rcurrent_value\x18\x0c \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x31\n\x0blimit_value\x18\r \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x10\n\x08\x64\x65graded\x18\x0e \x01(\x08\x12?\n\x0fsource_provider\x18\x0f \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\"\xa0\x01\n\x1fOnAlarmProviderModeChangedEvent\x12\x34\n\x04mode\x18\x01 \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0f\n\x07hresult\x18\x03 \x01(\x05\x12&\n\x02\x61t\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xd0\x04\n\x13\x41\x63tiveAlarmSnapshot\x12\x1c\n\x14\x61larm_full_reference\x18\x01 \x01(\t\x12\x1f\n\x17source_object_reference\x18\x02 \x01(\t\x12\x17\n\x0f\x61larm_type_name\x18\x03 \x01(\t\x12\x10\n\x08severity\x18\x04 \x01(\x05\x12<\n\x18original_raise_timestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12?\n\rcurrent_state\x18\x06 \x01(\x0e\x32(.mxaccess_gateway.v1.AlarmConditionState\x12\x10\n\x08\x63\x61tegory\x18\x07 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12=\n\x19last_transition_timestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\roperator_user\x18\n \x01(\t\x12\x18\n\x10operator_comment\x18\x0b \x01(\t\x12\x33\n\rcurrent_value\x18\x0c \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x31\n\x0blimit_value\x18\r \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x10\n\x08\x64\x65graded\x18\x0e \x01(\x08\x12?\n\x0fsource_provider\x18\x0f \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\"\x90\x01\n\x17\x41\x63knowledgeAlarmRequest\x12\x1d\n\x15\x63lient_correlation_id\x18\x02 \x01(\t\x12\x1c\n\x14\x61larm_full_reference\x18\x03 \x01(\t\x12\x0f\n\x07\x63omment\x18\x04 \x01(\t\x12\x15\n\roperator_user\x18\x05 \x01(\tJ\x04\x08\x01\x10\x02R\nsession_id\"\xf1\x01\n\x15\x41\x63knowledgeAlarmReply\x12\x16\n\x0e\x63orrelation_id\x18\x02 \x01(\t\x12<\n\x0fprotocol_status\x18\x03 \x01(\x0b\x32#.mxaccess_gateway.v1.ProtocolStatus\x12\x14\n\x07hresult\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x32\n\x06status\x18\x05 \x01(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x1a\n\x12\x64iagnostic_message\x18\x06 \x01(\tB\n\n\x08_hresultJ\x04\x08\x01\x10\x02R\nsession_id\"Q\n\x13StreamAlarmsRequest\x12\x1d\n\x15\x63lient_correlation_id\x18\x01 \x01(\t\x12\x1b\n\x13\x61larm_filter_prefix\x18\x02 \x01(\t\"\x84\x02\n\x10\x41larmFeedMessage\x12@\n\x0c\x61\x63tive_alarm\x18\x01 \x01(\x0b\x32(.mxaccess_gateway.v1.ActiveAlarmSnapshotH\x00\x12\x1b\n\x11snapshot_complete\x18\x02 \x01(\x08H\x00\x12\x41\n\ntransition\x18\x03 \x01(\x0b\x32+.mxaccess_gateway.v1.OnAlarmTransitionEventH\x00\x12\x43\n\x0fprovider_status\x18\x04 \x01(\x0b\x32(.mxaccess_gateway.v1.AlarmProviderStatusH\x00\x42\t\n\x07payload\"\x98\x01\n\x13\x41larmProviderStatus\x12\x34\n\x04mode\x18\x01 \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\x12\x10\n\x08\x64\x65graded\x18\x02 \x01(\x08\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12)\n\x05since\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xeb\x01\n\rMxStatusProxy\x12\x0f\n\x07success\x18\x01 \x01(\x05\x12\x37\n\x08\x63\x61tegory\x18\x02 \x01(\x0e\x32%.mxaccess_gateway.v1.MxStatusCategory\x12\x38\n\x0b\x64\x65tected_by\x18\x03 \x01(\x0e\x32#.mxaccess_gateway.v1.MxStatusSource\x12\x0e\n\x06\x64\x65tail\x18\x04 \x01(\x05\x12\x14\n\x0craw_category\x18\x05 \x01(\x05\x12\x17\n\x0fraw_detected_by\x18\x06 \x01(\x05\x12\x17\n\x0f\x64iagnostic_text\x18\x07 \x01(\t\"\xe9\x03\n\x07MxValue\x12\x32\n\tdata_type\x18\x01 \x01(\x0e\x32\x1f.mxaccess_gateway.v1.MxDataType\x12\x14\n\x0cvariant_type\x18\x02 \x01(\t\x12\x0f\n\x07is_null\x18\x03 \x01(\x08\x12\x16\n\x0eraw_diagnostic\x18\x04 \x01(\t\x12\x15\n\rraw_data_type\x18\x05 \x01(\x05\x12\x14\n\nbool_value\x18\n \x01(\x08H\x00\x12\x15\n\x0bint32_value\x18\x0b \x01(\x05H\x00\x12\x15\n\x0bint64_value\x18\x0c \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\r \x01(\x02H\x00\x12\x16\n\x0c\x64ouble_value\x18\x0e \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x0f \x01(\tH\x00\x12\x35\n\x0ftimestamp_value\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x33\n\x0b\x61rray_value\x18\x11 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxArrayH\x00\x12\x13\n\traw_value\x18\x12 \x01(\x0cH\x00\x12@\n\x12sparse_array_value\x18\x13 \x01(\x0b\x32\".mxaccess_gateway.v1.MxSparseArrayH\x00\x42\x06\n\x04kind\"\xfe\x04\n\x07MxArray\x12:\n\x11\x65lement_data_type\x18\x01 \x01(\x0e\x32\x1f.mxaccess_gateway.v1.MxDataType\x12\x14\n\x0cvariant_type\x18\x02 \x01(\t\x12\x12\n\ndimensions\x18\x03 \x03(\r\x12\x16\n\x0eraw_diagnostic\x18\x04 \x01(\t\x12\x1d\n\x15raw_element_data_type\x18\x05 \x01(\x05\x12\x35\n\x0b\x62ool_values\x18\n \x01(\x0b\x32\x1e.mxaccess_gateway.v1.BoolArrayH\x00\x12\x37\n\x0cint32_values\x18\x0b \x01(\x0b\x32\x1f.mxaccess_gateway.v1.Int32ArrayH\x00\x12\x37\n\x0cint64_values\x18\x0c \x01(\x0b\x32\x1f.mxaccess_gateway.v1.Int64ArrayH\x00\x12\x37\n\x0c\x66loat_values\x18\r \x01(\x0b\x32\x1f.mxaccess_gateway.v1.FloatArrayH\x00\x12\x39\n\rdouble_values\x18\x0e \x01(\x0b\x32 .mxaccess_gateway.v1.DoubleArrayH\x00\x12\x39\n\rstring_values\x18\x0f \x01(\x0b\x32 .mxaccess_gateway.v1.StringArrayH\x00\x12?\n\x10timestamp_values\x18\x10 \x01(\x0b\x32#.mxaccess_gateway.v1.TimestampArrayH\x00\x12\x33\n\nraw_values\x18\x11 \x01(\x0b\x32\x1d.mxaccess_gateway.v1.RawArrayH\x00\x42\x08\n\x06values\"\x99\x01\n\rMxSparseArray\x12:\n\x11\x65lement_data_type\x18\x01 \x01(\x0e\x32\x1f.mxaccess_gateway.v1.MxDataType\x12\x14\n\x0ctotal_length\x18\x02 \x01(\r\x12\x36\n\x08\x65lements\x18\x03 \x03(\x0b\x32$.mxaccess_gateway.v1.MxSparseElement\"M\n\x0fMxSparseElement\x12\r\n\x05index\x18\x01 \x01(\r\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"\x1b\n\tBoolArray\x12\x0e\n\x06values\x18\x01 \x03(\x08\"\x1c\n\nInt32Array\x12\x0e\n\x06values\x18\x01 \x03(\x05\"\x1c\n\nInt64Array\x12\x0e\n\x06values\x18\x01 \x03(\x03\"\x1c\n\nFloatArray\x12\x0e\n\x06values\x18\x01 \x03(\x02\"\x1d\n\x0b\x44oubleArray\x12\x0e\n\x06values\x18\x01 \x03(\x01\"\x1d\n\x0bStringArray\x12\x0e\n\x06values\x18\x01 \x03(\t\"<\n\x0eTimestampArray\x12*\n\x06values\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\"\x1a\n\x08RawArray\x12\x0e\n\x06values\x18\x01 \x03(\x0c\"X\n\x0eProtocolStatus\x12\x35\n\x04\x63ode\x18\x01 \x01(\x0e\x32\'.mxaccess_gateway.v1.ProtocolStatusCode\x12\x0f\n\x07message\x18\x02 \x01(\t*\x9f\x0b\n\rMxCommandKind\x12\x1f\n\x1bMX_COMMAND_KIND_UNSPECIFIED\x10\x00\x12\x1c\n\x18MX_COMMAND_KIND_REGISTER\x10\x01\x12\x1e\n\x1aMX_COMMAND_KIND_UNREGISTER\x10\x02\x12\x1c\n\x18MX_COMMAND_KIND_ADD_ITEM\x10\x03\x12\x1d\n\x19MX_COMMAND_KIND_ADD_ITEM2\x10\x04\x12\x1f\n\x1bMX_COMMAND_KIND_REMOVE_ITEM\x10\x05\x12\x1a\n\x16MX_COMMAND_KIND_ADVISE\x10\x06\x12\x1d\n\x19MX_COMMAND_KIND_UN_ADVISE\x10\x07\x12&\n\"MX_COMMAND_KIND_ADVISE_SUPERVISORY\x10\x08\x12%\n!MX_COMMAND_KIND_ADD_BUFFERED_ITEM\x10\t\x12\x30\n,MX_COMMAND_KIND_SET_BUFFERED_UPDATE_INTERVAL\x10\n\x12\x1b\n\x17MX_COMMAND_KIND_SUSPEND\x10\x0b\x12\x1c\n\x18MX_COMMAND_KIND_ACTIVATE\x10\x0c\x12\x19\n\x15MX_COMMAND_KIND_WRITE\x10\r\x12\x1a\n\x16MX_COMMAND_KIND_WRITE2\x10\x0e\x12!\n\x1dMX_COMMAND_KIND_WRITE_SECURED\x10\x0f\x12\"\n\x1eMX_COMMAND_KIND_WRITE_SECURED2\x10\x10\x12%\n!MX_COMMAND_KIND_AUTHENTICATE_USER\x10\x11\x12(\n$MX_COMMAND_KIND_ARCHESTRA_USER_TO_ID\x10\x12\x12!\n\x1dMX_COMMAND_KIND_ADD_ITEM_BULK\x10\x13\x12$\n MX_COMMAND_KIND_ADVISE_ITEM_BULK\x10\x14\x12$\n MX_COMMAND_KIND_REMOVE_ITEM_BULK\x10\x15\x12\'\n#MX_COMMAND_KIND_UN_ADVISE_ITEM_BULK\x10\x16\x12\"\n\x1eMX_COMMAND_KIND_SUBSCRIBE_BULK\x10\x17\x12$\n MX_COMMAND_KIND_UNSUBSCRIBE_BULK\x10\x18\x12$\n MX_COMMAND_KIND_SUBSCRIBE_ALARMS\x10\x19\x12&\n\"MX_COMMAND_KIND_UNSUBSCRIBE_ALARMS\x10\x1a\x12%\n!MX_COMMAND_KIND_ACKNOWLEDGE_ALARM\x10\x1b\x12\'\n#MX_COMMAND_KIND_QUERY_ACTIVE_ALARMS\x10\x1c\x12-\n)MX_COMMAND_KIND_ACKNOWLEDGE_ALARM_BY_NAME\x10\x1d\x12\x1e\n\x1aMX_COMMAND_KIND_WRITE_BULK\x10\x1e\x12\x1f\n\x1bMX_COMMAND_KIND_WRITE2_BULK\x10\x1f\x12&\n\"MX_COMMAND_KIND_WRITE_SECURED_BULK\x10 \x12\'\n#MX_COMMAND_KIND_WRITE_SECURED2_BULK\x10!\x12\x1d\n\x19MX_COMMAND_KIND_READ_BULK\x10\"\x12\x18\n\x14MX_COMMAND_KIND_PING\x10\x64\x12%\n!MX_COMMAND_KIND_GET_SESSION_STATE\x10\x65\x12#\n\x1fMX_COMMAND_KIND_GET_WORKER_INFO\x10\x66\x12 \n\x1cMX_COMMAND_KIND_DRAIN_EVENTS\x10g\x12#\n\x1fMX_COMMAND_KIND_SHUTDOWN_WORKER\x10h*z\n\x11\x41larmProviderMode\x12#\n\x1f\x41LARM_PROVIDER_MODE_UNSPECIFIED\x10\x00\x12 \n\x1c\x41LARM_PROVIDER_MODE_ALARMMGR\x10\x01\x12\x1e\n\x1a\x41LARM_PROVIDER_MODE_SUBTAG\x10\x02*\xad\x02\n\rMxEventFamily\x12\x1f\n\x1bMX_EVENT_FAMILY_UNSPECIFIED\x10\x00\x12\"\n\x1eMX_EVENT_FAMILY_ON_DATA_CHANGE\x10\x01\x12%\n!MX_EVENT_FAMILY_ON_WRITE_COMPLETE\x10\x02\x12&\n\"MX_EVENT_FAMILY_OPERATION_COMPLETE\x10\x03\x12+\n\'MX_EVENT_FAMILY_ON_BUFFERED_DATA_CHANGE\x10\x04\x12\'\n#MX_EVENT_FAMILY_ON_ALARM_TRANSITION\x10\x05\x12\x32\n.MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED\x10\x06*\xca\x01\n\x13\x41larmTransitionKind\x12%\n!ALARM_TRANSITION_KIND_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41LARM_TRANSITION_KIND_RAISE\x10\x01\x12%\n!ALARM_TRANSITION_KIND_ACKNOWLEDGE\x10\x02\x12\x1f\n\x1b\x41LARM_TRANSITION_KIND_CLEAR\x10\x03\x12#\n\x1f\x41LARM_TRANSITION_KIND_RETRIGGER\x10\x04*\xaa\x01\n\x13\x41larmConditionState\x12%\n!ALARM_CONDITION_STATE_UNSPECIFIED\x10\x00\x12 \n\x1c\x41LARM_CONDITION_STATE_ACTIVE\x10\x01\x12&\n\"ALARM_CONDITION_STATE_ACTIVE_ACKED\x10\x02\x12\"\n\x1e\x41LARM_CONDITION_STATE_INACTIVE\x10\x03*\xa5\x03\n\x10MxStatusCategory\x12\"\n\x1eMX_STATUS_CATEGORY_UNSPECIFIED\x10\x00\x12\x1e\n\x1aMX_STATUS_CATEGORY_UNKNOWN\x10\x01\x12\x19\n\x15MX_STATUS_CATEGORY_OK\x10\x02\x12\x1e\n\x1aMX_STATUS_CATEGORY_PENDING\x10\x03\x12\x1e\n\x1aMX_STATUS_CATEGORY_WARNING\x10\x04\x12*\n&MX_STATUS_CATEGORY_COMMUNICATION_ERROR\x10\x05\x12*\n&MX_STATUS_CATEGORY_CONFIGURATION_ERROR\x10\x06\x12(\n$MX_STATUS_CATEGORY_OPERATIONAL_ERROR\x10\x07\x12%\n!MX_STATUS_CATEGORY_SECURITY_ERROR\x10\x08\x12%\n!MX_STATUS_CATEGORY_SOFTWARE_ERROR\x10\t\x12\"\n\x1eMX_STATUS_CATEGORY_OTHER_ERROR\x10\n*\xca\x02\n\x0eMxStatusSource\x12 \n\x1cMX_STATUS_SOURCE_UNSPECIFIED\x10\x00\x12\x1c\n\x18MX_STATUS_SOURCE_UNKNOWN\x10\x01\x12#\n\x1fMX_STATUS_SOURCE_REQUESTING_LMX\x10\x02\x12#\n\x1fMX_STATUS_SOURCE_RESPONDING_LMX\x10\x03\x12#\n\x1fMX_STATUS_SOURCE_REQUESTING_NMX\x10\x04\x12#\n\x1fMX_STATUS_SOURCE_RESPONDING_NMX\x10\x05\x12\x31\n-MX_STATUS_SOURCE_REQUESTING_AUTOMATION_OBJECT\x10\x06\x12\x31\n-MX_STATUS_SOURCE_RESPONDING_AUTOMATION_OBJECT\x10\x07*\xdd\x04\n\nMxDataType\x12\x1c\n\x18MX_DATA_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14MX_DATA_TYPE_UNKNOWN\x10\x01\x12\x18\n\x14MX_DATA_TYPE_NO_DATA\x10\x02\x12\x18\n\x14MX_DATA_TYPE_BOOLEAN\x10\x03\x12\x18\n\x14MX_DATA_TYPE_INTEGER\x10\x04\x12\x16\n\x12MX_DATA_TYPE_FLOAT\x10\x05\x12\x17\n\x13MX_DATA_TYPE_DOUBLE\x10\x06\x12\x17\n\x13MX_DATA_TYPE_STRING\x10\x07\x12\x15\n\x11MX_DATA_TYPE_TIME\x10\x08\x12\x1d\n\x19MX_DATA_TYPE_ELAPSED_TIME\x10\t\x12\x1f\n\x1bMX_DATA_TYPE_REFERENCE_TYPE\x10\n\x12\x1c\n\x18MX_DATA_TYPE_STATUS_TYPE\x10\x0b\x12\x15\n\x11MX_DATA_TYPE_ENUM\x10\x0c\x12-\n)MX_DATA_TYPE_SECURITY_CLASSIFICATION_ENUM\x10\r\x12\"\n\x1eMX_DATA_TYPE_DATA_QUALITY_TYPE\x10\x0e\x12\x1f\n\x1bMX_DATA_TYPE_QUALIFIED_ENUM\x10\x0f\x12!\n\x1dMX_DATA_TYPE_QUALIFIED_STRUCT\x10\x10\x12)\n%MX_DATA_TYPE_INTERNATIONALIZED_STRING\x10\x11\x12\x1b\n\x17MX_DATA_TYPE_BIG_STRING\x10\x12\x12\x14\n\x10MX_DATA_TYPE_END\x10\x13*\xa3\x03\n\x12ProtocolStatusCode\x12$\n PROTOCOL_STATUS_CODE_UNSPECIFIED\x10\x00\x12\x1b\n\x17PROTOCOL_STATUS_CODE_OK\x10\x01\x12(\n$PROTOCOL_STATUS_CODE_INVALID_REQUEST\x10\x02\x12*\n&PROTOCOL_STATUS_CODE_SESSION_NOT_FOUND\x10\x03\x12*\n&PROTOCOL_STATUS_CODE_SESSION_NOT_READY\x10\x04\x12+\n\'PROTOCOL_STATUS_CODE_WORKER_UNAVAILABLE\x10\x05\x12 \n\x1cPROTOCOL_STATUS_CODE_TIMEOUT\x10\x06\x12!\n\x1dPROTOCOL_STATUS_CODE_CANCELED\x10\x07\x12+\n\'PROTOCOL_STATUS_CODE_PROTOCOL_VIOLATION\x10\x08\x12)\n%PROTOCOL_STATUS_CODE_MXACCESS_FAILURE\x10\t*\xbf\x02\n\x0cSessionState\x12\x1d\n\x19SESSION_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16SESSION_STATE_CREATING\x10\x01\x12!\n\x1dSESSION_STATE_STARTING_WORKER\x10\x02\x12\"\n\x1eSESSION_STATE_WAITING_FOR_PIPE\x10\x03\x12\x1d\n\x19SESSION_STATE_HANDSHAKING\x10\x04\x12%\n!SESSION_STATE_INITIALIZING_WORKER\x10\x05\x12\x17\n\x13SESSION_STATE_READY\x10\x06\x12\x19\n\x15SESSION_STATE_CLOSING\x10\x07\x12\x18\n\x14SESSION_STATE_CLOSED\x10\x08\x12\x19\n\x15SESSION_STATE_FAULTED\x10\t2\xc3\x05\n\x0fMxAccessGateway\x12]\n\x0bOpenSession\x12\'.mxaccess_gateway.v1.OpenSessionRequest\x1a%.mxaccess_gateway.v1.OpenSessionReply\x12`\n\x0c\x43loseSession\x12(.mxaccess_gateway.v1.CloseSessionRequest\x1a&.mxaccess_gateway.v1.CloseSessionReply\x12T\n\x06Invoke\x12%.mxaccess_gateway.v1.MxCommandRequest\x1a#.mxaccess_gateway.v1.MxCommandReply\x12X\n\x0cStreamEvents\x12(.mxaccess_gateway.v1.StreamEventsRequest\x1a\x1c.mxaccess_gateway.v1.MxEvent0\x01\x12l\n\x10\x41\x63knowledgeAlarm\x12,.mxaccess_gateway.v1.AcknowledgeAlarmRequest\x1a*.mxaccess_gateway.v1.AcknowledgeAlarmReply\x12\x61\n\x0cStreamAlarms\x12(.mxaccess_gateway.v1.StreamAlarmsRequest\x1a%.mxaccess_gateway.v1.AlarmFeedMessage0\x01\x12n\n\x11QueryActiveAlarms\x12-.mxaccess_gateway.v1.QueryActiveAlarmsRequest\x1a(.mxaccess_gateway.v1.ActiveAlarmSnapshot0\x01\x42&\xaa\x02#ZB.MOM.WW.MxGateway.Contracts.Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16mxaccess_gateway.proto\x12\x13mxaccess_gateway.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"j\n\x18QueryActiveAlarmsRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1d\n\x15\x63lient_correlation_id\x18\x02 \x01(\t\x12\x1b\n\x13\x61larm_filter_prefix\x18\x03 \x01(\t\"\x9f\x01\n\x12OpenSessionRequest\x12\x19\n\x11requested_backend\x18\x01 \x01(\t\x12\x1b\n\x13\x63lient_session_name\x18\x02 \x01(\t\x12\x1d\n\x15\x63lient_correlation_id\x18\x03 \x01(\t\x12\x32\n\x0f\x63ommand_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xaa\x02\n\x10OpenSessionReply\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61\x63kend_name\x18\x02 \x01(\t\x12\x19\n\x11worker_process_id\x18\x03 \x01(\x05\x12\x1f\n\x17worker_protocol_version\x18\x04 \x01(\r\x12\x14\n\x0c\x63\x61pabilities\x18\x05 \x03(\t\x12:\n\x17\x64\x65\x66\x61ult_command_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x0fprotocol_status\x18\x07 \x01(\x0b\x32#.mxaccess_gateway.v1.ProtocolStatus\x12 \n\x18gateway_protocol_version\x18\x08 \x01(\r\"H\n\x13\x43loseSessionRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1d\n\x15\x63lient_correlation_id\x18\x02 \x01(\t\"\x9d\x01\n\x11\x43loseSessionReply\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x36\n\x0b\x66inal_state\x18\x02 \x01(\x0e\x32!.mxaccess_gateway.v1.SessionState\x12<\n\x0fprotocol_status\x18\x03 \x01(\x0b\x32#.mxaccess_gateway.v1.ProtocolStatus\"H\n\x13StreamEventsRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1d\n\x15\x61\x66ter_worker_sequence\x18\x02 \x01(\x04\"v\n\x10MxCommandRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x1d\n\x15\x63lient_correlation_id\x18\x02 \x01(\t\x12/\n\x07\x63ommand\x18\x03 \x01(\x0b\x32\x1e.mxaccess_gateway.v1.MxCommand\"\xc0\x15\n\tMxCommand\x12\x30\n\x04kind\x18\x01 \x01(\x0e\x32\".mxaccess_gateway.v1.MxCommandKind\x12\x38\n\x08register\x18\n \x01(\x0b\x32$.mxaccess_gateway.v1.RegisterCommandH\x00\x12<\n\nunregister\x18\x0b \x01(\x0b\x32&.mxaccess_gateway.v1.UnregisterCommandH\x00\x12\x37\n\x08\x61\x64\x64_item\x18\x0c \x01(\x0b\x32#.mxaccess_gateway.v1.AddItemCommandH\x00\x12\x39\n\tadd_item2\x18\r \x01(\x0b\x32$.mxaccess_gateway.v1.AddItem2CommandH\x00\x12=\n\x0bremove_item\x18\x0e \x01(\x0b\x32&.mxaccess_gateway.v1.RemoveItemCommandH\x00\x12\x34\n\x06\x61\x64vise\x18\x0f \x01(\x0b\x32\".mxaccess_gateway.v1.AdviseCommandH\x00\x12\x39\n\tun_advise\x18\x10 \x01(\x0b\x32$.mxaccess_gateway.v1.UnAdviseCommandH\x00\x12K\n\x12\x61\x64vise_supervisory\x18\x11 \x01(\x0b\x32-.mxaccess_gateway.v1.AdviseSupervisoryCommandH\x00\x12H\n\x11\x61\x64\x64_buffered_item\x18\x12 \x01(\x0b\x32+.mxaccess_gateway.v1.AddBufferedItemCommandH\x00\x12]\n\x1cset_buffered_update_interval\x18\x13 \x01(\x0b\x32\x35.mxaccess_gateway.v1.SetBufferedUpdateIntervalCommandH\x00\x12\x36\n\x07suspend\x18\x14 \x01(\x0b\x32#.mxaccess_gateway.v1.SuspendCommandH\x00\x12\x38\n\x08\x61\x63tivate\x18\x15 \x01(\x0b\x32$.mxaccess_gateway.v1.ActivateCommandH\x00\x12\x32\n\x05write\x18\x16 \x01(\x0b\x32!.mxaccess_gateway.v1.WriteCommandH\x00\x12\x34\n\x06write2\x18\x17 \x01(\x0b\x32\".mxaccess_gateway.v1.Write2CommandH\x00\x12\x41\n\rwrite_secured\x18\x18 \x01(\x0b\x32(.mxaccess_gateway.v1.WriteSecuredCommandH\x00\x12\x43\n\x0ewrite_secured2\x18\x19 \x01(\x0b\x32).mxaccess_gateway.v1.WriteSecured2CommandH\x00\x12I\n\x11\x61uthenticate_user\x18\x1a \x01(\x0b\x32,.mxaccess_gateway.v1.AuthenticateUserCommandH\x00\x12M\n\x14\x61rchestra_user_to_id\x18\x1b \x01(\x0b\x32-.mxaccess_gateway.v1.ArchestrAUserToIdCommandH\x00\x12@\n\radd_item_bulk\x18\x1c \x01(\x0b\x32\'.mxaccess_gateway.v1.AddItemBulkCommandH\x00\x12\x46\n\x10\x61\x64vise_item_bulk\x18\x1d \x01(\x0b\x32*.mxaccess_gateway.v1.AdviseItemBulkCommandH\x00\x12\x46\n\x10remove_item_bulk\x18\x1e \x01(\x0b\x32*.mxaccess_gateway.v1.RemoveItemBulkCommandH\x00\x12K\n\x13un_advise_item_bulk\x18\x1f \x01(\x0b\x32,.mxaccess_gateway.v1.UnAdviseItemBulkCommandH\x00\x12\x43\n\x0esubscribe_bulk\x18 \x01(\x0b\x32).mxaccess_gateway.v1.SubscribeBulkCommandH\x00\x12G\n\x10unsubscribe_bulk\x18! \x01(\x0b\x32+.mxaccess_gateway.v1.UnsubscribeBulkCommandH\x00\x12G\n\x10subscribe_alarms\x18\" \x01(\x0b\x32+.mxaccess_gateway.v1.SubscribeAlarmsCommandH\x00\x12K\n\x12unsubscribe_alarms\x18# \x01(\x0b\x32-.mxaccess_gateway.v1.UnsubscribeAlarmsCommandH\x00\x12Q\n\x19\x61\x63knowledge_alarm_command\x18$ \x01(\x0b\x32,.mxaccess_gateway.v1.AcknowledgeAlarmCommandH\x00\x12T\n\x1bquery_active_alarms_command\x18% \x01(\x0b\x32-.mxaccess_gateway.v1.QueryActiveAlarmsCommandH\x00\x12_\n!acknowledge_alarm_by_name_command\x18& \x01(\x0b\x32\x32.mxaccess_gateway.v1.AcknowledgeAlarmByNameCommandH\x00\x12;\n\nwrite_bulk\x18\' \x01(\x0b\x32%.mxaccess_gateway.v1.WriteBulkCommandH\x00\x12=\n\x0bwrite2_bulk\x18( \x01(\x0b\x32&.mxaccess_gateway.v1.Write2BulkCommandH\x00\x12J\n\x12write_secured_bulk\x18) \x01(\x0b\x32,.mxaccess_gateway.v1.WriteSecuredBulkCommandH\x00\x12L\n\x13write_secured2_bulk\x18* \x01(\x0b\x32-.mxaccess_gateway.v1.WriteSecured2BulkCommandH\x00\x12\x39\n\tread_bulk\x18+ \x01(\x0b\x32$.mxaccess_gateway.v1.ReadBulkCommandH\x00\x12\x30\n\x04ping\x18\x64 \x01(\x0b\x32 .mxaccess_gateway.v1.PingCommandH\x00\x12H\n\x11get_session_state\x18\x65 \x01(\x0b\x32+.mxaccess_gateway.v1.GetSessionStateCommandH\x00\x12\x44\n\x0fget_worker_info\x18\x66 \x01(\x0b\x32).mxaccess_gateway.v1.GetWorkerInfoCommandH\x00\x12?\n\x0c\x64rain_events\x18g \x01(\x0b\x32\'.mxaccess_gateway.v1.DrainEventsCommandH\x00\x12\x45\n\x0fshutdown_worker\x18h \x01(\x0b\x32*.mxaccess_gateway.v1.ShutdownWorkerCommandH\x00\x42\t\n\x07payload\"&\n\x0fRegisterCommand\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\"*\n\x11UnregisterCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\"@\n\x0e\x41\x64\x64ItemCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x17\n\x0fitem_definition\x18\x02 \x01(\t\"W\n\x0f\x41\x64\x64Item2Command\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x17\n\x0fitem_definition\x18\x02 \x01(\t\x12\x14\n\x0citem_context\x18\x03 \x01(\t\"?\n\x11RemoveItemCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\";\n\rAdviseCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"=\n\x0fUnAdviseCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"F\n\x18\x41\x64viseSupervisoryCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"^\n\x16\x41\x64\x64\x42ufferedItemCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x17\n\x0fitem_definition\x18\x02 \x01(\t\x12\x14\n\x0citem_context\x18\x03 \x01(\t\"_\n SetBufferedUpdateIntervalCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12$\n\x1cupdate_interval_milliseconds\x18\x02 \x01(\x05\"<\n\x0eSuspendCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"=\n\x0f\x41\x63tivateCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\"x\n\x0cWriteCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12+\n\x05value\x18\x03 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07user_id\x18\x04 \x01(\x05\"\xb0\x01\n\rWrite2Command\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12+\n\x05value\x18\x03 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x35\n\x0ftimestamp_value\x18\x04 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07user_id\x18\x05 \x01(\x05\"\xa1\x01\n\x13WriteSecuredCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12\x17\n\x0f\x63urrent_user_id\x18\x03 \x01(\x05\x12\x18\n\x10verifier_user_id\x18\x04 \x01(\x05\x12+\n\x05value\x18\x05 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"\xd9\x01\n\x14WriteSecured2Command\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12\x17\n\x0f\x63urrent_user_id\x18\x03 \x01(\x05\x12\x18\n\x10verifier_user_id\x18\x04 \x01(\x05\x12+\n\x05value\x18\x05 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x35\n\x0ftimestamp_value\x18\x06 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"c\n\x17\x41uthenticateUserCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bverify_user\x18\x02 \x01(\t\x12\x1c\n\x14verify_user_password\x18\x03 \x01(\t\"G\n\x18\x41rchestrAUserToIdCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0cuser_id_guid\x18\x02 \x01(\t\"B\n\x12\x41\x64\x64ItemBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x15\n\rtag_addresses\x18\x02 \x03(\t\"D\n\x15\x41\x64viseItemBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0citem_handles\x18\x02 \x03(\x05\"D\n\x15RemoveItemBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0citem_handles\x18\x02 \x03(\x05\"F\n\x17UnAdviseItemBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0citem_handles\x18\x02 \x03(\x05\"D\n\x14SubscribeBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x15\n\rtag_addresses\x18\x02 \x03(\t\"\xee\x01\n\x16SubscribeAlarmsCommand\x12\x1f\n\x17subscription_expression\x18\x01 \x01(\t\x12;\n\x0b\x66orced_mode\x18\x02 \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\x12:\n\nwatch_list\x18\x03 \x03(\x0b\x32&.mxaccess_gateway.v1.AlarmSubtagTarget\x12:\n\x08\x66\x61ilover\x18\x04 \x01(\x0b\x32(.mxaccess_gateway.v1.AlarmFailoverConfig\"\x1a\n\x18UnsubscribeAlarmsCommand\"\xb4\x01\n\x11\x41larmSubtagTarget\x12\x1c\n\x14\x61larm_full_reference\x18\x01 \x01(\t\x12\x1f\n\x17source_object_reference\x18\x02 \x01(\t\x12\x15\n\ractive_subtag\x18\x03 \x01(\t\x12\x14\n\x0c\x61\x63ked_subtag\x18\x04 \x01(\t\x12\x1a\n\x12\x61\x63k_comment_subtag\x18\x05 \x01(\t\x12\x17\n\x0fpriority_subtag\x18\x06 \x01(\t\"\x85\x01\n\x13\x41larmFailoverConfig\x12%\n\x1d\x63onsecutive_failure_threshold\x18\x01 \x01(\x05\x12\'\n\x1f\x66\x61ilback_probe_interval_seconds\x18\x02 \x01(\x05\x12\x1e\n\x16\x66\x61ilback_stable_probes\x18\x03 \x01(\x05\"\xa1\x01\n\x17\x41\x63knowledgeAlarmCommand\x12\x12\n\nalarm_guid\x18\x01 \x01(\t\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x15\n\roperator_user\x18\x03 \x01(\t\x12\x15\n\roperator_node\x18\x04 \x01(\t\x12\x17\n\x0foperator_domain\x18\x05 \x01(\t\x12\x1a\n\x12operator_full_name\x18\x06 \x01(\t\"7\n\x18QueryActiveAlarmsCommand\x12\x1b\n\x13\x61larm_filter_prefix\x18\x01 \x01(\t\"\xd2\x01\n\x1d\x41\x63knowledgeAlarmByNameCommand\x12\x12\n\nalarm_name\x18\x01 \x01(\t\x12\x15\n\rprovider_name\x18\x02 \x01(\t\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x0f\n\x07\x63omment\x18\x04 \x01(\t\x12\x15\n\roperator_user\x18\x05 \x01(\t\x12\x15\n\roperator_node\x18\x06 \x01(\t\x12\x17\n\x0foperator_domain\x18\x07 \x01(\t\x12\x1a\n\x12operator_full_name\x18\x08 \x01(\t\"E\n\x16UnsubscribeBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x14\n\x0citem_handles\x18\x02 \x03(\x05\"_\n\x10WriteBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x34\n\x07\x65ntries\x18\x02 \x03(\x0b\x32#.mxaccess_gateway.v1.WriteBulkEntry\"c\n\x0eWriteBulkEntry\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07user_id\x18\x03 \x01(\x05\"a\n\x11Write2BulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x35\n\x07\x65ntries\x18\x02 \x03(\x0b\x32$.mxaccess_gateway.v1.Write2BulkEntry\"\x9b\x01\n\x0fWrite2BulkEntry\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x35\n\x0ftimestamp_value\x18\x03 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07user_id\x18\x04 \x01(\x05\"m\n\x17WriteSecuredBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12;\n\x07\x65ntries\x18\x02 \x03(\x0b\x32*.mxaccess_gateway.v1.WriteSecuredBulkEntry\"\x8c\x01\n\x15WriteSecuredBulkEntry\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\x12\x17\n\x0f\x63urrent_user_id\x18\x02 \x01(\x05\x12\x18\n\x10verifier_user_id\x18\x03 \x01(\x05\x12+\n\x05value\x18\x04 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"o\n\x18WriteSecured2BulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12<\n\x07\x65ntries\x18\x02 \x03(\x0b\x32+.mxaccess_gateway.v1.WriteSecured2BulkEntry\"\xc4\x01\n\x16WriteSecured2BulkEntry\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\x12\x17\n\x0f\x63urrent_user_id\x18\x02 \x01(\x05\x12\x18\n\x10verifier_user_id\x18\x03 \x01(\x05\x12+\n\x05value\x18\x04 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x35\n\x0ftimestamp_value\x18\x05 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"S\n\x0fReadBulkCommand\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x15\n\rtag_addresses\x18\x02 \x03(\t\x12\x12\n\ntimeout_ms\x18\x03 \x01(\r\"\x1e\n\x0bPingCommand\x12\x0f\n\x07message\x18\x01 \x01(\t\"\x18\n\x16GetSessionStateCommand\"\x16\n\x14GetWorkerInfoCommand\"(\n\x12\x44rainEventsCommand\x12\x12\n\nmax_events\x18\x01 \x01(\r\"H\n\x15ShutdownWorkerCommand\x12/\n\x0cgrace_period\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x86\x0f\n\x0eMxCommandReply\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63orrelation_id\x18\x02 \x01(\t\x12\x30\n\x04kind\x18\x03 \x01(\x0e\x32\".mxaccess_gateway.v1.MxCommandKind\x12<\n\x0fprotocol_status\x18\x04 \x01(\x0b\x32#.mxaccess_gateway.v1.ProtocolStatus\x12\x14\n\x07hresult\x18\x05 \x01(\x05H\x01\x88\x01\x01\x12\x32\n\x0creturn_value\x18\x06 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x34\n\x08statuses\x18\x07 \x03(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x1a\n\x12\x64iagnostic_message\x18\x08 \x01(\t\x12\x36\n\x08register\x18\x14 \x01(\x0b\x32\".mxaccess_gateway.v1.RegisterReplyH\x00\x12\x35\n\x08\x61\x64\x64_item\x18\x15 \x01(\x0b\x32!.mxaccess_gateway.v1.AddItemReplyH\x00\x12\x37\n\tadd_item2\x18\x16 \x01(\x0b\x32\".mxaccess_gateway.v1.AddItem2ReplyH\x00\x12\x46\n\x11\x61\x64\x64_buffered_item\x18\x17 \x01(\x0b\x32).mxaccess_gateway.v1.AddBufferedItemReplyH\x00\x12\x34\n\x07suspend\x18\x18 \x01(\x0b\x32!.mxaccess_gateway.v1.SuspendReplyH\x00\x12\x36\n\x08\x61\x63tivate\x18\x19 \x01(\x0b\x32\".mxaccess_gateway.v1.ActivateReplyH\x00\x12G\n\x11\x61uthenticate_user\x18\x1a \x01(\x0b\x32*.mxaccess_gateway.v1.AuthenticateUserReplyH\x00\x12K\n\x14\x61rchestra_user_to_id\x18\x1b \x01(\x0b\x32+.mxaccess_gateway.v1.ArchestrAUserToIdReplyH\x00\x12@\n\radd_item_bulk\x18\x1c \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x43\n\x10\x61\x64vise_item_bulk\x18\x1d \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x43\n\x10remove_item_bulk\x18\x1e \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x46\n\x13un_advise_item_bulk\x18\x1f \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x41\n\x0esubscribe_bulk\x18 \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12\x43\n\x10unsubscribe_bulk\x18! \x01(\x0b\x32\'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00\x12N\n\x11\x61\x63knowledge_alarm\x18\" \x01(\x0b\x32\x31.mxaccess_gateway.v1.AcknowledgeAlarmReplyPayloadH\x00\x12Q\n\x13query_active_alarms\x18# \x01(\x0b\x32\x32.mxaccess_gateway.v1.QueryActiveAlarmsReplyPayloadH\x00\x12\x39\n\nwrite_bulk\x18$ \x01(\x0b\x32#.mxaccess_gateway.v1.BulkWriteReplyH\x00\x12:\n\x0bwrite2_bulk\x18% \x01(\x0b\x32#.mxaccess_gateway.v1.BulkWriteReplyH\x00\x12\x41\n\x12write_secured_bulk\x18& \x01(\x0b\x32#.mxaccess_gateway.v1.BulkWriteReplyH\x00\x12\x42\n\x13write_secured2_bulk\x18\' \x01(\x0b\x32#.mxaccess_gateway.v1.BulkWriteReplyH\x00\x12\x37\n\tread_bulk\x18( \x01(\x0b\x32\".mxaccess_gateway.v1.BulkReadReplyH\x00\x12?\n\rsession_state\x18\x64 \x01(\x0b\x32&.mxaccess_gateway.v1.SessionStateReplyH\x00\x12;\n\x0bworker_info\x18\x65 \x01(\x0b\x32$.mxaccess_gateway.v1.WorkerInfoReplyH\x00\x12=\n\x0c\x64rain_events\x18\x66 \x01(\x0b\x32%.mxaccess_gateway.v1.DrainEventsReplyH\x00\x42\t\n\x07payloadB\n\n\x08_hresult\"&\n\rRegisterReply\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\"#\n\x0c\x41\x64\x64ItemReply\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\"$\n\rAddItem2Reply\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\"+\n\x14\x41\x64\x64\x42ufferedItemReply\x12\x13\n\x0bitem_handle\x18\x01 \x01(\x05\"B\n\x0cSuspendReply\x12\x32\n\x06status\x18\x01 \x01(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\"C\n\rActivateReply\x12\x32\n\x06status\x18\x01 \x01(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\"(\n\x15\x41uthenticateUserReply\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\")\n\x16\x41rchestrAUserToIdReply\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\"\x81\x01\n\x0fSubscribeResult\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0btag_address\x18\x02 \x01(\t\x12\x13\n\x0bitem_handle\x18\x03 \x01(\x05\x12\x16\n\x0ewas_successful\x18\x04 \x01(\x08\x12\x15\n\rerror_message\x18\x05 \x01(\t\"K\n\x12\x42ulkSubscribeReply\x12\x35\n\x07results\x18\x01 \x03(\x0b\x32$.mxaccess_gateway.v1.SubscribeResult\"\xc4\x01\n\x0f\x42ulkWriteResult\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x02 \x01(\x05\x12\x16\n\x0ewas_successful\x18\x03 \x01(\x08\x12\x14\n\x07hresult\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x34\n\x08statuses\x18\x05 \x03(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x15\n\rerror_message\x18\x06 \x01(\tB\n\n\x08_hresult\"G\n\x0e\x42ulkWriteReply\x12\x35\n\x07results\x18\x01 \x03(\x0b\x32$.mxaccess_gateway.v1.BulkWriteResult\"\xbe\x02\n\x0e\x42ulkReadResult\x12\x15\n\rserver_handle\x18\x01 \x01(\x05\x12\x13\n\x0btag_address\x18\x02 \x01(\t\x12\x13\n\x0bitem_handle\x18\x03 \x01(\x05\x12\x16\n\x0ewas_successful\x18\x04 \x01(\x08\x12\x12\n\nwas_cached\x18\x05 \x01(\x08\x12+\n\x05value\x18\x06 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07quality\x18\x07 \x01(\x05\x12\x34\n\x10source_timestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x08statuses\x18\t \x03(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x15\n\rerror_message\x18\n \x01(\t\"E\n\rBulkReadReply\x12\x34\n\x07results\x18\x01 \x03(\x0b\x32#.mxaccess_gateway.v1.BulkReadResult\"E\n\x11SessionStateReply\x12\x30\n\x05state\x18\x01 \x01(\x0e\x32!.mxaccess_gateway.v1.SessionState\"u\n\x0fWorkerInfoReply\x12\x19\n\x11worker_process_id\x18\x01 \x01(\x05\x12\x16\n\x0eworker_version\x18\x02 \x01(\t\x12\x17\n\x0fmxaccess_progid\x18\x03 \x01(\t\x12\x16\n\x0emxaccess_clsid\x18\x04 \x01(\t\"@\n\x10\x44rainEventsReply\x12,\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1c.mxaccess_gateway.v1.MxEvent\"5\n\x1c\x41\x63knowledgeAlarmReplyPayload\x12\x15\n\rnative_status\x18\x01 \x01(\x05\"x\n\x1dQueryActiveAlarmsReplyPayload\x12;\n\tsnapshots\x18\x01 \x03(\x0b\x32(.mxaccess_gateway.v1.ActiveAlarmSnapshot\x12\x1a\n\x12snapshot_truncated\x18\x02 \x01(\x08\"\x8f\x08\n\x07MxEvent\x12\x32\n\x06\x66\x61mily\x18\x01 \x01(\x0e\x32\".mxaccess_gateway.v1.MxEventFamily\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x15\n\rserver_handle\x18\x03 \x01(\x05\x12\x13\n\x0bitem_handle\x18\x04 \x01(\x05\x12+\n\x05value\x18\x05 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x0f\n\x07quality\x18\x06 \x01(\x05\x12\x34\n\x10source_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x08statuses\x18\x08 \x03(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x17\n\x0fworker_sequence\x18\t \x01(\x04\x12\x34\n\x10worker_timestamp\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x19gateway_receive_timestamp\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x07hresult\x18\x0c \x01(\x05H\x01\x88\x01\x01\x12\x12\n\nraw_status\x18\r \x01(\t\x12\x37\n\nreplay_gap\x18\x0e \x01(\x0b\x32\x1e.mxaccess_gateway.v1.ReplayGapH\x02\x88\x01\x01\x12@\n\x0eon_data_change\x18\x14 \x01(\x0b\x32&.mxaccess_gateway.v1.OnDataChangeEventH\x00\x12\x46\n\x11on_write_complete\x18\x15 \x01(\x0b\x32).mxaccess_gateway.v1.OnWriteCompleteEventH\x00\x12I\n\x12operation_complete\x18\x16 \x01(\x0b\x32+.mxaccess_gateway.v1.OperationCompleteEventH\x00\x12Q\n\x17on_buffered_data_change\x18\x17 \x01(\x0b\x32..mxaccess_gateway.v1.OnBufferedDataChangeEventH\x00\x12J\n\x13on_alarm_transition\x18\x18 \x01(\x0b\x32+.mxaccess_gateway.v1.OnAlarmTransitionEventH\x00\x12^\n\x1eon_alarm_provider_mode_changed\x18\x19 \x01(\x0b\x32\x34.mxaccess_gateway.v1.OnAlarmProviderModeChangedEventH\x00\x42\x06\n\x04\x62odyB\n\n\x08_hresultB\r\n\x0b_replay_gap\"P\n\tReplayGap\x12 \n\x18requested_after_sequence\x18\x01 \x01(\x04\x12!\n\x19oldest_available_sequence\x18\x02 \x01(\x04\"\x13\n\x11OnDataChangeEvent\"\x16\n\x14OnWriteCompleteEvent\"\x18\n\x16OperationCompleteEvent\"\xd4\x01\n\x19OnBufferedDataChangeEvent\x12\x32\n\tdata_type\x18\x01 \x01(\x0e\x32\x1f.mxaccess_gateway.v1.MxDataType\x12\x34\n\x0equality_values\x18\x02 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxArray\x12\x36\n\x10timestamp_values\x18\x03 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxArray\x12\x15\n\rraw_data_type\x18\x04 \x01(\x05\"\xd0\x04\n\x16OnAlarmTransitionEvent\x12\x1c\n\x14\x61larm_full_reference\x18\x01 \x01(\t\x12\x1f\n\x17source_object_reference\x18\x02 \x01(\t\x12\x17\n\x0f\x61larm_type_name\x18\x03 \x01(\t\x12\x41\n\x0ftransition_kind\x18\x04 \x01(\x0e\x32(.mxaccess_gateway.v1.AlarmTransitionKind\x12\x10\n\x08severity\x18\x05 \x01(\x05\x12<\n\x18original_raise_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14transition_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\roperator_user\x18\x08 \x01(\t\x12\x18\n\x10operator_comment\x18\t \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x0b \x01(\t\x12\x33\n\rcurrent_value\x18\x0c \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x31\n\x0blimit_value\x18\r \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x10\n\x08\x64\x65graded\x18\x0e \x01(\x08\x12?\n\x0fsource_provider\x18\x0f \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\"\xa0\x01\n\x1fOnAlarmProviderModeChangedEvent\x12\x34\n\x04mode\x18\x01 \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0f\n\x07hresult\x18\x03 \x01(\x05\x12&\n\x02\x61t\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xf1\x04\n\x13\x41\x63tiveAlarmSnapshot\x12\x1c\n\x14\x61larm_full_reference\x18\x01 \x01(\t\x12\x1f\n\x17source_object_reference\x18\x02 \x01(\t\x12\x17\n\x0f\x61larm_type_name\x18\x03 \x01(\t\x12\x10\n\x08severity\x18\x04 \x01(\x05\x12<\n\x18original_raise_timestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12?\n\rcurrent_state\x18\x06 \x01(\x0e\x32(.mxaccess_gateway.v1.AlarmConditionState\x12\x10\n\x08\x63\x61tegory\x18\x07 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12=\n\x19last_transition_timestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\roperator_user\x18\n \x01(\t\x12\x18\n\x10operator_comment\x18\x0b \x01(\t\x12\x33\n\rcurrent_value\x18\x0c \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x31\n\x0blimit_value\x18\r \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\x12\x10\n\x08\x64\x65graded\x18\x0e \x01(\x08\x12?\n\x0fsource_provider\x18\x0f \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\x12\x1f\n\x17\x66rom_truncated_snapshot\x18\x10 \x01(\x08\"\x90\x01\n\x17\x41\x63knowledgeAlarmRequest\x12\x1d\n\x15\x63lient_correlation_id\x18\x02 \x01(\t\x12\x1c\n\x14\x61larm_full_reference\x18\x03 \x01(\t\x12\x0f\n\x07\x63omment\x18\x04 \x01(\t\x12\x15\n\roperator_user\x18\x05 \x01(\tJ\x04\x08\x01\x10\x02R\nsession_id\"\xf1\x01\n\x15\x41\x63knowledgeAlarmReply\x12\x16\n\x0e\x63orrelation_id\x18\x02 \x01(\t\x12<\n\x0fprotocol_status\x18\x03 \x01(\x0b\x32#.mxaccess_gateway.v1.ProtocolStatus\x12\x14\n\x07hresult\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x32\n\x06status\x18\x05 \x01(\x0b\x32\".mxaccess_gateway.v1.MxStatusProxy\x12\x1a\n\x12\x64iagnostic_message\x18\x06 \x01(\tB\n\n\x08_hresultJ\x04\x08\x01\x10\x02R\nsession_id\"Q\n\x13StreamAlarmsRequest\x12\x1d\n\x15\x63lient_correlation_id\x18\x01 \x01(\t\x12\x1b\n\x13\x61larm_filter_prefix\x18\x02 \x01(\t\"\x84\x02\n\x10\x41larmFeedMessage\x12@\n\x0c\x61\x63tive_alarm\x18\x01 \x01(\x0b\x32(.mxaccess_gateway.v1.ActiveAlarmSnapshotH\x00\x12\x1b\n\x11snapshot_complete\x18\x02 \x01(\x08H\x00\x12\x41\n\ntransition\x18\x03 \x01(\x0b\x32+.mxaccess_gateway.v1.OnAlarmTransitionEventH\x00\x12\x43\n\x0fprovider_status\x18\x04 \x01(\x0b\x32(.mxaccess_gateway.v1.AlarmProviderStatusH\x00\x42\t\n\x07payload\"\x98\x01\n\x13\x41larmProviderStatus\x12\x34\n\x04mode\x18\x01 \x01(\x0e\x32&.mxaccess_gateway.v1.AlarmProviderMode\x12\x10\n\x08\x64\x65graded\x18\x02 \x01(\x08\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12)\n\x05since\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xeb\x01\n\rMxStatusProxy\x12\x0f\n\x07success\x18\x01 \x01(\x05\x12\x37\n\x08\x63\x61tegory\x18\x02 \x01(\x0e\x32%.mxaccess_gateway.v1.MxStatusCategory\x12\x38\n\x0b\x64\x65tected_by\x18\x03 \x01(\x0e\x32#.mxaccess_gateway.v1.MxStatusSource\x12\x0e\n\x06\x64\x65tail\x18\x04 \x01(\x05\x12\x14\n\x0craw_category\x18\x05 \x01(\x05\x12\x17\n\x0fraw_detected_by\x18\x06 \x01(\x05\x12\x17\n\x0f\x64iagnostic_text\x18\x07 \x01(\t\"\xe9\x03\n\x07MxValue\x12\x32\n\tdata_type\x18\x01 \x01(\x0e\x32\x1f.mxaccess_gateway.v1.MxDataType\x12\x14\n\x0cvariant_type\x18\x02 \x01(\t\x12\x0f\n\x07is_null\x18\x03 \x01(\x08\x12\x16\n\x0eraw_diagnostic\x18\x04 \x01(\t\x12\x15\n\rraw_data_type\x18\x05 \x01(\x05\x12\x14\n\nbool_value\x18\n \x01(\x08H\x00\x12\x15\n\x0bint32_value\x18\x0b \x01(\x05H\x00\x12\x15\n\x0bint64_value\x18\x0c \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\r \x01(\x02H\x00\x12\x16\n\x0c\x64ouble_value\x18\x0e \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x0f \x01(\tH\x00\x12\x35\n\x0ftimestamp_value\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x33\n\x0b\x61rray_value\x18\x11 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxArrayH\x00\x12\x13\n\traw_value\x18\x12 \x01(\x0cH\x00\x12@\n\x12sparse_array_value\x18\x13 \x01(\x0b\x32\".mxaccess_gateway.v1.MxSparseArrayH\x00\x42\x06\n\x04kind\"\xfe\x04\n\x07MxArray\x12:\n\x11\x65lement_data_type\x18\x01 \x01(\x0e\x32\x1f.mxaccess_gateway.v1.MxDataType\x12\x14\n\x0cvariant_type\x18\x02 \x01(\t\x12\x12\n\ndimensions\x18\x03 \x03(\r\x12\x16\n\x0eraw_diagnostic\x18\x04 \x01(\t\x12\x1d\n\x15raw_element_data_type\x18\x05 \x01(\x05\x12\x35\n\x0b\x62ool_values\x18\n \x01(\x0b\x32\x1e.mxaccess_gateway.v1.BoolArrayH\x00\x12\x37\n\x0cint32_values\x18\x0b \x01(\x0b\x32\x1f.mxaccess_gateway.v1.Int32ArrayH\x00\x12\x37\n\x0cint64_values\x18\x0c \x01(\x0b\x32\x1f.mxaccess_gateway.v1.Int64ArrayH\x00\x12\x37\n\x0c\x66loat_values\x18\r \x01(\x0b\x32\x1f.mxaccess_gateway.v1.FloatArrayH\x00\x12\x39\n\rdouble_values\x18\x0e \x01(\x0b\x32 .mxaccess_gateway.v1.DoubleArrayH\x00\x12\x39\n\rstring_values\x18\x0f \x01(\x0b\x32 .mxaccess_gateway.v1.StringArrayH\x00\x12?\n\x10timestamp_values\x18\x10 \x01(\x0b\x32#.mxaccess_gateway.v1.TimestampArrayH\x00\x12\x33\n\nraw_values\x18\x11 \x01(\x0b\x32\x1d.mxaccess_gateway.v1.RawArrayH\x00\x42\x08\n\x06values\"\x99\x01\n\rMxSparseArray\x12:\n\x11\x65lement_data_type\x18\x01 \x01(\x0e\x32\x1f.mxaccess_gateway.v1.MxDataType\x12\x14\n\x0ctotal_length\x18\x02 \x01(\r\x12\x36\n\x08\x65lements\x18\x03 \x03(\x0b\x32$.mxaccess_gateway.v1.MxSparseElement\"M\n\x0fMxSparseElement\x12\r\n\x05index\x18\x01 \x01(\r\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.mxaccess_gateway.v1.MxValue\"\x1b\n\tBoolArray\x12\x0e\n\x06values\x18\x01 \x03(\x08\"\x1c\n\nInt32Array\x12\x0e\n\x06values\x18\x01 \x03(\x05\"\x1c\n\nInt64Array\x12\x0e\n\x06values\x18\x01 \x03(\x03\"\x1c\n\nFloatArray\x12\x0e\n\x06values\x18\x01 \x03(\x02\"\x1d\n\x0b\x44oubleArray\x12\x0e\n\x06values\x18\x01 \x03(\x01\"\x1d\n\x0bStringArray\x12\x0e\n\x06values\x18\x01 \x03(\t\"<\n\x0eTimestampArray\x12*\n\x06values\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\"\x1a\n\x08RawArray\x12\x0e\n\x06values\x18\x01 \x03(\x0c\"X\n\x0eProtocolStatus\x12\x35\n\x04\x63ode\x18\x01 \x01(\x0e\x32\'.mxaccess_gateway.v1.ProtocolStatusCode\x12\x0f\n\x07message\x18\x02 \x01(\t*\x9f\x0b\n\rMxCommandKind\x12\x1f\n\x1bMX_COMMAND_KIND_UNSPECIFIED\x10\x00\x12\x1c\n\x18MX_COMMAND_KIND_REGISTER\x10\x01\x12\x1e\n\x1aMX_COMMAND_KIND_UNREGISTER\x10\x02\x12\x1c\n\x18MX_COMMAND_KIND_ADD_ITEM\x10\x03\x12\x1d\n\x19MX_COMMAND_KIND_ADD_ITEM2\x10\x04\x12\x1f\n\x1bMX_COMMAND_KIND_REMOVE_ITEM\x10\x05\x12\x1a\n\x16MX_COMMAND_KIND_ADVISE\x10\x06\x12\x1d\n\x19MX_COMMAND_KIND_UN_ADVISE\x10\x07\x12&\n\"MX_COMMAND_KIND_ADVISE_SUPERVISORY\x10\x08\x12%\n!MX_COMMAND_KIND_ADD_BUFFERED_ITEM\x10\t\x12\x30\n,MX_COMMAND_KIND_SET_BUFFERED_UPDATE_INTERVAL\x10\n\x12\x1b\n\x17MX_COMMAND_KIND_SUSPEND\x10\x0b\x12\x1c\n\x18MX_COMMAND_KIND_ACTIVATE\x10\x0c\x12\x19\n\x15MX_COMMAND_KIND_WRITE\x10\r\x12\x1a\n\x16MX_COMMAND_KIND_WRITE2\x10\x0e\x12!\n\x1dMX_COMMAND_KIND_WRITE_SECURED\x10\x0f\x12\"\n\x1eMX_COMMAND_KIND_WRITE_SECURED2\x10\x10\x12%\n!MX_COMMAND_KIND_AUTHENTICATE_USER\x10\x11\x12(\n$MX_COMMAND_KIND_ARCHESTRA_USER_TO_ID\x10\x12\x12!\n\x1dMX_COMMAND_KIND_ADD_ITEM_BULK\x10\x13\x12$\n MX_COMMAND_KIND_ADVISE_ITEM_BULK\x10\x14\x12$\n MX_COMMAND_KIND_REMOVE_ITEM_BULK\x10\x15\x12\'\n#MX_COMMAND_KIND_UN_ADVISE_ITEM_BULK\x10\x16\x12\"\n\x1eMX_COMMAND_KIND_SUBSCRIBE_BULK\x10\x17\x12$\n MX_COMMAND_KIND_UNSUBSCRIBE_BULK\x10\x18\x12$\n MX_COMMAND_KIND_SUBSCRIBE_ALARMS\x10\x19\x12&\n\"MX_COMMAND_KIND_UNSUBSCRIBE_ALARMS\x10\x1a\x12%\n!MX_COMMAND_KIND_ACKNOWLEDGE_ALARM\x10\x1b\x12\'\n#MX_COMMAND_KIND_QUERY_ACTIVE_ALARMS\x10\x1c\x12-\n)MX_COMMAND_KIND_ACKNOWLEDGE_ALARM_BY_NAME\x10\x1d\x12\x1e\n\x1aMX_COMMAND_KIND_WRITE_BULK\x10\x1e\x12\x1f\n\x1bMX_COMMAND_KIND_WRITE2_BULK\x10\x1f\x12&\n\"MX_COMMAND_KIND_WRITE_SECURED_BULK\x10 \x12\'\n#MX_COMMAND_KIND_WRITE_SECURED2_BULK\x10!\x12\x1d\n\x19MX_COMMAND_KIND_READ_BULK\x10\"\x12\x18\n\x14MX_COMMAND_KIND_PING\x10\x64\x12%\n!MX_COMMAND_KIND_GET_SESSION_STATE\x10\x65\x12#\n\x1fMX_COMMAND_KIND_GET_WORKER_INFO\x10\x66\x12 \n\x1cMX_COMMAND_KIND_DRAIN_EVENTS\x10g\x12#\n\x1fMX_COMMAND_KIND_SHUTDOWN_WORKER\x10h*z\n\x11\x41larmProviderMode\x12#\n\x1f\x41LARM_PROVIDER_MODE_UNSPECIFIED\x10\x00\x12 \n\x1c\x41LARM_PROVIDER_MODE_ALARMMGR\x10\x01\x12\x1e\n\x1a\x41LARM_PROVIDER_MODE_SUBTAG\x10\x02*\xad\x02\n\rMxEventFamily\x12\x1f\n\x1bMX_EVENT_FAMILY_UNSPECIFIED\x10\x00\x12\"\n\x1eMX_EVENT_FAMILY_ON_DATA_CHANGE\x10\x01\x12%\n!MX_EVENT_FAMILY_ON_WRITE_COMPLETE\x10\x02\x12&\n\"MX_EVENT_FAMILY_OPERATION_COMPLETE\x10\x03\x12+\n\'MX_EVENT_FAMILY_ON_BUFFERED_DATA_CHANGE\x10\x04\x12\'\n#MX_EVENT_FAMILY_ON_ALARM_TRANSITION\x10\x05\x12\x32\n.MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED\x10\x06*\xca\x01\n\x13\x41larmTransitionKind\x12%\n!ALARM_TRANSITION_KIND_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41LARM_TRANSITION_KIND_RAISE\x10\x01\x12%\n!ALARM_TRANSITION_KIND_ACKNOWLEDGE\x10\x02\x12\x1f\n\x1b\x41LARM_TRANSITION_KIND_CLEAR\x10\x03\x12#\n\x1f\x41LARM_TRANSITION_KIND_RETRIGGER\x10\x04*\xaa\x01\n\x13\x41larmConditionState\x12%\n!ALARM_CONDITION_STATE_UNSPECIFIED\x10\x00\x12 \n\x1c\x41LARM_CONDITION_STATE_ACTIVE\x10\x01\x12&\n\"ALARM_CONDITION_STATE_ACTIVE_ACKED\x10\x02\x12\"\n\x1e\x41LARM_CONDITION_STATE_INACTIVE\x10\x03*\xa5\x03\n\x10MxStatusCategory\x12\"\n\x1eMX_STATUS_CATEGORY_UNSPECIFIED\x10\x00\x12\x1e\n\x1aMX_STATUS_CATEGORY_UNKNOWN\x10\x01\x12\x19\n\x15MX_STATUS_CATEGORY_OK\x10\x02\x12\x1e\n\x1aMX_STATUS_CATEGORY_PENDING\x10\x03\x12\x1e\n\x1aMX_STATUS_CATEGORY_WARNING\x10\x04\x12*\n&MX_STATUS_CATEGORY_COMMUNICATION_ERROR\x10\x05\x12*\n&MX_STATUS_CATEGORY_CONFIGURATION_ERROR\x10\x06\x12(\n$MX_STATUS_CATEGORY_OPERATIONAL_ERROR\x10\x07\x12%\n!MX_STATUS_CATEGORY_SECURITY_ERROR\x10\x08\x12%\n!MX_STATUS_CATEGORY_SOFTWARE_ERROR\x10\t\x12\"\n\x1eMX_STATUS_CATEGORY_OTHER_ERROR\x10\n*\xca\x02\n\x0eMxStatusSource\x12 \n\x1cMX_STATUS_SOURCE_UNSPECIFIED\x10\x00\x12\x1c\n\x18MX_STATUS_SOURCE_UNKNOWN\x10\x01\x12#\n\x1fMX_STATUS_SOURCE_REQUESTING_LMX\x10\x02\x12#\n\x1fMX_STATUS_SOURCE_RESPONDING_LMX\x10\x03\x12#\n\x1fMX_STATUS_SOURCE_REQUESTING_NMX\x10\x04\x12#\n\x1fMX_STATUS_SOURCE_RESPONDING_NMX\x10\x05\x12\x31\n-MX_STATUS_SOURCE_REQUESTING_AUTOMATION_OBJECT\x10\x06\x12\x31\n-MX_STATUS_SOURCE_RESPONDING_AUTOMATION_OBJECT\x10\x07*\xdd\x04\n\nMxDataType\x12\x1c\n\x18MX_DATA_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14MX_DATA_TYPE_UNKNOWN\x10\x01\x12\x18\n\x14MX_DATA_TYPE_NO_DATA\x10\x02\x12\x18\n\x14MX_DATA_TYPE_BOOLEAN\x10\x03\x12\x18\n\x14MX_DATA_TYPE_INTEGER\x10\x04\x12\x16\n\x12MX_DATA_TYPE_FLOAT\x10\x05\x12\x17\n\x13MX_DATA_TYPE_DOUBLE\x10\x06\x12\x17\n\x13MX_DATA_TYPE_STRING\x10\x07\x12\x15\n\x11MX_DATA_TYPE_TIME\x10\x08\x12\x1d\n\x19MX_DATA_TYPE_ELAPSED_TIME\x10\t\x12\x1f\n\x1bMX_DATA_TYPE_REFERENCE_TYPE\x10\n\x12\x1c\n\x18MX_DATA_TYPE_STATUS_TYPE\x10\x0b\x12\x15\n\x11MX_DATA_TYPE_ENUM\x10\x0c\x12-\n)MX_DATA_TYPE_SECURITY_CLASSIFICATION_ENUM\x10\r\x12\"\n\x1eMX_DATA_TYPE_DATA_QUALITY_TYPE\x10\x0e\x12\x1f\n\x1bMX_DATA_TYPE_QUALIFIED_ENUM\x10\x0f\x12!\n\x1dMX_DATA_TYPE_QUALIFIED_STRUCT\x10\x10\x12)\n%MX_DATA_TYPE_INTERNATIONALIZED_STRING\x10\x11\x12\x1b\n\x17MX_DATA_TYPE_BIG_STRING\x10\x12\x12\x14\n\x10MX_DATA_TYPE_END\x10\x13*\xa3\x03\n\x12ProtocolStatusCode\x12$\n PROTOCOL_STATUS_CODE_UNSPECIFIED\x10\x00\x12\x1b\n\x17PROTOCOL_STATUS_CODE_OK\x10\x01\x12(\n$PROTOCOL_STATUS_CODE_INVALID_REQUEST\x10\x02\x12*\n&PROTOCOL_STATUS_CODE_SESSION_NOT_FOUND\x10\x03\x12*\n&PROTOCOL_STATUS_CODE_SESSION_NOT_READY\x10\x04\x12+\n\'PROTOCOL_STATUS_CODE_WORKER_UNAVAILABLE\x10\x05\x12 \n\x1cPROTOCOL_STATUS_CODE_TIMEOUT\x10\x06\x12!\n\x1dPROTOCOL_STATUS_CODE_CANCELED\x10\x07\x12+\n\'PROTOCOL_STATUS_CODE_PROTOCOL_VIOLATION\x10\x08\x12)\n%PROTOCOL_STATUS_CODE_MXACCESS_FAILURE\x10\t*\xbf\x02\n\x0cSessionState\x12\x1d\n\x19SESSION_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16SESSION_STATE_CREATING\x10\x01\x12!\n\x1dSESSION_STATE_STARTING_WORKER\x10\x02\x12\"\n\x1eSESSION_STATE_WAITING_FOR_PIPE\x10\x03\x12\x1d\n\x19SESSION_STATE_HANDSHAKING\x10\x04\x12%\n!SESSION_STATE_INITIALIZING_WORKER\x10\x05\x12\x17\n\x13SESSION_STATE_READY\x10\x06\x12\x19\n\x15SESSION_STATE_CLOSING\x10\x07\x12\x18\n\x14SESSION_STATE_CLOSED\x10\x08\x12\x19\n\x15SESSION_STATE_FAULTED\x10\t2\xc3\x05\n\x0fMxAccessGateway\x12]\n\x0bOpenSession\x12\'.mxaccess_gateway.v1.OpenSessionRequest\x1a%.mxaccess_gateway.v1.OpenSessionReply\x12`\n\x0c\x43loseSession\x12(.mxaccess_gateway.v1.CloseSessionRequest\x1a&.mxaccess_gateway.v1.CloseSessionReply\x12T\n\x06Invoke\x12%.mxaccess_gateway.v1.MxCommandRequest\x1a#.mxaccess_gateway.v1.MxCommandReply\x12X\n\x0cStreamEvents\x12(.mxaccess_gateway.v1.StreamEventsRequest\x1a\x1c.mxaccess_gateway.v1.MxEvent0\x01\x12l\n\x10\x41\x63knowledgeAlarm\x12,.mxaccess_gateway.v1.AcknowledgeAlarmRequest\x1a*.mxaccess_gateway.v1.AcknowledgeAlarmReply\x12\x61\n\x0cStreamAlarms\x12(.mxaccess_gateway.v1.StreamAlarmsRequest\x1a%.mxaccess_gateway.v1.AlarmFeedMessage0\x01\x12n\n\x11QueryActiveAlarms\x12-.mxaccess_gateway.v1.QueryActiveAlarmsRequest\x1a(.mxaccess_gateway.v1.ActiveAlarmSnapshot0\x01\x42&\xaa\x02#ZB.MOM.WW.MxGateway.Contracts.Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,26 +34,26 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'mxaccess_gateway_pb2', _glo if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002#ZB.MOM.WW.MxGateway.Contracts.Proto' - _globals['_MXCOMMANDKIND']._serialized_start=17502 - _globals['_MXCOMMANDKIND']._serialized_end=18941 - _globals['_ALARMPROVIDERMODE']._serialized_start=18943 - _globals['_ALARMPROVIDERMODE']._serialized_end=19065 - _globals['_MXEVENTFAMILY']._serialized_start=19068 - _globals['_MXEVENTFAMILY']._serialized_end=19369 - _globals['_ALARMTRANSITIONKIND']._serialized_start=19372 - _globals['_ALARMTRANSITIONKIND']._serialized_end=19574 - _globals['_ALARMCONDITIONSTATE']._serialized_start=19577 - _globals['_ALARMCONDITIONSTATE']._serialized_end=19747 - _globals['_MXSTATUSCATEGORY']._serialized_start=19750 - _globals['_MXSTATUSCATEGORY']._serialized_end=20171 - _globals['_MXSTATUSSOURCE']._serialized_start=20174 - _globals['_MXSTATUSSOURCE']._serialized_end=20504 - _globals['_MXDATATYPE']._serialized_start=20507 - _globals['_MXDATATYPE']._serialized_end=21112 - _globals['_PROTOCOLSTATUSCODE']._serialized_start=21115 - _globals['_PROTOCOLSTATUSCODE']._serialized_end=21534 - _globals['_SESSIONSTATE']._serialized_start=21537 - _globals['_SESSIONSTATE']._serialized_end=21856 + _globals['_MXCOMMANDKIND']._serialized_start=17563 + _globals['_MXCOMMANDKIND']._serialized_end=19002 + _globals['_ALARMPROVIDERMODE']._serialized_start=19004 + _globals['_ALARMPROVIDERMODE']._serialized_end=19126 + _globals['_MXEVENTFAMILY']._serialized_start=19129 + _globals['_MXEVENTFAMILY']._serialized_end=19430 + _globals['_ALARMTRANSITIONKIND']._serialized_start=19433 + _globals['_ALARMTRANSITIONKIND']._serialized_end=19635 + _globals['_ALARMCONDITIONSTATE']._serialized_start=19638 + _globals['_ALARMCONDITIONSTATE']._serialized_end=19808 + _globals['_MXSTATUSCATEGORY']._serialized_start=19811 + _globals['_MXSTATUSCATEGORY']._serialized_end=20232 + _globals['_MXSTATUSSOURCE']._serialized_start=20235 + _globals['_MXSTATUSSOURCE']._serialized_end=20565 + _globals['_MXDATATYPE']._serialized_start=20568 + _globals['_MXDATATYPE']._serialized_end=21173 + _globals['_PROTOCOLSTATUSCODE']._serialized_start=21176 + _globals['_PROTOCOLSTATUSCODE']._serialized_end=21595 + _globals['_SESSIONSTATE']._serialized_start=21598 + _globals['_SESSIONSTATE']._serialized_end=21917 _globals['_QUERYACTIVEALARMSREQUEST']._serialized_start=112 _globals['_QUERYACTIVEALARMSREQUEST']._serialized_end=218 _globals['_OPENSESSIONREQUEST']._serialized_start=221 @@ -199,63 +199,63 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['_ACKNOWLEDGEALARMREPLYPAYLOAD']._serialized_start=11730 _globals['_ACKNOWLEDGEALARMREPLYPAYLOAD']._serialized_end=11783 _globals['_QUERYACTIVEALARMSREPLYPAYLOAD']._serialized_start=11785 - _globals['_QUERYACTIVEALARMSREPLYPAYLOAD']._serialized_end=11877 - _globals['_MXEVENT']._serialized_start=11880 - _globals['_MXEVENT']._serialized_end=12919 - _globals['_REPLAYGAP']._serialized_start=12921 - _globals['_REPLAYGAP']._serialized_end=13001 - _globals['_ONDATACHANGEEVENT']._serialized_start=13003 - _globals['_ONDATACHANGEEVENT']._serialized_end=13022 - _globals['_ONWRITECOMPLETEEVENT']._serialized_start=13024 - _globals['_ONWRITECOMPLETEEVENT']._serialized_end=13046 - _globals['_OPERATIONCOMPLETEEVENT']._serialized_start=13048 - _globals['_OPERATIONCOMPLETEEVENT']._serialized_end=13072 - _globals['_ONBUFFEREDDATACHANGEEVENT']._serialized_start=13075 - _globals['_ONBUFFEREDDATACHANGEEVENT']._serialized_end=13287 - _globals['_ONALARMTRANSITIONEVENT']._serialized_start=13290 - _globals['_ONALARMTRANSITIONEVENT']._serialized_end=13882 - _globals['_ONALARMPROVIDERMODECHANGEDEVENT']._serialized_start=13885 - _globals['_ONALARMPROVIDERMODECHANGEDEVENT']._serialized_end=14045 - _globals['_ACTIVEALARMSNAPSHOT']._serialized_start=14048 - _globals['_ACTIVEALARMSNAPSHOT']._serialized_end=14640 - _globals['_ACKNOWLEDGEALARMREQUEST']._serialized_start=14643 - _globals['_ACKNOWLEDGEALARMREQUEST']._serialized_end=14787 - _globals['_ACKNOWLEDGEALARMREPLY']._serialized_start=14790 - _globals['_ACKNOWLEDGEALARMREPLY']._serialized_end=15031 - _globals['_STREAMALARMSREQUEST']._serialized_start=15033 - _globals['_STREAMALARMSREQUEST']._serialized_end=15114 - _globals['_ALARMFEEDMESSAGE']._serialized_start=15117 - _globals['_ALARMFEEDMESSAGE']._serialized_end=15377 - _globals['_ALARMPROVIDERSTATUS']._serialized_start=15380 - _globals['_ALARMPROVIDERSTATUS']._serialized_end=15532 - _globals['_MXSTATUSPROXY']._serialized_start=15535 - _globals['_MXSTATUSPROXY']._serialized_end=15770 - _globals['_MXVALUE']._serialized_start=15773 - _globals['_MXVALUE']._serialized_end=16262 - _globals['_MXARRAY']._serialized_start=16265 - _globals['_MXARRAY']._serialized_end=16903 - _globals['_MXSPARSEARRAY']._serialized_start=16906 - _globals['_MXSPARSEARRAY']._serialized_end=17059 - _globals['_MXSPARSEELEMENT']._serialized_start=17061 - _globals['_MXSPARSEELEMENT']._serialized_end=17138 - _globals['_BOOLARRAY']._serialized_start=17140 - _globals['_BOOLARRAY']._serialized_end=17167 - _globals['_INT32ARRAY']._serialized_start=17169 - _globals['_INT32ARRAY']._serialized_end=17197 - _globals['_INT64ARRAY']._serialized_start=17199 - _globals['_INT64ARRAY']._serialized_end=17227 - _globals['_FLOATARRAY']._serialized_start=17229 - _globals['_FLOATARRAY']._serialized_end=17257 - _globals['_DOUBLEARRAY']._serialized_start=17259 - _globals['_DOUBLEARRAY']._serialized_end=17288 - _globals['_STRINGARRAY']._serialized_start=17290 - _globals['_STRINGARRAY']._serialized_end=17319 - _globals['_TIMESTAMPARRAY']._serialized_start=17321 - _globals['_TIMESTAMPARRAY']._serialized_end=17381 - _globals['_RAWARRAY']._serialized_start=17383 - _globals['_RAWARRAY']._serialized_end=17409 - _globals['_PROTOCOLSTATUS']._serialized_start=17411 - _globals['_PROTOCOLSTATUS']._serialized_end=17499 - _globals['_MXACCESSGATEWAY']._serialized_start=21859 - _globals['_MXACCESSGATEWAY']._serialized_end=22566 + _globals['_QUERYACTIVEALARMSREPLYPAYLOAD']._serialized_end=11905 + _globals['_MXEVENT']._serialized_start=11908 + _globals['_MXEVENT']._serialized_end=12947 + _globals['_REPLAYGAP']._serialized_start=12949 + _globals['_REPLAYGAP']._serialized_end=13029 + _globals['_ONDATACHANGEEVENT']._serialized_start=13031 + _globals['_ONDATACHANGEEVENT']._serialized_end=13050 + _globals['_ONWRITECOMPLETEEVENT']._serialized_start=13052 + _globals['_ONWRITECOMPLETEEVENT']._serialized_end=13074 + _globals['_OPERATIONCOMPLETEEVENT']._serialized_start=13076 + _globals['_OPERATIONCOMPLETEEVENT']._serialized_end=13100 + _globals['_ONBUFFEREDDATACHANGEEVENT']._serialized_start=13103 + _globals['_ONBUFFEREDDATACHANGEEVENT']._serialized_end=13315 + _globals['_ONALARMTRANSITIONEVENT']._serialized_start=13318 + _globals['_ONALARMTRANSITIONEVENT']._serialized_end=13910 + _globals['_ONALARMPROVIDERMODECHANGEDEVENT']._serialized_start=13913 + _globals['_ONALARMPROVIDERMODECHANGEDEVENT']._serialized_end=14073 + _globals['_ACTIVEALARMSNAPSHOT']._serialized_start=14076 + _globals['_ACTIVEALARMSNAPSHOT']._serialized_end=14701 + _globals['_ACKNOWLEDGEALARMREQUEST']._serialized_start=14704 + _globals['_ACKNOWLEDGEALARMREQUEST']._serialized_end=14848 + _globals['_ACKNOWLEDGEALARMREPLY']._serialized_start=14851 + _globals['_ACKNOWLEDGEALARMREPLY']._serialized_end=15092 + _globals['_STREAMALARMSREQUEST']._serialized_start=15094 + _globals['_STREAMALARMSREQUEST']._serialized_end=15175 + _globals['_ALARMFEEDMESSAGE']._serialized_start=15178 + _globals['_ALARMFEEDMESSAGE']._serialized_end=15438 + _globals['_ALARMPROVIDERSTATUS']._serialized_start=15441 + _globals['_ALARMPROVIDERSTATUS']._serialized_end=15593 + _globals['_MXSTATUSPROXY']._serialized_start=15596 + _globals['_MXSTATUSPROXY']._serialized_end=15831 + _globals['_MXVALUE']._serialized_start=15834 + _globals['_MXVALUE']._serialized_end=16323 + _globals['_MXARRAY']._serialized_start=16326 + _globals['_MXARRAY']._serialized_end=16964 + _globals['_MXSPARSEARRAY']._serialized_start=16967 + _globals['_MXSPARSEARRAY']._serialized_end=17120 + _globals['_MXSPARSEELEMENT']._serialized_start=17122 + _globals['_MXSPARSEELEMENT']._serialized_end=17199 + _globals['_BOOLARRAY']._serialized_start=17201 + _globals['_BOOLARRAY']._serialized_end=17228 + _globals['_INT32ARRAY']._serialized_start=17230 + _globals['_INT32ARRAY']._serialized_end=17258 + _globals['_INT64ARRAY']._serialized_start=17260 + _globals['_INT64ARRAY']._serialized_end=17288 + _globals['_FLOATARRAY']._serialized_start=17290 + _globals['_FLOATARRAY']._serialized_end=17318 + _globals['_DOUBLEARRAY']._serialized_start=17320 + _globals['_DOUBLEARRAY']._serialized_end=17349 + _globals['_STRINGARRAY']._serialized_start=17351 + _globals['_STRINGARRAY']._serialized_end=17380 + _globals['_TIMESTAMPARRAY']._serialized_start=17382 + _globals['_TIMESTAMPARRAY']._serialized_end=17442 + _globals['_RAWARRAY']._serialized_start=17444 + _globals['_RAWARRAY']._serialized_end=17470 + _globals['_PROTOCOLSTATUS']._serialized_start=17472 + _globals['_PROTOCOLSTATUS']._serialized_end=17560 + _globals['_MXACCESSGATEWAY']._serialized_start=21920 + _globals['_MXACCESSGATEWAY']._serialized_end=22627 # @@protoc_insertion_point(module_scope) diff --git a/clients/rust/README.md b/clients/rust/README.md index c60c8bd..43b9684 100644 --- a/clients/rust/README.md +++ b/clients/rust/README.md @@ -121,8 +121,16 @@ creates an authenticated `tonic` client and attaches `authorization: Bearer `close_session_raw`, `invoke_raw`, `stream_events`, `query_active_alarms`, `stream_alarms`, `acknowledge_alarm`, and `raw_client`. `stream_alarms` returns an `AlarmFeedStream` async stream of alarm-feed messages and -shares the gateway's central alarm monitor with every other client. The -session helpers keep MXAccess handles visible: +shares the gateway's central alarm monitor with every other client. + +`ActiveAlarmSnapshot::from_truncated_snapshot` reports that the record came from +a provider fetch which hit the per-fetch cap: the snapshot set may omit active +alarms, and the gateway suspended its absence-implies-cleared inference for that +poll. Treat the set as possibly incomplete rather than reconciling deletions +from it. It is set-level degraded status, not a comment on the record's own +fidelity, and is distinct from `degraded` (the subtag fallback provider). + +The session helpers keep MXAccess handles visible: ```rust let session = client.open_session(request).await?; diff --git a/clients/rust/protos/mxaccess_gateway.proto b/clients/rust/protos/mxaccess_gateway.proto index db5fb4f..0ee3fb2 100644 --- a/clients/rust/protos/mxaccess_gateway.proto +++ b/clients/rust/protos/mxaccess_gateway.proto @@ -726,6 +726,13 @@ message AcknowledgeAlarmReplyPayload { // stream. message QueryActiveAlarmsReplyPayload { repeated ActiveAlarmSnapshot snapshots = 1; + // True when the provider fetch backing this reply came back holding the + // per-fetch cap (MxGateway:Alarms:MaxAlarmsPerFetch). The reply may then omit + // active alarms, and the worker suspends its absence-implies-Clear inference + // for that poll — so a reference missing from `snapshots` is not evidence the + // alarm cleared. Carried on the payload as well as per-record because a + // truncated fetch that filters down to zero records still has to say so. + bool snapshot_truncated = 2; } message MxEvent { @@ -932,6 +939,16 @@ message ActiveAlarmSnapshot { // OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the // wire (never UNSPECIFIED). AlarmProviderMode source_provider = 15; + // True when the provider fetch that produced this snapshot hit the per-fetch + // cap: the snapshot set may omit active alarms, and the worker suspended its + // absence-implies-Clear inference for that poll. Says nothing about THIS + // record's fidelity — the record is as accurate as any other; it flags that + // the set it belongs to is possibly incomplete. QueryActiveAlarms returns a + // bare `stream ActiveAlarmSnapshot` with no envelope message, so a per-record + // boolean is the only additive way to carry set-level degraded status on that + // RPC. Distinct from `degraded`, which is about the subtag fallback provider. + // Additive (proto3): clients that ignore it deserialize the stream unchanged. + bool from_truncated_snapshot = 16; } enum AlarmConditionState {