ydb-sdk
Version:
Node.js bindings for working with YDB API over gRPC
46 lines • 1.9 kB
TypeScript
import { Ydb } from "ydb-sdk-proto";
export import GrpcQueryService = Ydb.Query.V1.QueryService;
import { Endpoint } from "../discovery";
import { ISslCredentials } from "../utils/ssl-credentials";
import EventEmitter from "events";
import { QuerySession } from "./query-session";
import { AuthenticatedService, ClientOptions } from "../utils";
import { IAuthService } from "../credentials/i-auth-service";
import { Logger } from "../logger/simple-logger";
import { IClientSettings } from "../client/settings";
export declare class QueryService extends AuthenticatedService<GrpcQueryService> {
endpoint: Endpoint;
private readonly logger;
constructor(endpoint: Endpoint, database: string, authService: IAuthService, logger: Logger, sslCredentials?: ISslCredentials, clientOptions?: ClientOptions);
createSession(): Promise<QuerySession>;
}
export declare enum SessionEvent {
SESSION_RELEASE = "SESSION_RELEASE",
SESSION_BROKEN = "SESSION_BROKEN"
}
export type SessionCallback<T> = (session: QuerySession) => Promise<T>;
export declare class QuerySessionPool extends EventEmitter {
private readonly database;
private readonly authService;
private readonly sslCredentials?;
private readonly clientOptions?;
minLimit: number;
private readonly maxLimit;
private readonly sessions;
private readonly queryServices;
private readonly discoveryService;
private newSessionsRequested;
private sessionsBeingDeleted;
private readonly logger;
private readonly waiters;
private static SESSION_MIN_LIMIT;
private static SESSION_MAX_LIMIT;
constructor(settings: IClientSettings);
destroy(): Promise<void>;
private getSessionBuilder;
private maybeUseSession;
private createSession;
private deleteSession;
acquire(timeout?: number): Promise<QuerySession>;
}
//# sourceMappingURL=query-session-pool.d.ts.map