From d9ea8a81f1d2570aad612c351f0d7e109c45e25c Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Mon, 17 Aug 2026 04:48:20 -0400 Subject: [PATCH] chore(clients): regenerate for alarm truncation fields; READMEs note the degraded flag Task 8 added ActiveAlarmSnapshot.from_truncated_snapshot = 16 and QueryActiveAlarmsReplyPayload.snapshot_truncated = 2. Regenerate every downstream binding from the canonical Contracts protos: - client descriptor set (protoc 34.1 pin) - Go (protoc-gen-go v1.36.11 / protoc-gen-go-grpc 1.6.2) - Python (grpcio-tools 1.80.0 pin) - Java (gradle generateProto) - Rust vendored protos under clients/rust/protos, which build.rs falls back to for out-of-repo tarball builds and which must track Contracts .NET needed no regeneration - the client compiles against the Contracts Generated/ output already committed with the proto change. No client has a typed wrapper model around ActiveAlarmSnapshot; all five pass the generated type straight through, so codegen alone carries the field. Each client README's alarm section gains a paragraph on the flag: the snapshot set may omit actives and absence-implies-cleared inference was suspended, so callers must not reconcile deletions from a truncated set. Distinguished from the per-record 'degraded' subtag-fallback flag, which it is easily confused with. --- clients/dotnet/README.md | 7 + clients/go/README.md | 8 + .../internal/generated/mxaccess_gateway.pb.go | 53 +- clients/java/README.md | 8 + .../mxaccess_gateway/v1/MxaccessGateway.java | 796 ++++++++++++------ .../descriptors/mxaccessgw-client-v1.protoset | Bin 118154 -> 120969 bytes clients/python/README.md | 7 + .../generated/mxaccess_gateway_pb2.py | 160 ++-- clients/rust/README.md | 12 +- clients/rust/protos/mxaccess_gateway.proto | 17 + 10 files changed, 704 insertions(+), 364 deletions(-) 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 c3d6da883fdb94471b2b8c35106e68dcf372c4c4..fe740013a3b4bef4f16385b73edb061763e136d3 100644 GIT binary patch delta 26723 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 delta 23938 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 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 {