Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify batch queries #218

Merged
merged 2 commits into from
Oct 11, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 16 additions & 20 deletions proto/xmtpv4/message_api/message_api.proto
Original file line number Diff line number Diff line change
Expand Up @@ -81,27 +81,22 @@ message MisbehaviorReport {
}

// Query for envelopes, shared by query and subscribe endpoints
// Either topics or originator_node_ids may be set, but not both
message EnvelopesQuery {
oneof filter {
// Client queries
bytes topic = 1;
// Node queries
uint32 originator_node_id = 2;
}
// Client queries
repeated bytes topics = 1;
richardhuaaa marked this conversation as resolved.
Show resolved Hide resolved
// Node queries
repeated uint32 originator_node_ids = 2;
VectorClock last_seen = 3;
}

// Batch subscribe to envelopes
message BatchSubscribeEnvelopesRequest {
// Single subscription request for envelopes
message SubscribeEnvelopesRequest {
EnvelopesQuery query = 1;
}
repeated SubscribeEnvelopesRequest requests = 1;
message SubscribeEnvelopesRequest {
EnvelopesQuery query = 1;
}

// Streamed response for batch subscribe - can be multiple envelopes at once
message BatchSubscribeEnvelopesResponse {
message SubscribeEnvelopesResponse {
repeated OriginatorEnvelope envelopes = 1;
}

Expand All @@ -116,12 +111,12 @@ message QueryEnvelopesResponse {
repeated OriginatorEnvelope envelopes = 1;
}

message PublishEnvelopeRequest {
PayerEnvelope payer_envelope = 1;
message PublishEnvelopesRequest {
repeated PayerEnvelope payer_envelopes = 1;
}

message PublishEnvelopeResponse {
OriginatorEnvelope originator_envelope = 1;
message PublishEnvelopesResponse {
repeated OriginatorEnvelope originator_envelopes = 1;
richardhuaaa marked this conversation as resolved.
Show resolved Hide resolved
}

// Request to retrieve the XIDs for the given addresses
Expand All @@ -148,7 +143,7 @@ message GetInboxIdsResponse {
// Replication API
service ReplicationApi {
// Subscribe to envelopes
rpc BatchSubscribeEnvelopes(BatchSubscribeEnvelopesRequest) returns (stream BatchSubscribeEnvelopesResponse) {
rpc SubscribeEnvelopes(SubscribeEnvelopesRequest) returns (stream SubscribeEnvelopesResponse) {
option (google.api.http) = {
post: "/mls/v2/subscribe-envelopes"
body: "*"
Expand All @@ -164,12 +159,13 @@ service ReplicationApi {
}

// Publish envelope
rpc PublishEnvelope(PublishEnvelopeRequest) returns (PublishEnvelopeResponse) {
rpc PublishEnvelopes(PublishEnvelopesRequest) returns (PublishEnvelopesResponse) {
option (google.api.http) = {
post: "/mls/v2/publish-envelope"
post: "/mls/v2/publish-envelopes"
body: "*"
};
}

// Get inbox ids
rpc GetInboxIds(GetInboxIdsRequest) returns (GetInboxIdsResponse) {
option (google.api.http) = {
Expand Down
Loading