158 lines
3.4 KiB
Protocol Buffer
158 lines
3.4 KiB
Protocol Buffer
/*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* license agreements; and to You under the Apache License, version 2.0:
|
|
*
|
|
* https://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* This file is part of the Apache Pekko project, derived from Akka.
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2014-2022 Lightbend Inc. <https://www.lightbend.com>
|
|
*/
|
|
|
|
syntax = "proto2";
|
|
|
|
package org.apache.pekko.cluster.ddata;
|
|
|
|
option java_package = "org.apache.pekko.cluster.ddata.protobuf.msg";
|
|
option optimize_for = SPEED;
|
|
import "ReplicatorMessages.proto";
|
|
|
|
message GSet {
|
|
repeated string stringElements = 1;
|
|
repeated sint32 intElements = 2 [packed=true];
|
|
repeated sint64 longElements = 3 [packed=true];
|
|
repeated OtherMessage otherElements = 4;
|
|
repeated string actorRefElements = 5; // added in Akka 2.5.14
|
|
}
|
|
|
|
message ORSet {
|
|
required VersionVector vvector = 1;
|
|
repeated VersionVector dots = 2;
|
|
repeated string stringElements = 3;
|
|
repeated sint32 intElements = 4 [packed=true];
|
|
repeated sint64 longElements = 5 [packed=true];
|
|
repeated OtherMessage otherElements = 6;
|
|
repeated string actorRefElements = 7; // added in Akka 2.5.14
|
|
}
|
|
|
|
message ORSetDeltaGroup {
|
|
message Entry {
|
|
required ORSetDeltaOp operation = 1;
|
|
required ORSet underlying = 2;
|
|
}
|
|
|
|
repeated Entry entries = 1;
|
|
}
|
|
|
|
enum ORSetDeltaOp {
|
|
Add = 0;
|
|
Remove = 1;
|
|
Full = 2;
|
|
}
|
|
|
|
message Flag {
|
|
required bool enabled = 1;
|
|
}
|
|
|
|
message LWWRegister {
|
|
required sint64 timestamp = 1;
|
|
required UniqueAddress node = 2;
|
|
required OtherMessage state = 3;
|
|
}
|
|
|
|
message GCounter {
|
|
message Entry {
|
|
required UniqueAddress node = 1;
|
|
required bytes value = 2;
|
|
}
|
|
|
|
repeated Entry entries = 1;
|
|
}
|
|
|
|
message PNCounter {
|
|
required GCounter increments = 1;
|
|
required GCounter decrements = 2;
|
|
}
|
|
|
|
message ORMap {
|
|
message Entry {
|
|
optional string stringKey = 1;
|
|
required OtherMessage value = 2;
|
|
optional sint32 intKey = 3;
|
|
optional sint64 longKey = 4;
|
|
optional OtherMessage otherKey = 5;
|
|
}
|
|
|
|
required ORSet keys = 1;
|
|
repeated Entry entries = 2;
|
|
}
|
|
|
|
message ORMapDeltaGroup {
|
|
message MapEntry {
|
|
optional string stringKey = 1;
|
|
optional OtherMessage value = 2;
|
|
optional sint32 intKey = 3;
|
|
optional sint64 longKey = 4;
|
|
optional OtherMessage otherKey = 5;
|
|
}
|
|
message Entry {
|
|
required ORMapDeltaOp operation = 1;
|
|
required ORSet underlying = 2;
|
|
required sint32 zeroTag = 3;
|
|
repeated MapEntry entryData = 4;
|
|
}
|
|
|
|
repeated Entry entries = 1;
|
|
}
|
|
|
|
enum ORMapDeltaOp {
|
|
ORMapPut = 0;
|
|
ORMapRemove = 1;
|
|
ORMapRemoveKey = 2;
|
|
ORMapUpdate = 3;
|
|
}
|
|
|
|
message LWWMap {
|
|
message Entry {
|
|
optional string stringKey = 1;
|
|
required LWWRegister value = 2;
|
|
optional sint32 intKey = 3;
|
|
optional sint64 longKey = 4;
|
|
optional OtherMessage otherKey = 5;
|
|
}
|
|
|
|
required ORSet keys = 1;
|
|
repeated Entry entries = 2;
|
|
}
|
|
|
|
message PNCounterMap {
|
|
message Entry {
|
|
optional string stringKey = 1;
|
|
required PNCounter value = 2;
|
|
optional sint32 intKey = 3;
|
|
optional sint64 longKey = 4;
|
|
optional OtherMessage otherKey = 5;
|
|
}
|
|
|
|
required ORSet keys = 1;
|
|
repeated Entry entries = 2;
|
|
}
|
|
|
|
message ORMultiMap {
|
|
message Entry {
|
|
optional string stringKey = 1;
|
|
required ORSet value = 2;
|
|
optional sint32 intKey = 3;
|
|
optional sint64 longKey = 4;
|
|
optional OtherMessage otherKey = 5;
|
|
}
|
|
|
|
required ORSet keys = 1;
|
|
repeated Entry entries = 2;
|
|
optional bool withValueDeltas = 3;
|
|
}
|
|
|
|
|
|
|