tarantoolscript
Version:
TypeScript definitions for Tarantool Lua API.
80 lines (70 loc) • 3.74 kB
TypeScript
import { ProtocolFeatures } from '../../builtin/box/iproto/ProtocolFeatures';
export interface NetBoxConnectOptions {
/**
* Option to connect to a remote host other than through URI.
*/
user?: string;
/**
* Option to connect to a remote host other than through URI.
*/
password?: string;
/**
* A connection timeout.
* By default, the connection is blocked until the connection is established,
* but if you specify `wait_connected=false`, the connection returns immediately.
* If you specify this timeout, it will wait before returning (`wait_connected=1.5` makes it wait at most 1.5 seconds).
*
* Note: If `reconnect_after` is greater than zero, then `wait_connected` ignores transient failures.
* The wait completes once the connection is established or is closed explicitly.
*/
wait_connected?: number | false;
/**
* A number of seconds to wait before reconnecting. The default value, as with the other `connect` options, is `nil`.
* If `reconnect_after` is greater than zero,
* then a `net.box` instance will attempt to reconnect if a connection is lost or a connection attempt fails.
* This makes transient network failures transparent to the application.
* Reconnection happens automatically in the background,
* so requests that initially fail due to connection drops fail, are transparently retried.
* The number of retries is unlimited, connection retries are made after any specified interval
* (for example, `reconnect_after=5` means that reconnect attempts are made every 5 seconds).
* When a connection is explicitly closed or when the Lua garbage collector removes it, then reconnect attempts stop.
*/
reconnect_after?: number;
/**
* Since 1.7.2.
* A new binary protocol command for CALL in `net.box` connections by default.
* The new CALL is not backward compatible with previous versions.
* It no longer restricts a function to returning an array of tuples and allows returning an arbitrary MsgPack/JSON result,
* including scalars, nil and void (nothing). The old CALL is left intact for backward compatibility.
* It will not be present in the next major release.
* All programming language drivers will gradually be switched to the new CALL.
* To connect to a Tarantool instance that uses the old CALL, specify `call_16=true`.
*/
call_16?: boolean;
/**
* A number of seconds to wait before returning “error: Connection timed out”.
*/
connect_timeout?: number;
/**
* A boolean option that controls fetching schema changes from the server. Default: `true`.
* If you don’t operate with remote spaces, for example, run only `call` or `eval`,
* set `fetch_schema` to `false` to avoid fetching schema changes which is not needed in this case.
*
* Important: In connections with `fetch_schema == false`,
* remote spaces are unavailable and the `on_schema_reload` triggers don’t work.
*/
fetch_schema?: boolean;
/**
* A minimum version of the IPROTO protocol supported by the server.
* If the version of the IPROTO protocol supported by the server is lower than specified,
* the connection will fail with an error message. With `required_protocol_version = 1`,
* all connections fail where the IPROTO protocol version is lower than `1`.
*/
required_protocol_version?: number;
/**
* Specified IPROTO protocol features supported by the server.
* If the server does not support the specified features, the connection will fail with an error message.
* With `required_protocol_features = {'transactions'}`, all connections fail where the server has `transactions: false`.
*/
required_protocol_features?: (keyof ProtocolFeatures)[]
}