blob: 5deb63cd50ff44e580c3bc8f19bd91b50693702f [file] [log] [blame]
syntax = "proto3";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
import "google/rpc/error_details.proto";
import "google/rpc/status.proto";
import "apache/rocketmq/v1/definition.proto";
package apache.rocketmq.v1;
option java_multiple_files = true;
option java_package = "apache.rocketmq.v1";
option java_generate_equals_and_hash = true;
option java_string_check_utf8 = true;
// Ali Cloud Service
option java_outer_classname = "MQService";
message ResponseCommon {
google.rpc.Status status = 1;
google.rpc.RequestInfo request_info = 2;
google.rpc.Help help = 3;
google.rpc.RetryInfo retry_info = 4;
google.rpc.DebugInfo debug_info = 5;
google.rpc.ErrorInfo error_info = 6;
reserved 7 to 64;
}
message QueryRouteRequest {
Resource topic = 1;
// Service access point
Endpoints endpoints = 2;
reserved 3 to 64;
}
message QueryRouteResponse {
ResponseCommon common = 1;
repeated Partition partitions = 2;
reserved 3 to 64;
}
message SendMessageRequest {
Message message = 1;
Partition partition = 2;
reserved 3 to 64;
}
message SendMessageResponse {
ResponseCommon common = 1;
string message_id = 2;
string transaction_id = 3;
reserved 4 to 64;
}
message QueryAssignmentRequest {
Resource topic = 1;
Resource group = 2;
string client_id = 3;
// Service access point
Endpoints endpoints = 4;
reserved 5 to 64;
}
message QueryAssignmentResponse {
ResponseCommon common = 1;
repeated Assignment assignments = 2;
reserved 3 to 64;
}
message ReceiveMessageRequest {
Resource group = 1;
string client_id = 2;
Partition partition = 3;
FilterExpression filter_expression = 4;
ConsumePolicy consume_policy = 5;
google.protobuf.Timestamp initialization_timestamp = 6;
int32 batch_size = 7;
google.protobuf.Duration invisible_duration = 8;
google.protobuf.Duration await_time = 9;
bool fifo_flag = 10;
reserved 11 to 64;
}
message ReceiveMessageResponse {
ResponseCommon common = 1;
repeated Message messages = 2;
google.protobuf.Timestamp delivery_timestamp = 3;
google.protobuf.Duration invisible_duration = 4;
reserved 5 to 64;
}
message AckMessageRequest {
Resource group = 1;
Resource topic = 2;
string client_id = 3;
oneof handle {
string receipt_handle = 4;
int64 offset = 5;
}
string message_id = 6;
reserved 7 to 64;
}
message AckMessageResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
message NackMessageRequest {
Resource group = 1;
Resource topic = 2;
string client_id = 3;
string receipt_handle = 4;
string message_id = 5;
int32 delivery_attempt = 6;
int32 max_delivery_attempts = 7;
reserved 8 to 64;
}
message NackMessageResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
message ForwardMessageToDeadLetterQueueRequest {
Resource group = 1;
Resource topic = 2;
string client_id = 3;
string receipt_handle = 4;
string message_id = 5;
int32 delivery_attempt = 6;
int32 max_delivery_attempts = 7;
reserved 8 to 64;
}
message ForwardMessageToDeadLetterQueueResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
message HeartbeatRequest {
string client_id = 1;
oneof client_data {
ProducerData producer_data = 2;
ConsumerData consumer_data = 3;
}
bool fifo_flag = 4;
reserved 5 to 64;
}
message HeartbeatResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
message HealthCheckRequest {
Resource group = 1;
string client_host = 2;
reserved 3 to 64;
}
message HealthCheckResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
message EndTransactionRequest {
Resource group = 1;
string message_id = 2;
string transaction_id = 3;
enum TransactionResolution {
COMMIT = 0;
ROLLBACK = 1;
}
TransactionResolution resolution = 4;
enum Source {
CLIENT = 0;
SERVER_CHECK = 1;
}
Source source = 5;
string trace_context = 6;
reserved 7 to 64;
}
message EndTransactionResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
message QueryOffsetRequest {
Partition partition = 1;
QueryOffsetPolicy policy = 2;
google.protobuf.Timestamp time_point = 3;
reserved 4 to 64;
}
message QueryOffsetResponse {
ResponseCommon common = 1;
int64 offset = 2;
reserved 3 to 64;
}
message PullMessageRequest {
Resource group = 1;
Partition partition = 2;
int64 offset = 3;
int32 batch_size = 4;
google.protobuf.Duration await_time = 5;
FilterExpression filter_expression = 6;
string client_id = 7;
reserved 8 to 64;
}
message PullMessageResponse {
ResponseCommon common = 1;
int64 min_offset = 2;
int64 next_offset = 3;
int64 max_offset = 4;
repeated Message messages = 5;
reserved 6 to 64;
}
message UpdateOffsetRequest {
Resource group = 1;
Partition partition = 2;
int64 partition_offset = 3;
reserved 4 to 64;
}
message UpdateOffsetResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
message GenericPollingRequest {
string client_id = 1;
repeated Resource topics = 2;
oneof group {
Resource producer_group = 3;
Resource consumer_group = 4;
}
reserved 5 to 64;
}
message GenericPollingResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
message PrintThreadStackRequest {
string mid = 1;
reserved 2 to 64;
}
message PrintThreadStackResponse {
ResponseCommon common = 1;
string mid = 2;
string stack_trace = 3;
reserved 4 to 64;
}
message VerifyMessageConsumptionRequest {
string mid = 1;
Message message = 2;
reserved 3 to 64;
}
message VerifyMessageConsumptionResponse {
string mid = 1;
ResponseCommon common = 2;
reserved 3 to 64;
}
message RecoverOrphanedTransactionRequest {
Message orphaned_transactional_message = 1;
string transaction_id = 2;
reserved 3 to 64;
}
message MultiplexingRequest {
oneof type {
GenericPollingRequest polling_request = 1;
PrintThreadStackResponse print_thread_stack_response = 2;
VerifyMessageConsumptionResponse verify_message_consumption_response = 3;
}
reserved 4 to 64;
}
message MultiplexingResponse {
oneof type {
GenericPollingResponse polling_response = 1;
PrintThreadStackRequest print_thread_stack_request = 2;
VerifyMessageConsumptionRequest verify_message_consumption_request = 3;
RecoverOrphanedTransactionRequest recover_orphaned_transaction_request = 4;
}
reserved 5 to 64;
}
message NotifyClientTerminationRequest {
Resource group = 1;
string client_id = 2;
reserved 3 to 64;
}
message NotifyClientTerminationResponse {
ResponseCommon common = 1;
reserved 2 to 64;
}
service MessagingService {
rpc QueryRoute(QueryRouteRequest) returns (QueryRouteResponse) {}
rpc Heartbeat(HeartbeatRequest) returns (HeartbeatResponse) {}
rpc HealthCheck(HealthCheckRequest) returns (HealthCheckResponse) {}
rpc SendMessage(SendMessageRequest) returns (SendMessageResponse) {}
rpc QueryAssignment(QueryAssignmentRequest)
returns (QueryAssignmentResponse) {}
rpc ReceiveMessage(ReceiveMessageRequest) returns (ReceiveMessageResponse) {}
rpc AckMessage(AckMessageRequest) returns (AckMessageResponse) {}
rpc NackMessage(NackMessageRequest) returns (NackMessageResponse) {}
rpc ForwardMessageToDeadLetterQueue(ForwardMessageToDeadLetterQueueRequest)
returns (ForwardMessageToDeadLetterQueueResponse) {}
rpc EndTransaction(EndTransactionRequest) returns (EndTransactionResponse) {}
rpc QueryOffset(QueryOffsetRequest) returns (QueryOffsetResponse) {}
rpc PullMessage(PullMessageRequest) returns (PullMessageResponse) {}
rpc UpdateOffset(UpdateOffsetRequest) returns (UpdateOffsetResponse) {}
rpc MultiplexingCall(MultiplexingRequest) returns (MultiplexingResponse) {}
rpc NotifyClientTermination(NotifyClientTerminationRequest)
returns (NotifyClientTerminationResponse) {}
}