stanza-extend
Version:
Modern XMPP in the browser, with a JSON API
45 lines (44 loc) • 1.39 kB
TypeScript
import { Duplex } from 'readable-stream';
import { Agent, Transport, TransportConfig } from '../';
import StreamManagement from '../helpers/StreamManagement';
import { Stream } from '../protocol';
import { JSONData, Registry } from '../jxt';
export default class BOSH extends Duplex implements Transport {
hasStream?: boolean;
stream?: Stream;
authenticated?: boolean;
url: string;
rid?: number;
sid?: string;
maxHoldOpen: number;
maxWaitTime: number;
contentType: string;
private channels;
private activeChannelID;
private client;
private config;
private sm;
private stanzas;
private idleTimeout;
private queue;
private isEnded;
constructor(client: Agent, sm: StreamManagement, stanzas: Registry);
_write(chunk: string, encoding: string, done: (err?: Error) => void): void;
_writev(chunks: Array<{
chunk: string;
encoding: string;
}>, done: (err?: Error) => void): void;
_read(): void;
process(result: string): void;
connect(opts: TransportConfig): void;
restart(): void;
disconnect(clean?: boolean): void;
send(dataOrName: string, data?: JSONData): Promise<void>;
private get sendingChannel();
private get pollingChannel();
private toggleChannel;
private _send;
private _poll;
private scheduleRequests;
private fireRequests;
}