24 lines
985 B
TypeScript
24 lines
985 B
TypeScript
import EventEmitter from "events";
|
|
import Logger from "../Logger";
|
|
import {SessionManager} from "../SessionManager";
|
|
import {SmppSession} from "../SmppSession";
|
|
import {Client} from "./Client";
|
|
|
|
const CLIENT_SESSIONS_FILE: string = process.env.CLIENT_SESSIONS_FILE || "client_sessions.json";
|
|
|
|
export default class ClientSessionManager extends SessionManager {
|
|
StorageFile: string = CLIENT_SESSIONS_FILE;
|
|
ManagedSessionClass: any = Client;
|
|
sessionId: number = 0;
|
|
sessions: Client[] = [];
|
|
// Identifier is used in websockets to identify the type of session this manager manages
|
|
identifier: string = "client";
|
|
readonly logger: Logger = new Logger("ClientSessionManager");
|
|
|
|
constructor() {
|
|
super();
|
|
// super.eventEmitter.on(super.SESSION_ADDED_EVENT, (session: SmppSession) => this.eventEmitter.emit(this.SESSION_ADDED_EVENT, session));
|
|
}
|
|
|
|
comparatorFn: (arg: any, session: SmppSession) => boolean = (arg: any, session: SmppSession) => (session as Client).getUrl() === arg;
|
|
} |