UNPKG

test-bed-time-service

Version:

A time service for the test-bed, producing messages with real time, fictive time and scenario duration.

41 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const node_test_bed_adapter_1 = require("node-test-bed-adapter"); const time_service_states_1 = require("./time-service-states"); const time_service_initialized_state_1 = require("./time-service-initialized-state"); class Idle extends time_service_states_1.TimeServiceBaseState { get name() { return node_test_bed_adapter_1.TimeState.Idle; } transition(controlMsg) { switch (controlMsg.command) { case node_test_bed_adapter_1.TimeCommand.Init: { if (!controlMsg.trialTime) { this.log.warn('Received Init command but no TrialTime was provided. Will default to current real-time.'); this.timeService.trialTime = (new Date).getTime(); } else { this.timeService.trialTime = controlMsg.trialTime; this.log.info('Initialized Trial Time to UTC: ' + new Date(controlMsg.trialTime).toUTCString()); } this.log.info('Received command ' + controlMsg.command + '. Transitioning to Initialized.'); return new time_service_initialized_state_1.Initialized(this.timeService); } default: { this.log.warn('Received command ' + controlMsg.command + ' while in Idle state. Doing nothing!'); return this; } } } createTimeMessage() { return { updatedAt: Date.now(), trialTime: 0, timeElapsed: 0, trialTimeSpeed: 0, state: node_test_bed_adapter_1.TimeState.Idle }; } } exports.Idle = Idle; //# sourceMappingURL=time-service-idle-state.js.map