/***************************************************************************** * Open MCT, Copyright (c) 2014-2018, United States Government * as represented by the Administrator of the National Aeronautics and Space * Administration. All rights reserved. * * Open MCT is licensed under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0. * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * * Open MCT includes source code licensed under additional open source * licenses. See the Open Source Licenses file (LICENSES.md) included with * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ define( [], function () { /** * Supports TelemetrySubscription. Provides a simple data structure * (with a pool-like interface) that aggregates key-value pairs into * one large object, overwriting new values as necessary. Stands * in contrast to the TelemetryQueue, which will avoid overwriting * values. * @memberof platform/telemetry * @constructor * @implements {platform/telemetry.TelemetryPool} */ function TelemetryTable() { } TelemetryTable.prototype.isEmpty = function () { return !this.table; }; TelemetryTable.prototype.poll = function () { var t = this.table; this.table = undefined; return t; }; TelemetryTable.prototype.put = function (key, value) { this.table = this.table || {}; this.table[key] = value; }; return TelemetryTable; } );