Implement in-process multi-dataset sync isolation across core, network, persistence, and tests
All checks were successful
NuGet Package Publish / nuget (push) Successful in 1m14s

This commit is contained in:
Joseph Doherty
2026-02-22 11:58:34 -05:00
parent c06b56172a
commit 8e97061ab8
60 changed files with 4519 additions and 559 deletions

View File

@@ -4,19 +4,22 @@ package ZB.MOM.WW.CBDDC.Network.Proto;
option csharp_namespace = "ZB.MOM.WW.CBDDC.Network.Proto";
message HandshakeRequest {
string node_id = 1;
string auth_token = 2;
repeated string supported_compression = 3; // v4
repeated string interesting_collections = 4; // v5
}
message HandshakeResponse {
string node_id = 1;
bool accepted = 2;
string selected_compression = 3; // v4
repeated string interesting_collections = 4; // v5
}
message HandshakeRequest {
string node_id = 1;
string auth_token = 2;
repeated string supported_compression = 3; // v4
repeated string interesting_collections = 4; // v5
string dataset_id = 5; // v6
}
message HandshakeResponse {
string node_id = 1;
bool accepted = 2;
string selected_compression = 3; // v4
repeated string interesting_collections = 4; // v5
string dataset_id = 5; // v6
optional bool dataset_supported = 6; // v6
}
message GetClockRequest {
}
@@ -40,25 +43,28 @@ message VectorClockEntry {
int32 hlc_logic = 3;
}
message PullChangesRequest {
int64 since_wall = 1;
int32 since_logic = 2;
string since_node = 3;
repeated string collections = 4; // v5: Filter by collection
}
message PullChangesRequest {
int64 since_wall = 1;
int32 since_logic = 2;
string since_node = 3;
repeated string collections = 4; // v5: Filter by collection
string dataset_id = 5; // v6
}
message ChangeSetResponse {
repeated ProtoOplogEntry entries = 1;
}
message PushChangesRequest {
repeated ProtoOplogEntry entries = 1;
}
message GetChainRangeRequest {
string start_hash = 1;
string end_hash = 2;
}
message PushChangesRequest {
repeated ProtoOplogEntry entries = 1;
string dataset_id = 2; // v6
}
message GetChainRangeRequest {
string start_hash = 1;
string end_hash = 2;
string dataset_id = 3; // v6
}
message ChainRangeResponse {
repeated ProtoOplogEntry entries = 1;
@@ -70,20 +76,22 @@ message AckResponse {
bool snapshot_required = 2;
}
message ProtoOplogEntry {
string collection = 1;
string key = 2;
string operation = 3; // "Put" or "Delete"
message ProtoOplogEntry {
string collection = 1;
string key = 2;
string operation = 3; // "Put" or "Delete"
string json_data = 4;
int64 hlc_wall = 5;
int32 hlc_logic = 6;
string hlc_node = 7;
string hash = 8;
string previous_hash = 9;
}
message GetSnapshotRequest {
}
string hash = 8;
string previous_hash = 9;
string dataset_id = 10; // v6
}
message GetSnapshotRequest {
string dataset_id = 1; // v6
}
message SnapshotChunk {
bytes data = 1;