diff options
Diffstat (limited to 'weed/pb/mq.proto')
| -rw-r--r-- | weed/pb/mq.proto | 39 |
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; |
