aboutsummaryrefslogtreecommitdiff
path: root/weed/pb/mq.proto
diff options
context:
space:
mode:
Diffstat (limited to 'weed/pb/mq.proto')
-rw-r--r--weed/pb/mq.proto39
1 files changed, 39 insertions, 0 deletions
diff --git a/weed/pb/mq.proto b/weed/pb/mq.proto
index 4e9690537..369f82fb3 100644
--- a/weed/pb/mq.proto
+++ b/weed/pb/mq.proto
@@ -45,6 +45,11 @@ service SeaweedMessaging {
}
rpc SubscribeMessage (SubscribeMessageRequest) returns (stream SubscribeMessageResponse) {
}
+ // The lead broker asks a follower broker to follow itself
+ rpc PublishFollowMe (PublishFollowMeRequest) returns (PublishFollowMeResponse) {
+ }
+ rpc FollowInMemoryMessages (FollowInMemoryMessagesRequest) returns (stream FollowInMemoryMessagesResponse) {
+ }
}
//////////////////////////////////////////////////
@@ -205,6 +210,14 @@ message PublishMessageResponse {
string error = 2;
bool should_close = 3;
}
+message PublishFollowMeRequest {
+ Topic topic = 1;
+ Partition partition = 2;
+ string broker_self = 3;
+}
+message PublishFollowMeResponse {
+ string error = 1;
+}
message SubscribeMessageRequest {
message InitMessage {
string consumer_group = 1;
@@ -233,6 +246,32 @@ message SubscribeMessageResponse {
DataMessage data = 2;
}
}
+message FollowInMemoryMessagesRequest {
+ message InitMessage {
+ string consumer_group = 1;
+ string consumer_id = 2;
+ int32 follower_id = 3;
+ Topic topic = 4;
+ PartitionOffset partition_offset = 5;
+ }
+ message AckMessage {
+ int64 sequence = 1;
+ }
+ oneof message {
+ InitMessage init = 1;
+ AckMessage ack = 2;
+ }
+}
+message FollowInMemoryMessagesResponse {
+ message CtrlMessage {
+ int64 flushed_sequence = 1;
+ int32 follower_changed_to_id = 2;
+ }
+ oneof message {
+ CtrlMessage ctrl = 1;
+ DataMessage data = 2;
+ }
+}
message ClosePublishersRequest {
Topic topic = 1;
int64 unix_time_ns = 2;