Files
quicproquo/proto/qpc/v1/push.proto
Christian Nennemann a710037dde chore: rename quicproquo → quicprochat in Rust workspace
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.
2026-03-21 19:14:06 +01:00

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;
}