@wishcore/wish-sdk
Version:
Wish API for node. Used for building Wish Apps.
47 lines (46 loc) • 1.44 kB
TypeScript
/// <reference types="node" />
import { Socket } from 'net';
import { SocketProtocol } from './protocol';
import { EventEmitter } from 'events';
import { Peer } from './peer';
export declare class App extends EventEmitter {
private opts;
name: string;
tcp: Socket;
protocol: SocketProtocol;
protocols: string[];
host: string;
port: number;
private supportsExtendedFrames;
private maxFrameSize;
private negotiatedExtended;
private requestMap;
id: number;
peers: {
[id: string]: Peer;
};
private state;
constructor(opts: {
name: string;
coreHost?: string;
corePort: number;
protocols?: string[];
});
send(peer: Peer, frame: Buffer): Promise<boolean>;
/**
* Enable or disable extended frame format support
* @param enabled Whether to support extended frames
* @param maxSize Maximum frame size in bytes (default 4MB)
*/
setExtendedFrameSupport(enabled: boolean, maxSize?: number): void;
requestAsync(op: string, args: any[]): Promise<any>;
request(op: string, args: any[], cb?: any): number | Promise<any>;
requestBare(op: string, args: any[], cb: any): number;
connect(): Promise<void>;
/** Cancel and/or terminate request by id */
cancel(requestId: number): void;
private waitFrame;
private handleFrameData;
private createFrame;
private createLoginFrame;
}