rsocket-rxjs
Version:
RSocket Protocol Client Implementation
84 lines (83 loc) • 3.25 kB
TypeScript
import { RSocketConfig } from '../config/rsocket-config';
import { ErrorCode, Frame, FrameType } from "./frame";
import { Payload } from "./payload";
export declare class FrameBuilder {
protected buffer: ArrayBuffer;
protected view: DataView;
protected writerIndex: number;
protected constructor(initialBufferSize?: number);
streamId(streamId: number): this;
static setup(): SetupFrameBuilder;
static keepalive(): KeepaliveFrameBuilder;
static cancel(): CancelFrameBuilder;
static requestResponse(): RequestResponseFrameBuilder;
static requestStream(): RequestStreamFrameBuilder;
static requestFNF(): RequestFNFFrameBuilder;
static payload(): PayloadFrameBuilder;
static error(): ErrorFrameBuilder;
static requestN(): RequestNFrameBuilder;
build(): Frame[];
protected setFrameType(type: FrameType): void;
protected requireMinFreeBytes(bytes: number): void;
protected flagMetadataPresent(): FrameBuilder;
protected setRequests(requests: number): void;
}
export declare class SetupFrameBuilder extends FrameBuilder {
constructor();
buildFromConfig(config: RSocketConfig): Frame;
flagMetadataPresent(): FrameBuilder;
flagResumeEnable(): FrameBuilder;
flagHonorsLease(): FrameBuilder;
majorVersion(version: number): FrameBuilder;
minorVersion(version: number): FrameBuilder;
keepaliveTime(time: number): this;
maxLifetime(time: number): this;
resumeToken(token: Uint8Array): this;
mimeType(mimeType: Uint8Array): void;
payload(payload: Payload): void;
}
export declare class RequestOrPayloadBuilder extends FrameBuilder {
protected _streamId: number;
protected _complete: boolean;
protected _fragments: RequestOrPayloadBuilder[];
constructor(initialSize?: number);
streamId(streamId: number): this;
payload(data: Payload, fragmentationSize: any): this;
build(): Frame[];
directMetadataWrite(requiredSize: number, writeCall: (buffer: Uint8Array) => number): this;
directDataWrite(requiredSize: number, writeCall: (buffer: Uint8Array) => number): this;
flagFollows(): this;
}
export declare class KeepaliveFrameBuilder extends FrameBuilder {
constructor();
lastReceivedPosition(position: number): this;
flagRespond(): this;
data(data: Uint8Array): this;
}
export declare class CancelFrameBuilder extends FrameBuilder {
constructor();
}
export declare class RequestResponseFrameBuilder extends RequestOrPayloadBuilder {
constructor();
}
export declare class RequestStreamFrameBuilder extends RequestOrPayloadBuilder {
constructor();
requests(requests: number): this;
}
export declare class RequestFNFFrameBuilder extends RequestOrPayloadBuilder {
constructor();
}
export declare class PayloadFrameBuilder extends RequestOrPayloadBuilder {
constructor();
flagComplete(): this;
flagNext(): this;
}
export declare class ErrorFrameBuilder extends FrameBuilder {
constructor();
message(msg: string): this;
errorCode(code: ErrorCode): this;
}
export declare class RequestNFrameBuilder extends FrameBuilder {
constructor();
requests(n: number): this;
}