.. _object_MeasurementBufferDatabase: :index:`MeasurementBufferDatabase` ---------------------------------- Description *********** The MeasurementBufferDatabase object is a helper class to buffer :ref:`Measurement ` objects in a local database whenever a remote measurement storage client (such as a Cloud of Things client or MQTT measurement writer) is offline or not connected. This object was introduced in InCore 2.5. :**› Inherits**: :ref:`DatabaseMeasurementWriter ` Overview ******** Properties ++++++++++ .. hlist:: :columns: 2 * :ref:`bufferDrainChunkSize ` * :ref:`bufferDrainInterval ` * :ref:`bufferSize ` * :ref:`buffering ` * :ref:`transmitOrder ` * :ref:`DatabaseMeasurementWriter.database ` * :ref:`DatabaseMeasurementWriter.databaseTable ` * :ref:`DatabaseMeasurementWriter.measurements ` * :ref:`Object.objectId ` * :ref:`Object.parent ` Methods +++++++ .. hlist:: :columns: 1 * :ref:`DatabaseMeasurementWriter.clear() ` * :ref:`DatabaseMeasurementWriter.datasetCount() ` * :ref:`DatabaseMeasurementWriter.store() ` * :ref:`Object.deserializeProperties() ` * :ref:`Object.fromJson() ` * :ref:`Object.serializeProperties() ` * :ref:`Object.toJson() ` Signals +++++++ .. hlist:: :columns: 1 * :ref:`DatabaseMeasurementWriter.measurementsDataChanged() ` * :ref:`Object.completed() ` Enumerations ++++++++++++ .. hlist:: :columns: 1 * :ref:`TransmitOrder ` Properties ********** .. _property_MeasurementBufferDatabase_bufferDrainChunkSize: .. _signal_MeasurementBufferDatabase_bufferDrainChunkSizeChanged: .. index:: single: bufferDrainChunkSize bufferDrainChunkSize ++++++++++++++++++++ This property holds how many buffered measurements are sent at once whenever the remote resource is online again. The lowest allowed value is ``1``. :**› Type**: SignedInteger :**› Default**: ``1`` :**› Signal**: bufferDrainChunkSizeChanged() :**› Attributes**: Writable .. _property_MeasurementBufferDatabase_bufferDrainInterval: .. _signal_MeasurementBufferDatabase_bufferDrainIntervalChanged: .. index:: single: bufferDrainInterval bufferDrainInterval +++++++++++++++++++ This property holds the send interval in which buffered measurements are sent whenever the remote resource is online again. The lowest allowed value is ``100``. :**› Type**: SignedInteger :**› Default**: ``2000`` :**› Signal**: bufferDrainIntervalChanged() :**› Attributes**: Writable .. _property_MeasurementBufferDatabase_bufferSize: .. _signal_MeasurementBufferDatabase_bufferSizeChanged: .. index:: single: bufferSize bufferSize ++++++++++ This property holds the number of :ref:`Measurement ` objects which can be buffered at most. If this limit is reached, the oldest measurement will be removed. Setting to ``0`` disables buffering. :**› Type**: SignedInteger :**› Default**: ``100000`` :**› Signal**: bufferSizeChanged() :**› Attributes**: Writable .. _property_MeasurementBufferDatabase_buffering: .. _signal_MeasurementBufferDatabase_bufferingChanged: .. index:: single: buffering buffering +++++++++ This property holds whether measurements should be buffered in the local database whenever the remote resource is offline or not connected. Once the remote resource is online again, buffered measurements are sent at a writer-specific interval. :**› Type**: Boolean :**› Default**: ``true`` :**› Signal**: bufferingChanged() :**› Attributes**: Writable .. _property_MeasurementBufferDatabase_transmitOrder: .. _signal_MeasurementBufferDatabase_transmitOrderChanged: .. index:: single: transmitOrder transmitOrder +++++++++++++ This property holds the order in which the :ref:`Measurement ` objects are sent whenever a connection is restored. :**› Type**: :ref:`MeasurementBufferDatabase.TransmitOrder ` :**› Default**: :ref:`MeasurementBufferDatabase.Descending ` :**› Signal**: transmitOrderChanged() :**› Attributes**: Writable Enumerations ************ .. _enum_MeasurementBufferDatabase_TransmitOrder: .. index:: single: TransmitOrder TransmitOrder +++++++++++++ This enumeration describes the order in which buffered :ref:`Measurement ` objects are sent whenever a connection is restored. .. index:: single: MeasurementBufferDatabase.Ascending .. index:: single: MeasurementBufferDatabase.Descending .. list-table:: :widths: auto :header-rows: 1 * - Name - Value - Description .. _enumitem_MeasurementBufferDatabase_Ascending: * - ``MeasurementBufferDatabase.Ascending`` - ``0`` - Send measurements in ascending order - oldest first. .. _enumitem_MeasurementBufferDatabase_Descending: * - ``MeasurementBufferDatabase.Descending`` - ``1`` - Send measurements in descending order - latest first.