diff options
author | metamuffin <metamuffin@disroot.org> | 2022-09-16 14:24:09 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-09-16 14:24:09 +0200 |
commit | fa47c353d7ebc653e5a90eee68535fb6e55f2c30 (patch) | |
tree | 0fce881b73ac683edbc59c55d4e40c8bc63bca4a /common | |
parent | 051151421c4438d7d930c9036003dd82d8a6806d (diff) | |
download | keks-meet-fa47c353d7ebc653e5a90eee68535fb6e55f2c30.tar keks-meet-fa47c353d7ebc653e5a90eee68535fb6e55f2c30.tar.bz2 keks-meet-fa47c353d7ebc653e5a90eee68535fb6e55f2c30.tar.zst |
extend protocol for optional streams
Diffstat (limited to 'common')
-rw-r--r-- | common/packets.d.ts | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/common/packets.d.ts b/common/packets.d.ts index 4c4f8b2..c5e9637 100644 --- a/common/packets.d.ts +++ b/common/packets.d.ts @@ -4,14 +4,14 @@ type F_RTCSdpType = "answer" | "offer" | "pranswer" | "rollback"; interface F_RTCSessionDescriptionInit { sdp?: string; type: F_RTCSdpType; } interface F_RTCIceCandidateInit { candidate?: string; sdpMLineIndex?: number | null; sdpMid?: string | null; usernameFragment?: string | null; } -export interface ClientboundPacket { +export interface /* enum */ ClientboundPacket { init?: { your_id: number, version: string }, client_join?: { id: number }, client_leave?: { id: number }, message?: { sender: number, message: string /* encrypted RelayMessageWrapper */ }, } -export interface ServerboundPacket { +export interface /* enum */ ServerboundPacket { ping?: null, relay?: { recipient?: number, message: string /* encrypted RelayMessageWrapper */ }, } @@ -21,11 +21,21 @@ export interface RelayMessageWrapper { inner: RelayMessage } -export interface RelayMessage { +export interface /* enum */ RelayMessage { chat?: ChatMessage, identify?: { username: string } + + provide?: ProvideInfo + request?: { id: number } + offer?: F_RTCSessionDescriptionInit, answer?: F_RTCSessionDescriptionInit, ice_candidate?: F_RTCIceCandidateInit, } -export interface ChatMessage { text?: string, image?: string }
\ No newline at end of file +export interface ChatMessage { text?: string, image?: string } +export interface ProvideInfo { + id: number, + kind: "audio" | "video" | "file" + label?: string + size?: number +} |