fix(core): update
This commit is contained in:
parent
c390881a4e
commit
a23e7349be
@ -2,4 +2,4 @@ export interface IRequestAuthPayload {
|
||||
serverShortId: string;
|
||||
}
|
||||
|
||||
export type TConnectionEvent = 'terminated' | 'error';
|
||||
export type TConnectionStatus = 'new' | 'connecting' | 'connected' | 'disconnecting' | 'disconnected';
|
||||
|
@ -33,7 +33,9 @@ export class SmartsocketClient {
|
||||
public serverPort: number;
|
||||
public autoReconnect: boolean;
|
||||
|
||||
public eventSubject = new plugins.smartrx.rxjs.Subject<interfaces.TConnectionEvent>();
|
||||
// status handling
|
||||
public eventSubject = new plugins.smartrx.rxjs.Subject<interfaces.TConnectionStatus>();
|
||||
public eventStatus: interfaces.TConnectionStatus = 'new';
|
||||
|
||||
public socketFunctions = new plugins.lik.Objectmap<SocketFunction<any>>();
|
||||
public socketRequests = new plugins.lik.Objectmap<SocketRequest<any>>();
|
||||
@ -135,7 +137,7 @@ export class SmartsocketClient {
|
||||
}
|
||||
defaultLogger.log('warn', `disconnected from server ${this.remoteShortId}`);
|
||||
this.remoteShortId = null;
|
||||
this.eventSubject.next('terminated');
|
||||
this.updateStatus('disconnected');
|
||||
|
||||
if (this.autoReconnect) {
|
||||
this.tryDebouncedReconnect();
|
||||
@ -170,4 +172,11 @@ export class SmartsocketClient {
|
||||
const result = response.funcDataArg;
|
||||
return result;
|
||||
}
|
||||
|
||||
private updateStatus (statusArg: interfaces.TConnectionStatus) {
|
||||
if (this.eventStatus !== statusArg) {
|
||||
this.eventSubject.next(statusArg);
|
||||
}
|
||||
this.eventStatus = statusArg;
|
||||
}
|
||||
}
|
||||
|
@ -55,7 +55,8 @@ export class SocketConnection {
|
||||
public smartsocketRef: Smartsocket | SmartsocketClient;
|
||||
public socket: SocketIO.Socket | SocketIOClient.Socket;
|
||||
|
||||
public eventSubject = new plugins.smartrx.rxjs.Subject<interfaces.TConnectionEvent>();
|
||||
public eventSubject = new plugins.smartrx.rxjs.Subject<interfaces.TConnectionStatus>();
|
||||
public eventStatus: interfaces.TConnectionStatus = 'new';
|
||||
|
||||
constructor(optionsArg: ISocketConnectionConstructorOptions) {
|
||||
this.alias = optionsArg.alias;
|
||||
@ -173,6 +174,13 @@ export class SocketConnection {
|
||||
// disconnecting ----------------------
|
||||
public async disconnect() {
|
||||
this.socket.disconnect(true);
|
||||
this.eventSubject.next('terminated');
|
||||
this.updateStatus('disconnected');
|
||||
}
|
||||
|
||||
private updateStatus (statusArg: interfaces.TConnectionStatus) {
|
||||
if (this.eventStatus !== statusArg) {
|
||||
this.eventSubject.next(statusArg);
|
||||
}
|
||||
this.eventStatus = statusArg;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user