botframework-streaming
Version:
Streaming library for the Microsoft Bot Framework
63 lines • 2.84 kB
TypeScript
/**
* @module botframework-streaming
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
import { PayloadAssembler } from './assemblers/payloadAssembler';
import { RequestManager } from './payloads/requestManager';
import { PayloadReceiver } from './payloadTransport/payloadReceiver';
import { PayloadSender } from './payloadTransport/payloadSender';
import { RequestHandler } from './requestHandler';
import { StreamingRequest } from './streamingRequest';
import { IReceiveResponse, IReceiveRequest } from './interfaces';
/**
* Creates a protocol adapter for Streaming.
*/
export declare class ProtocolAdapter {
private readonly requestHandler;
private readonly payloadSender;
private readonly payloadReceiver;
private readonly requestManager;
private readonly sendOperations;
private readonly streamManager;
private readonly assemblerManager;
/**
* Creates a new instance of the protocol adapter class.
*
* @param requestHandler The [RequestHandler](xref:botframework-streaming.RequestHandler) that will process incoming requests.
* @param requestManager The [RequestManager](xref:botframework-streaming.RequestManager) that will process outgoing requests.
* @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) for use with outgoing requests.
* @param receiver The [PayloadReceiver](xref:botframework-streaming.PayloadReceiver) for use with incoming requests.
*/
constructor(requestHandler: RequestHandler, requestManager: RequestManager, sender: PayloadSender, receiver: PayloadReceiver);
/**
* Sends a request over the attached request manager.
*
* @param request The outgoing request to send.
* @returns The response to the specified request.
*/
sendRequest(request: StreamingRequest): Promise<IReceiveResponse>;
/**
* Executes the receive pipeline when a request comes in.
*
* @param id The id the resources created for the response will be assigned.
* @param request The incoming request to process.
*/
onReceiveRequest(id: string, request: IReceiveRequest): Promise<void>;
/**
* Executes the receive pipeline when a response comes in.
*
* @param id The id the resources created for the response will be assigned.
* @param response The incoming response to process.
*/
onReceiveResponse(id: string, response: IReceiveResponse): Promise<void>;
/**
* Executes the receive pipeline when a cancellation comes in.
*
* @param contentStreamAssembler The payload assembler processing the incoming data that this cancellation request targets.
*/
onCancelStream(contentStreamAssembler: PayloadAssembler): void;
}
//# sourceMappingURL=protocolAdapter.d.ts.map