Rename all crate directories, package names, binary names, proto package/module paths, ALPN strings, env var prefixes, config filenames, mDNS service names, and plugin ABI symbols from quicproquo/qpq to quicprochat/qpc.
50 lines
960 B
Protocol Buffer
50 lines
960 B
Protocol Buffer
syntax = "proto3";
|
|
package qpc.v1;
|
|
|
|
// Server-push event types (sent on QUIC uni-streams).
|
|
// Event type IDs: 1000+.
|
|
|
|
// Wrapper for a push event.
|
|
message PushEvent {
|
|
oneof event {
|
|
NewMessage new_message = 1;
|
|
TypingIndicator typing = 2;
|
|
PresenceUpdate presence = 3;
|
|
GroupMembershipChange membership = 4;
|
|
}
|
|
}
|
|
|
|
message NewMessage {
|
|
bytes channel_id = 1;
|
|
bytes sender_key = 2;
|
|
uint64 seq = 3;
|
|
bytes payload = 4;
|
|
uint64 timestamp_ms = 5;
|
|
}
|
|
|
|
message TypingIndicator {
|
|
bytes channel_id = 1;
|
|
bytes sender_key = 2;
|
|
bool is_typing = 3;
|
|
}
|
|
|
|
message PresenceUpdate {
|
|
bytes identity_key = 1;
|
|
bool online = 2;
|
|
uint64 last_seen_ms = 3;
|
|
}
|
|
|
|
message GroupMembershipChange {
|
|
bytes channel_id = 1;
|
|
bytes actor_key = 2;
|
|
bytes target_key = 3;
|
|
MembershipAction action = 4;
|
|
}
|
|
|
|
enum MembershipAction {
|
|
MEMBERSHIP_ACTION_UNSPECIFIED = 0;
|
|
MEMBERSHIP_ACTION_ADDED = 1;
|
|
MEMBERSHIP_ACTION_REMOVED = 2;
|
|
MEMBERSHIP_ACTION_LEFT = 3;
|
|
}
|