UNPKG

sinch-rtc

Version:

RTC JavaScript/Web SDK

50 lines (49 loc) 1.59 kB
import { Message } from "./"; import { SymmetricKey } from "./models"; export interface Protocol { decode(data: string, key: SymmetricKey): { transport: any; message: Message; } | null; encode(message: Message, key: SymmetricKey): string[]; } export declare class ProtocolV10 implements Protocol { Version: string; private sessionBuffer; decode(data: string, key: SymmetricKey): { transport: any; message: Message; } | null; encode(message: Message, key: SymmetricKey): string[]; private prepareMessage; private encodeClient; /** * Prepares actual MXP message format used within protocol * @param version - MXP protocol version * @param sessionId - ULID of current session * @param msgId - determines whether message is single-part or multi-part * @param partNo - index of particular part * @param partTotal - number of all parts * @param data - base64 encoded encrypted payload */ private buildTransportMessage; /** * Returns dictionary containing transport data parts from MXP message * @param raw - */ static getMXPDataParts(raw: string): Record<string, string>; /** * * @param payload - whole payload encrypted * @param part - number of message in sequence * @param chunkSize - constant value of maximum part size */ private payloadSlice; private serialize; private addBody; private addClient; private addValues; } export declare class ProtocolV10Factory { static create(): ProtocolV10; }