pekko/akka-persistence/src/main/protobuf/MessageFormats.proto
Martin Krasser 4e5ce5529c !per #3761 Reliable channels
- Built-in redelivery mechanism for Channel and PersistentChannel
- redelivery counter on ConfirmablePersistent
- redeliveries out of initial message delivery order
- relative order of redelivered messages is preserved
- configurable redelivery policy (ChannelSettings)
- Major refactorings of channels (and channel tests)
- Throughput load test for PersistentChannel

Todo:

- Paged/throtlled replay (another pull request)
- Resequencer (another pull request)
2013-12-12 12:22:46 +01:00

50 lines
No EOL
1.2 KiB
Protocol Buffer

/**
* Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com>
*/
option java_package = "akka.persistence.serialization";
option optimize_for = SPEED;
message PersistentMessageBatch {
repeated PersistentMessage batch = 1;
}
message PersistentMessage {
optional PersistentPayload payload = 1;
optional int64 sequenceNr = 2;
optional string processorId = 3;
optional bool deleted = 4;
optional bool resolved = 5;
optional int32 redeliveries = 6;
repeated string confirms = 7;
optional bool confirmable = 8;
optional ConfirmMessage confirmMessage = 9;
optional string confirmTarget = 10;
optional string sender = 11;
}
message PersistentPayload {
required int32 serializerId = 1;
required bytes payload = 2;
optional bytes payloadManifest = 3;
}
message ConfirmMessage {
optional string processorId = 1;
optional int64 messageSequenceNr = 2;
optional string channelId = 3;
optional int64 wrapperSequenceNr = 4;
optional string channelEndpoint = 5;
}
message DeliverMessage {
enum ResolveStrategy {
Off = 1;
Sender = 2;
Destination = 3;
}
optional PersistentMessage persistent = 1;
optional string destination = 2;
optional ResolveStrategy resolve = 3;
}