networking
Version:
Library for typed, event-based networking between a server and clients.
29 lines (28 loc) • 1.22 kB
TypeScript
/// <reference types="socket.io-client" />
/// <reference types="socket.io" />
/// <reference types="node" />
import { TransactionEmitter } from './transactions';
import { StreamEmitter } from './streams';
import { RequestEmitter } from './requests';
import { Options, IOStream } from '../stream/iostream';
import { Client } from '../../client/client';
import { Connection } from '../../server/connection';
import { SubscriptionEmitter } from '../subscriptions/emitter';
import { Schematic, Group } from '../schema/schematic';
export declare class Dispatcher<T extends Schematic> {
private client;
private socket;
private emitters;
constructor(client: Client, socket: SocketIOClient.Socket, emitters: Emitters<T, any, any>);
constructor(connection: Connection, socket: SocketIO.Socket, emitters: Emitters<T, any, any>);
createStream(options?: Options): IOStream;
private onTransaction;
private onRequest;
private onStream;
}
export interface Emitters<T extends Schematic, I extends Group, O extends Group> {
transactions: TransactionEmitter<T, I, O>;
streams: StreamEmitter<T, I, O>;
requests: RequestEmitter<T, I, O>;
subscriptions: SubscriptionEmitter<T, I, O>;
}