2019-06-20 21:05:22 +00:00
|
|
|
/// <reference types="node" />
|
|
|
|
|
|
|
|
|
|
import { DuplexConnection } from 'rsocket-types';
|
|
|
|
|
import { Encoders, TransportServer } from 'rsocket-core';
|
|
|
|
|
import * as EventEmitter from 'events';
|
|
|
|
|
import * as net from 'net';
|
|
|
|
|
import { Flowable } from 'rsocket-flowable';
|
|
|
|
|
export interface ServerOptions {
|
|
|
|
|
host?: string;
|
|
|
|
|
port: number;
|
2019-07-08 21:09:33 +00:00
|
|
|
serverFactory?: (onConnect: (socket: net.Socket) => void) => net.Server;
|
2019-06-20 21:05:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A TCP transport server.
|
|
|
|
|
*
|
|
|
|
|
* //FIXME: Inconsistent casing between TCPServer and TcpClient matches library
|
|
|
|
|
*/
|
|
|
|
|
export default class RSocketTCPServer implements TransportServer {
|
|
|
|
|
constructor(options: ServerOptions, encoders?: Encoders<any>);
|
|
|
|
|
start(): Flowable<DuplexConnection>;
|
2019-07-08 21:09:33 +00:00
|
|
|
stop(): void;
|
2019-06-20 21:05:22 +00:00
|
|
|
}
|