botframework-streaming
Version:
Streaming library for the Microsoft Bot Framework
53 lines • 2.23 kB
TypeScript
import { RequestHandler } from '../requestHandler';
import { StreamingRequest } from '../streamingRequest';
import { ISocket, IStreamingTransportServer, IReceiveResponse } from '../interfaces';
/**
* Web socket based server to be used as streaming transport.
*/
export declare class WebSocketServer implements IStreamingTransportServer {
private readonly _url;
private readonly _requestHandler;
private readonly _sender;
private readonly _receiver;
private readonly _requestManager;
private readonly _protocolAdapter;
private readonly _webSocketTransport;
private _closedSignal;
private _socket;
/**
* Creates a new instance of the [WebSocketServer](xref:botframework-streaming.WebSocketServer) class.
*
* @param socket The underlying web socket.
* @param requestHandler Optional [RequestHandler](xref:botframework-streaming.RequestHandler) to process incoming messages received by this server.
*/
constructor(socket: ISocket, requestHandler?: RequestHandler);
/**
* Examines the stored [ISocket](xref:botframework-streaming.ISocket) and returns `true` if the socket connection is open.
*
* @returns `true` if the underlying websocket is ready and availble to send messages, otherwise `false`.
*/
get isConnected(): boolean;
/**
* Used to establish the connection used by this server and begin listening for incoming messages.
*
* @returns A promise to handle the server listen operation. This task will not resolve as long as the server is running.
*/
start(): Promise<string>;
/**
* Task used to send data over this server connection.
*
* @param request The streaming request to send.
* @returns A promise that will produce an instance of receive response on completion of the send operation.
*/
send(request: StreamingRequest): Promise<IReceiveResponse>;
/**
* Stop this server.
*/
disconnect(): void;
/**
* @param sender The PayloadReceiver or PayloadSender that triggered or received a disconnect.
* @param e TransportDisconnectedEvent
*/
private onConnectionDisconnected;
}
//# sourceMappingURL=webSocketServer.d.ts.map