/// declare module "copyright" { export class FoundationDeviceServiceCopyright { static toString(): string; } } declare module "foundation/device/service/cache/CacheDeviceTypeEnum" { export class CacheDeviceTypeEnum { static Memcache: string; static Redis: string; } } declare module "foundation/device/service/cache/redis/RedisDataBlock" { export type RedisDataBlock = { tick: number; value: any; }; } declare module "foundation/device/service/cache/redis/RedisOptions" { import { CacheOptions } from 'cross/service/module/cache/CacheOptions'; export class RedisOptions extends CacheOptions { } } declare module "foundation/device/service/cache/redis/RedisUtil" { import { ResultObject } from 'cross/runtime/lang/ResultObject'; import { CacheConnectionPool } from 'cross/service/module/cache/CacheConnectionPool'; import { CacheConnectionService } from 'cross/service/module/cache/CacheConnectionService'; import { RedisConnection } from "foundation/device/service/cache/redis/RedisConnection"; import { RedisOptions } from "foundation/device/service/cache/redis/RedisOptions"; export type RedisQueueData = { id: string; content: any; }; export type RedlockOption = { retryCount: number; retryDelay: number; }; export class RedisUtil { static DEFAULT_LOCK_TTL: number; static DATA_QUEUE_PRO_KEY: string; static QUEUE_DATA_INFO_PRE_KEY: string; static DEFAULT_QUEUE_DATA_INFO_TIMEOUT: number; protected static _connectionService: CacheConnectionService; static makeUrl(options: RedisOptions): string; static makeQueueKey(key: string): string; static makeQueueInfoKey(key: string, id: string): string; static getDataQueueAsync(key: string, redisConnection: RedisConnection): Promise; static getQueueDataAsync(key: string, id: string, connection: RedisConnection): Promise>; static delQueueDataAsync(key: string, id: string, connection: RedisConnection): Promise; static dataQueueLpopAsync(key: string, redisConnection: RedisConnection): Promise>; static setDataForDataQueueAsync(key: string, data: RedisQueueData, redisConnection: RedisConnection, timeout?: number): Promise; static dataQueueRpushAsync(key: string, data: RedisQueueData | RedisQueueData[], redisConnection: RedisConnection, timeout?: number): Promise; static getDefaultConnectionAsync(): Promise>; static freeConnection(connection: RedisConnection, pool?: CacheConnectionPool): void; static lockAsync(key: string, redisConnections: RedisConnection[] | any[], lockOption?: RedlockOption, ttl?: number): Promise>; static processLockAsync(key: string, redisConnections: RedisConnection[], owner: any, callback: Function, callback2?: Function, lockOption?: RedlockOption, ttl?: number): Promise; } } declare module "foundation/device/service/cache/redis/RedisConnection" { import { ResultObject } from 'cross/runtime/lang/ResultObject'; import { EnvironmentService } from 'cross/runtime/module/environment/EnvironmentService'; import { CacheConnection } from 'cross/service/module/cache/CacheConnection'; import { CacheResult } from 'cross/service/module/cache/CacheResult'; import { RedisOptions } from "foundation/device/service/cache/redis/RedisOptions"; export class RedisConnection extends CacheConnection { options: RedisOptions; protected _client: any; protected _redlock: any; protected _environmentService: EnvironmentService; constructor(); get client(): any; errorHandle: (error: any) => void; connectHandle: (error: any) => void; readyHandle: (error: any) => void; setupAsync(): Promise; getAsync(key: string, timeout?: number): Promise; setAsync(key: string, value: any, timeout?: number): Promise; rpopAsync(key: string, timeout?: number): Promise; lpopAsync(key: string, timeout?: number): Promise; lremAsync(key: string, count: number, value: string, timeout?: number): Promise; keysAsync(pattern?: string): Promise; lpushAsync(key: string, value: string | string[]): Promise; rpushAsync(key: string, value: string | string[]): Promise; delAsync(keys: string | string[]): Promise; flushdbAsync(): Promise; flushAllAsync(): Promise; free(): void; shutdown(): void; disconnectAsync(): Promise; } } declare module "foundation/device/service/cache/redis/RedisConnectionPool" { import { Types } from 'cross/runtime/lang/collection/Types'; import { ObjectPool } from 'cross/runtime/lang/ObjectPool'; import { ResultObject } from 'cross/runtime/lang/ResultObject'; import { CacheConnectionPool } from 'cross/service/module/cache/CacheConnectionPool'; import { RedisConnection } from "foundation/device/service/cache/redis/RedisConnection"; import { RedisOptions } from "foundation/device/service/cache/redis/RedisOptions"; export class RedisConnectionPool extends CacheConnectionPool { protected _options: RedisOptions; protected _pool: ObjectPool; protected _connections: Types; constructor(); get pool(): ObjectPool; loadConfig(jconfig: any): void; allocAsync(): Promise>; free(connection: RedisConnection): void; shutdownAsync(): Promise; testAsync(): Promise; } } declare module "foundation/device/service/cache/redis/RedisCacheDevice" { import { CacheDevice } from 'cross/core/device/cache/CacheDevice'; import { ICachePool } from 'cross/core/device/cache/ICachePool'; import { CacheOptions } from 'cross/service/module/cache/CacheOptions'; export class RedisCacheDevice extends CacheDevice { makeUrl(options: CacheOptions): string; createConnection(): any; createPool(): ICachePool; } } declare module "foundation/device/service/cache/redis/RedisCacheDeviceProvider" { import { DeviceProvider } from 'cross/runtime/module/device/DeviceProvider'; import { RedisCacheDevice } from "foundation/device/service/cache/redis/RedisCacheDevice"; export class RedisCacheDeviceProvider extends DeviceProvider { create(parameters?: any): RedisCacheDevice; } } declare module "foundation/device/service/cache/redis/RedisLock" { import { CacheLock } from 'cross/service/module/cache/CacheLock'; import { CacheResult } from 'cross/service/module/cache/CacheResult'; import { RedisConnection } from "foundation/device/service/cache/redis/RedisConnection"; export class RedisLock extends CacheLock { protected _key: string; protected _connections: RedisConnection[]; protected _timeout: number; protected _handle: any; protected _locker: any; constructor(key: string, connections: RedisConnection[], timeout?: number); lockAsync(timeout?: number): Promise; unlockAsync(): Promise; processAsync(owner: any, callback: any, parameters?: Array): Promise; dispose(): void; } } declare module "foundation/device/service/cache/redis/RedisQueueData" { export type RedisQueueData = { id: string; content: any; }; } declare module "foundation/device/service/cache/redis/RedisQueue" { import { ResultObject } from 'cross/runtime/lang/ResultObject'; import { CacheQueue } from 'cross/service/module/cache/CacheQueue'; import { RedisConnection } from "foundation/device/service/cache/redis/RedisConnection"; import { RedisQueueData } from "foundation/device/service/cache/redis/RedisQueueData"; export class RedisQueue extends CacheQueue { queueKey: string; protected _connection: RedisConnection; constructor(connection: RedisConnection); deleteDataAsync(host: string, id: string): Promise>; getDataAsync(host: string, id: string): Promise>; delDataAsync(host: string, id: string): Promise>; pushAsync(host: string, data: RedisQueueData | RedisQueueData[], timeout?: number): Promise; popAsync(host?: string): Promise>; } } declare module "foundation/device/service/IndexSpace" { export class IndexSpace { static namespaces(): string[]; } } declare module "foundation/device/service/lock/RedisGlobalLockDevice" { import { ResultObject } from 'cross/runtime/lang/ResultObject'; import { EnvironmentService } from 'cross/runtime/module/environment/EnvironmentService'; import { GlobalLockDevice, GlobalLockOption } from 'cross/system/device/lock/GlobalLockDevice'; import { GlobalLockOptions } from 'cross/system/device/lock/GlobalLockOptions'; import { CacheConnection } from 'cross/service/module/cache/CacheConnection'; import { RedisOptions } from "foundation/device/service/cache/redis/RedisOptions"; import { RedlockOption } from "foundation/device/service/cache/redis/RedisUtil"; export class RedisGlobalLockDevice extends GlobalLockDevice { protected options: RedisOptions; protected _environmentService: EnvironmentService; constructor(); loadConfig(jconfig: any): void; getLockAsync(key: string, connections: any[], lockOption?: RedlockOption, ttl?: number): Promise>; lockAsync(key: string, owner: any, callback: Function, options?: GlobalLockOptions): Promise; innerDefaultConnectionAsync(): Promise>; innerLockAsync(key: string, redisConnections: CacheConnection[] | any[], lockOption?: GlobalLockOption, ttl?: number): Promise>; } } declare module "foundation/device/service/lock/RedisGlobalLockDeviceProvider" { import { DeviceProvider } from 'cross/runtime/module/device/DeviceProvider'; import { RedisGlobalLockDevice } from "foundation/device/service/lock/RedisGlobalLockDevice"; export class RedisGlobalLockDeviceProvider extends DeviceProvider { create(parameters?: any): RedisGlobalLockDevice; } } declare module "foundation/device/service/lock/RedisGlobalLockService" { import { ResultObject } from 'cross/runtime/lang/ResultObject'; import { EnvironmentService } from 'cross/runtime/module/environment/EnvironmentService'; import { Service } from 'cross/runtime/module/Service'; import { RedisOptions } from "foundation/device/service/cache/redis/RedisOptions"; import { RedlockOption } from "foundation/device/service/cache/redis/RedisUtil"; export class RedisGlobalLockService extends Service { protected options: RedisOptions; protected _environmentService: EnvironmentService; constructor(); initializeConfig(jconfig: any): void; lockAsync(key: string, connections: any[], lockOption?: RedlockOption, ttl?: number): Promise>; processLockAsync(key: string, owner: any, callback: Function, callback2?: Function, lockOption?: RedlockOption, ttl?: number): Promise; } }