UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

57 lines 3.61 kB
import { ConnectionState, } from '@iotize/tap/protocol/api'; import { Subject } from 'rxjs'; import { debug } from './debug'; const TAG = 'ComProtocol'; export class AbstractComProtocol { constructor() { this.connectionState = ConnectionState.DISCONNECTED; this._options = { connect: { timeout: 1000, }, disconnect: { timeout: 1000, }, send: { timeout: 500, }, }; } get options() { return this._options; } set options(options) { this._options = options; } getConnectionState() { return this.connectionState; } isConnected() { return this.connectionState == ConnectionState.CONNECTED; } setConnectionState(connectionState) { debug(TAG, 'setConnectionState', ConnectionState[connectionState], 'Old: ', ConnectionState[this.connectionState]); let event = { newState: connectionState, oldState: this.connectionState, }; this.connectionState = connectionState; if (this._connectionStateChange) { this._connectionStateChange.next(event); } return this; } /** * Must be implemented in childs */ receiveStream() { throw new Error('Method not implemented.'); } onConnectionStateChange() { if (!this._connectionStateChange) { this._connectionStateChange = new Subject(); } return this._connectionStateChange; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29tLXByb3RvY29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvdG9jb2wvY29yZS9zcmMvbGliL2Fic3RyYWN0LWNvbS1wcm90b2NvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0wsZUFBZSxHQUVoQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoQyxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUM7QUFFMUIsTUFBTSxPQUFnQixtQkFBbUI7SUEyQnZDO1FBQ0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxHQUFHO2FBQ2I7U0FDRixDQUFDO0lBQ0osQ0FBQztJQWxDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQTJCO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUE4QkQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQzNELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxlQUFnQztRQUNqRCxLQUFLLENBQ0gsR0FBRyxFQUNILG9CQUFvQixFQUNwQixlQUFlLENBQUMsZUFBZSxDQUFDLEVBQ2hDLE9BQU8sRUFDUCxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUN0QyxDQUFDO1FBQ0YsSUFBSSxLQUFLLEdBQUc7WUFDVixRQUFRLEVBQUUsZUFBZTtZQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDL0IsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ2hDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztTQUN6RTtRQUNELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7Q0FDRiJ9