/* * 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. */ 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; }