diff --git a/clients/go/internal/generated/mxaccess_gateway.pb.go b/clients/go/internal/generated/mxaccess_gateway.pb.go index 2064cc0..d0f041c 100644 --- a/clients/go/internal/generated/mxaccess_gateway.pb.go +++ b/clients/go/internal/generated/mxaccess_gateway.pb.go @@ -2553,6 +2553,9 @@ func (x *ActivateCommand) GetItemHandle() int32 { return 0 } +// The unary reply's statuses field carries the correlated OnWriteComplete +// outcome when it arrives within the worker's bounded wait — see +// MxCommandReply.statuses. type WriteCommand struct { state protoimpl.MessageState `protogen:"open.v1"` ServerHandle int32 `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"` @@ -2621,6 +2624,7 @@ func (x *WriteCommand) GetUserId() int32 { return 0 } +// Same statuses correlation as WriteCommand. type Write2Command struct { state protoimpl.MessageState `protogen:"open.v1"` ServerHandle int32 `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"` @@ -4583,18 +4587,19 @@ type MxCommandReply struct { // transport failures. Hresult *int32 `protobuf:"varint,5,opt,name=hresult,proto3,oneof" json:"hresult,omitempty"` ReturnValue *MxValue `protobuf:"bytes,6,opt,name=return_value,json=returnValue,proto3" json:"return_value,omitempty"` - // Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2 - // replies the worker holds the reply for a bounded window (default 1.5 s, - // MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching - // MXAccess OnWriteComplete callback and copies its status rows here, so - // statuses[0] carries the real MXAccess commit outcome (success OR failure) - // while protocol_status/hresult still describe command acceptance only. - // Empty statuses on a write reply means the completion did not arrive + // Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED / + // WRITE_SECURED2 replies the worker holds the reply for a bounded window + // (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for + // the matching MXAccess OnWriteComplete callback and copies its status rows + // here, so statuses[0] carries the real MXAccess commit outcome (success OR + // failure) while protocol_status/hresult still describe command acceptance + // only. Empty statuses on a write reply means the completion did not arrive // within the window — the write is unconfirmed, not failed. Correlation is // best-effort per (server_handle, item_handle): MXAccess's callback carries // no transaction id, so concurrent writes to the same item within the // window can swap rows. The OnWriteComplete event still flows on the event - // stream unchanged. Other command kinds leave this field as before. + // stream unchanged. Bulk write kinds and all non-write kinds leave this + // field as before. Statuses []*MxStatusProxy `protobuf:"bytes,7,rep,name=statuses,proto3" json:"statuses,omitempty"` DiagnosticMessage string `protobuf:"bytes,8,opt,name=diagnostic_message,json=diagnosticMessage,proto3" json:"diagnostic_message,omitempty"` // Types that are valid to be assigned to Payload: 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 a69750f..85a91b0 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 @@ -24235,6 +24235,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { int getUserId(); } /** + *
+ * The unary reply's statuses field carries the correlated OnWriteComplete + * outcome when it arrives within the worker's bounded wait — see + * MxCommandReply.statuses. + *+ * * Protobuf type {@code mxaccess_gateway.v1.WriteCommand} */ public static final class WriteCommand extends @@ -24527,6 +24533,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return builder; } /** + *
+ * The unary reply's statuses field carries the correlated OnWriteComplete + * outcome when it arrives within the worker's bounded wait — see + * MxCommandReply.statuses. + *+ * * Protobuf type {@code mxaccess_gateway.v1.WriteCommand} */ public static final class Builder extends @@ -25036,6 +25048,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { int getUserId(); } /** + *
+ * Same statuses correlation as WriteCommand. + *+ * * Protobuf type {@code mxaccess_gateway.v1.Write2Command} */ public static final class Write2Command extends @@ -25370,6 +25386,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return builder; } /** + *
+ * Same statuses correlation as WriteCommand. + *+ * * Protobuf type {@code mxaccess_gateway.v1.Write2Command} */ public static final class Builder extends @@ -50513,18 +50533,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { /** *
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -50533,18 +50554,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
getStatusesList();
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -50552,18 +50574,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
mxaccess_gateway.v1.MxaccessGateway.MxStatusProxy getStatuses(int index);
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -50571,18 +50594,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
int getStatusesCount();
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -50591,18 +50615,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
getStatusesOrBuilderList();
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -51333,18 +51358,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
private java.util.List
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -51355,18 +51381,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -51378,18 +51405,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -51400,18 +51428,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -51422,18 +51451,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54156,18 +54186,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54181,18 +54212,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54206,18 +54238,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54231,18 +54264,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54263,18 +54297,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54292,18 +54327,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54323,18 +54359,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54355,18 +54392,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54384,18 +54422,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54413,18 +54452,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54443,18 +54483,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54471,18 +54512,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54499,18 +54541,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54521,18 +54564,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54546,18 +54590,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54572,18 +54617,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54594,18 +54640,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
@@ -54617,18 +54664,19 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
}
/**
*
- * Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- * replies the worker holds the reply for a bounded window (default 1.5 s,
- * MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- * MXAccess OnWriteComplete callback and copies its status rows here, so
- * statuses[0] carries the real MXAccess commit outcome (success OR failure)
- * while protocol_status/hresult still describe command acceptance only.
- * Empty statuses on a write reply means the completion did not arrive
+ * Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ * WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ * (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ * the matching MXAccess OnWriteComplete callback and copies its status rows
+ * here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ * failure) while protocol_status/hresult still describe command acceptance
+ * only. Empty statuses on a write reply means the completion did not arrive
* within the window — the write is unconfirmed, not failed. Correlation is
* best-effort per (server_handle, item_handle): MXAccess's callback carries
* no transaction id, so concurrent writes to the same item within the
* window can swap rows. The OnWriteComplete event still flows on the event
- * stream unchanged. Other command kinds leave this field as before.
+ * stream unchanged. Bulk write kinds and all non-write kinds leave this
+ * field as before.
*
*
* repeated .mxaccess_gateway.v1.MxStatusProxy statuses = 7;
diff --git a/clients/rust/protos/mxaccess_gateway.proto b/clients/rust/protos/mxaccess_gateway.proto
index ee923b5..db5fb4f 100644
--- a/clients/rust/protos/mxaccess_gateway.proto
+++ b/clients/rust/protos/mxaccess_gateway.proto
@@ -241,6 +241,9 @@ message ActivateCommand {
int32 item_handle = 2;
}
+// The unary reply's statuses field carries the correlated OnWriteComplete
+// outcome when it arrives within the worker's bounded wait — see
+// MxCommandReply.statuses.
message WriteCommand {
int32 server_handle = 1;
int32 item_handle = 2;
@@ -248,6 +251,7 @@ message WriteCommand {
int32 user_id = 4;
}
+// Same statuses correlation as WriteCommand.
message Write2Command {
int32 server_handle = 1;
int32 item_handle = 2;
@@ -531,18 +535,19 @@ message MxCommandReply {
// transport failures.
optional int32 hresult = 5;
MxValue return_value = 6;
- // Correlated per-item outcome rows. For WRITE_SECURED / WRITE_SECURED2
- // replies the worker holds the reply for a bounded window (default 1.5 s,
- // MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for the matching
- // MXAccess OnWriteComplete callback and copies its status rows here, so
- // statuses[0] carries the real MXAccess commit outcome (success OR failure)
- // while protocol_status/hresult still describe command acceptance only.
- // Empty statuses on a write reply means the completion did not arrive
+ // Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
+ // WRITE_SECURED2 replies the worker holds the reply for a bounded window
+ // (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
+ // the matching MXAccess OnWriteComplete callback and copies its status rows
+ // here, so statuses[0] carries the real MXAccess commit outcome (success OR
+ // failure) while protocol_status/hresult still describe command acceptance
+ // only. Empty statuses on a write reply means the completion did not arrive
// within the window — the write is unconfirmed, not failed. Correlation is
// best-effort per (server_handle, item_handle): MXAccess's callback carries
// no transaction id, so concurrent writes to the same item within the
// window can swap rows. The OnWriteComplete event still flows on the event
- // stream unchanged. Other command kinds leave this field as before.
+ // stream unchanged. Bulk write kinds and all non-write kinds leave this
+ // field as before.
repeated MxStatusProxy statuses = 7;
string diagnostic_message = 8;