/** * DeukPack Wire Protocol — 공유 인터페이스·타입·엔벨로프·프로토콜 감지. * 구현체는 계열별 파일: * TBinaryProtocol.ts — DpTBinaryProtocol (Thrift Binary) * TCompactProtocol.ts — DpTCompactProtocol (Thrift Compact) * JsonProtocol.ts — DpTJsonProtocol (Thrift JSON) * PackProtocol.ts — DpPackProtocol (득팩 전용) * ZeroCopyProtocol.ts — DpZeroCopyProtocol (득팩 전용, 버퍼 복사 없이 뷰 반환) * ProtobufProtocol.ts — DpProtobufProtocol (Google Protobuf v2/v3) * 하위 호환을 위해 모든 클래스를 re-export 한다. */ export declare enum DpWireType { Stop = 0, Void = 1, Bool = 2, Byte = 3, Double = 4, Int16 = 6, Int32 = 8, Int64 = 10, String = 11, Struct = 12, Map = 13, Set = 14, List = 15 } export declare enum DpMessageType { Call = 1, Reply = 2, Exception = 3, Oneway = 4 } export interface DpStruct { name: string; } export interface DpField { name: string; type: DpWireType; id: number; } export interface DpList { elementType: DpWireType; count: number; } export interface DpSet { elementType: DpWireType; count: number; } export interface DpMap { keyType: DpWireType; valueType: DpWireType; count: number; } export interface DpProtocol { writeStructBegin(struct: DpStruct): void; writeStructEnd(): void; writeFieldBegin(field: DpField): void; writeFieldEnd(): void; writeFieldStop(): void; writeBool(value: boolean): void; writeByte(value: number): void; writeI16(value: number): void; writeI32(value: number): void; writeI64(value: bigint): void; writeDouble(value: number): void; writeString(value: string): void; writeBinary(value: Uint8Array): void; writeListBegin(list: DpList): void; writeListEnd(): void; writeSetBegin(set: DpSet): void; writeSetEnd(): void; writeMapBegin(map: DpMap): void; writeMapEnd(): void; readStructBegin(): DpStruct; readStructEnd(): void; readFieldBegin(): DpField; readFieldEnd(): void; readBool(): boolean; readByte(): number; readI16(): number; readI32(): number; readI64(): bigint; readDouble(): number; readString(): string; readBinary(): Uint8Array; readListBegin(): DpList; readListEnd(): void; readSetBegin(): DpSet; readSetEnd(): void; readMapBegin(): DpMap; readMapEnd(): void; } /** Magic header for DpPack wire (3 bytes): 'DP' + version 1. */ export declare const DP_PACK_MAGIC: Uint8Array; /** Envelope: [0x44, 0x50, version, protocol_id]. */ export declare const DP_WIRE_ENVELOPE_SIZE = 4; export declare const DP_WIRE_ENVELOPE_MAGIC0 = 68; export declare const DP_WIRE_ENVELOPE_MAGIC1 = 80; /** Protocol id in envelope. */ export declare const DP_WIRE_PROTOCOL_BINARY = 0; export declare const DP_WIRE_PROTOCOL_COMPACT = 1; export declare const DP_WIRE_PROTOCOL_PACK = 2; export declare const DP_WIRE_PROTOCOL_ZEROCOPY = 3; export declare const DP_WIRE_PROTOCOL_PROTOBUF = 4; export type DpWireProtocolName = 'binary' | 'compact' | 'pack' | 'zerocopy' | 'protobuf'; export declare function writeEnvelope(buffer: ArrayBuffer, protocol: DpWireProtocolName, version?: number): void; export declare function readEnvelope(buffer: ArrayBuffer | Uint8Array): { version: number; protocol: DpWireProtocolName; } | null; export { DpTBinaryProtocol } from './TBinaryProtocol'; export { DpTCompactProtocol } from './TCompactProtocol'; export { DpPackProtocol } from './PackProtocol'; export { DpZeroCopyProtocol } from './ZeroCopyProtocol'; export { DpProtobufProtocol } from './ProtobufProtocol'; import { DpTBinaryProtocol } from './TBinaryProtocol'; import { DpTCompactProtocol } from './TCompactProtocol'; import { DpPackProtocol } from './PackProtocol'; import { DpZeroCopyProtocol } from './ZeroCopyProtocol'; import { DpProtobufProtocol } from './ProtobufProtocol'; /** @deprecated Use DpTBinaryProtocol */ export declare const DpBinaryProtocol: typeof DpTBinaryProtocol; /** @deprecated Use DpTCompactProtocol */ export declare const DpCompactProtocol: typeof DpTCompactProtocol; /** @deprecated type alias */ export type DpBinaryProtocol = DpTBinaryProtocol; /** @deprecated type alias */ export type DpCompactProtocol = DpTCompactProtocol; export declare function detectWireProtocol(buffer: ArrayBuffer | Uint8Array): DpWireProtocolName | null; export declare function createProtocolForUnpack(buffer: ArrayBuffer, littleEndian?: boolean): { protocol: DpTBinaryProtocol | DpTCompactProtocol | DpPackProtocol | DpZeroCopyProtocol | DpProtobufProtocol; bodyOffset: number; }; //# sourceMappingURL=WireProtocol.d.ts.map