rsocket-rxjs
Version:
RSocket Protocol Client Implementation
48 lines (47 loc) • 2.85 kB
TypeScript
import { Observable } from "rxjs";
import { BackpressureStrategy } from "../../api/rsocket.api";
import { DecodedPayload, EncodingRSocket, RSocketEncoderRequestOptions } from "../encoding-rsocket-client";
import { EncodingRSocketResponder } from "../encoding-rsocket-responder";
interface RouteMapping {
route: string;
}
export declare class RequestResponseMapping implements RouteMapping {
readonly route: string;
readonly handler: (payload: DecodedPayload) => Observable<DecodedPayload> | DecodedPayload;
readonly options?: RSocketEncoderRequestOptions;
constructor(route: string, handler: (payload: DecodedPayload) => Observable<DecodedPayload> | DecodedPayload, options?: RSocketEncoderRequestOptions);
}
export declare class RequestStreamMapping implements RouteMapping {
readonly route: string;
readonly handler: (payload: DecodedPayload) => Observable<DecodedPayload> | DecodedPayload;
readonly options?: RSocketEncoderRequestOptions;
readonly backpressureStrategy: BackpressureStrategy;
constructor(route: string, handler: (payload: DecodedPayload) => Observable<DecodedPayload> | DecodedPayload, options?: RSocketEncoderRequestOptions, backpressureStrategy?: BackpressureStrategy);
}
export declare class RequestFNFMapping implements RouteMapping {
readonly route: string;
readonly handler: (payload: DecodedPayload) => void;
readonly options?: RSocketEncoderRequestOptions;
constructor(route: string, handler: (payload: DecodedPayload) => void, options?: RSocketEncoderRequestOptions);
}
export declare class RSocketRoutingResponder extends EncodingRSocketResponder {
readonly encodingRSocket: EncodingRSocket;
private _requestResponseMappers;
private _requestStreamMappers;
private _requestFNFMappers;
constructor(encodingRSocket: EncodingRSocket);
removeHandler(route: string): void;
addRequestResponseHandler(route: string, handler: (payload: DecodedPayload) => Observable<any> | any, options?: RSocketEncoderRequestOptions): void;
addRequestStreamHandler(route: string, handler: (payload: DecodedPayload) => Observable<any> | any, options?: RSocketEncoderRequestOptions, backpressureStrategy?: BackpressureStrategy): void;
addRequestFNFHandler(route: string, handler: (payload: DecodedPayload) => void, options?: RSocketEncoderRequestOptions): void;
private addMapping;
handleDecodedRequestStream(payload: DecodedPayload<any, any>): {
stream: Observable<DecodedPayload<any, any>>;
backpressureStrategy: BackpressureStrategy;
};
handleDecodedRequestResponse(payload: DecodedPayload<any, any>): Observable<DecodedPayload<any, any>>;
handleDecodedFireAndForget(payload: DecodedPayload<any, any>): void;
private getMapping;
private getTopic;
}
export {};