@iobroker/db-states-jsonl
Version:
The Library contains the JSONL Database classes for File based states database client and server.
71 lines • 2.18 kB
TypeScript
/**
* This class inherits statesInMemoryFileDB class and adds socket.io communication layer
* to access the methods via socket.io
*/
export class StatesInMemoryServer extends StatesInMemoryJsonlDB {
/**
* Constructor
*
* @param settings State and InMem-DB settings
*/
constructor(settings: any);
serverConnections: {};
namespaceStates: string;
namespaceMsg: string;
namespaceLog: string;
namespaceSession: string;
namespaceMsgLen: number;
namespaceLogLen: number;
metaNamespace: string;
metaNamespaceLen: number;
/**
* Separate Namespace from ID and return both
*
* @param idWithNamespace ID or Array of IDs containing a redis namespace and the real ID
* @returns Object with namespace and the
* ID/Array of IDs without the namespace
*/
_normalizeId(idWithNamespace: any): {
id: any;
namespace: string;
};
/**
* Publish a subscribed value to one of the redis connections in redis format
*
* @param client Instance of RedisHandler
* @param type Type of subscribed key
* @param id Subscribed ID
* @param obj Object to publish
* @returns Publish counter 0 or 1 depending if send out or not
*/
publishToClients(client: any, type: any, id: any, obj: any): 0 | 1;
/**
* Register all event listeners for Handler and implement the relevant logic
*
* @param handler RedisHandler instance
*/
_socketEvents(handler: any): void;
/**
* Return connected RedisHandlers/Connections
*
* @returns
*/
getClients(): {};
/**
* Initialize RedisHandler for a new network connection
*
* @param socket Network socket
*/
_initSocket(socket: any): void;
/**
* Initialize Redis Server
*
* @param settings Settings object
* @returns
*/
_initRedisServer(settings: any): Promise<any>;
server: net.Server | undefined;
}
import { StatesInMemoryJsonlDB } from './statesInMemJsonlDB.js';
import net from 'node:net';
//# sourceMappingURL=statesInMemServerRedis.d.ts.map