<?xml version="1.0"?>
<doc>
    <assembly>
        <name>sttp.gemstone</name>
    </assembly>
    <members>
        <member name="T:sttp.Common">
            <summary>
            Common static methods and extensions for transport library.
            </summary>
        </member>
        <member name="P:sttp.Common.UseManagedEncryption">
            <summary>
            Gets flag that determines if managed encryption should be used.
            </summary>
        </member>
        <member name="P:sttp.Common.SymmetricAlgorithm">
            <summary>
            Gets an AES symmetric algorithm to use for encryption or decryption.
            </summary>
        </member>
        <member name="T:sttp.CompactMeasurementStateFlags">
            <summary>
            <see cref="T:sttp.CompactMeasurement"/> state flags.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.DataRange">
            <summary>
            A data range flag was set.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.DataQuality">
            <summary>
            A data quality flag was set.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.TimeQuality">
            <summary>
            A time quality flag was set.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.SystemIssue">
            <summary>
            A system flag was set.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.CalculatedValue">
            <summary>
            Calculated value bit was set.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.DiscardedValue">
            <summary>
            Discarded value bit was set.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.BaseTimeOffset">
            <summary>
            Compact measurement timestamp was serialized using base time offset when set.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.TimeIndex">
            <summary>
            Use odd time index (i.e., 1) when bit is set; even time index (i.e., 0) when bit is clear.
            </summary>
        </member>
        <member name="F:sttp.CompactMeasurementStateFlags.NoFlags">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="T:sttp.MeasurementStateMappingExtensions">
            <summary>
            Defines static methods for mapping between compact and full measurement states.
            </summary>
        </member>
        <member name="M:sttp.MeasurementStateMappingExtensions.MapToCompactFlags(Gemstone.Timeseries.MeasurementStateFlags)">
            <summary>
            Maps <see cref="T:Gemstone.Timeseries.MeasurementStateFlags"/> to <see cref="T:sttp.CompactMeasurementStateFlags"/>.
            </summary>
            <param name="stateFlags">Flags to map.</param>
            <returns><see cref="T:sttp.CompactMeasurementStateFlags"/> mapped from <see cref="T:Gemstone.Timeseries.MeasurementStateFlags"/>.</returns>
        </member>
        <member name="M:sttp.MeasurementStateMappingExtensions.MapToFullFlags(sttp.CompactMeasurementStateFlags)">
            <summary>
            Maps <see cref="T:sttp.CompactMeasurementStateFlags"/> to <see cref="T:Gemstone.Timeseries.MeasurementStateFlags"/>.
            </summary>
            <param name="stateFlags">Flags to map.</param>
            <returns><see cref="T:Gemstone.Timeseries.MeasurementStateFlags"/> mapped from <see cref="T:sttp.CompactMeasurementStateFlags"/>.</returns>
        </member>
        <member name="T:sttp.CompactMeasurement">
            <summary>
            Represents a <see cref="T:Gemstone.Timeseries.IMeasurement"/> that can be serialized with minimal size.
            </summary>
            <remarks>
            This measurement implementation is serialized through <see cref="T:Gemstone.IO.Parsing.ISupportBinaryImage"/>
            to allow complete control of binary format. Only critical measurements properties are
            serialized and every attempt is made to optimize the binary image for purposes of size
            reduction.
            </remarks>
        </member>
        <member name="F:sttp.CompactMeasurement.FixedLength">
            <summary>
            Fixed byte length of a <see cref="T:sttp.CompactMeasurement"/>.
            </summary>
        </member>
        <member name="M:sttp.CompactMeasurement.#ctor(sttp.SignalIndexCache,System.Boolean,System.Int64[],System.Int32,System.Boolean)">
            <summary>
            Creates a new <see cref="T:sttp.CompactMeasurement"/>.
            </summary>
            <param name="signalIndexCache">Signal index cache used to serialize or deserialize runtime information.</param>
            <param name="includeTime">Set to <c>true</c> to include time in serialized packet; otherwise <c>false</c>.</param>
            <param name="baseTimeOffsets">Base time offset array - set to <c>null</c> to use full fidelity measurement time.</param>
            <param name="timeIndex">Time index to use for base offset.</param>
            <param name="useMillisecondResolution">Flag that determines if millisecond resolution is in use for this serialization.</param>
        </member>
        <member name="M:sttp.CompactMeasurement.#ctor(Gemstone.Timeseries.IMeasurement,sttp.SignalIndexCache,System.Boolean,System.Int64[],System.Int32,System.Boolean)">
            <summary>
            Creates a new <see cref="T:sttp.CompactMeasurement"/> from an existing <see cref="T:Gemstone.Timeseries.IMeasurement"/> value.
            </summary>
            <param name="measurement">Source <see cref="T:Gemstone.Timeseries.IMeasurement"/> value.</param>
            <param name="signalIndexCache">Signal index cache used to serialize or deserialize runtime information.</param>
            <param name="includeTime">Set to <c>true</c> to include time in serialized packet; otherwise <c>false</c>.</param>
            <param name="baseTimeOffsets">Base time offset array - set to <c>null</c> to use full fidelity measurement time.</param>
            <param name="timeIndex">Time index to use for base offset.</param>
            <param name="useMillisecondResolution">Flag that determines if millisecond resolution is in use for this serialization.</param>
        </member>
        <member name="P:sttp.CompactMeasurement.IncludeTime">
            <summary>
            Gets flag that determines if time is serialized into measurement binary image.
            </summary>
        </member>
        <member name="P:sttp.CompactMeasurement.BinaryLength">
            <summary>
            Gets the length of the <see cref="T:sttp.CompactMeasurement"/>.
            </summary>
        </member>
        <member name="P:sttp.CompactMeasurement.TimestampC2">
            <summary>
            Gets offset compressed millisecond-resolution 2-byte timestamp.
            </summary>
        </member>
        <member name="P:sttp.CompactMeasurement.TimestampC4">
            <summary>
            Gets offset compressed tick-resolution 4-byte timestamp.
            </summary>
        </member>
        <member name="P:sttp.CompactMeasurement.CompactStateFlags">
            <summary>
            Gets or sets byte level compact state flags with encoded time index and base time offset bits.
            </summary>
        </member>
        <member name="P:sttp.CompactMeasurement.RuntimeID">
            <summary>
            Gets or sets the 4-byte run-time signal index for this measurement.
            </summary>
        </member>
        <member name="M:sttp.CompactMeasurement.ParseBinaryImage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Initializes <see cref="T:sttp.CompactMeasurement"/> from the specified binary image.
            </summary>
            <param name="buffer">Buffer containing binary image to parse.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start parsing.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> from <paramref name="startIndex"/>.</param>
            <returns>The number of bytes used for initialization in the <paramref name="buffer"/> (i.e., the number of bytes parsed).</returns>
            <exception cref="T:System.InvalidOperationException">Not enough buffer available to deserialize measurement.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <paramref name="length"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <paramref name="length"/> will exceed <paramref name="buffer"/> length.
            </exception>
        </member>
        <member name="M:sttp.CompactMeasurement.GenerateBinaryImage(System.Byte[],System.Int32)">
            <summary>
            Generates binary image of the <see cref="T:sttp.CompactMeasurement"/> and copies it into the given buffer, for <see cref="P:Gemstone.IO.Parsing.ISupportBinaryImage.BinaryLength"/> bytes.
            </summary>
            <param name="buffer">Buffer used to hold generated binary image of the source object.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start writing.</param>
            <returns>The number of bytes written to the <paramref name="buffer"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <see cref="P:Gemstone.IO.Parsing.ISupportBinaryImage.BinaryLength"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <see cref="P:Gemstone.IO.Parsing.ISupportBinaryImage.BinaryLength"/> will exceed <paramref name="buffer"/> length.
            </exception>
            <remarks>
            <para>
            Field:     Bytes: <br/>
            --------   -------<br/>
             Flags        1   <br/>
              ID          4   <br/>
             Value        4   <br/>
             [Time]       2?  <br/>
            </para>
            <para>
            Constant Length = 9<br/>
            Variable Length = 0, 2, 4 or 8 (i.e., total size is 9, 11, 13 or 17)
            </para>
            </remarks>
        </member>
        <member name="T:sttp.DataGapRecoverer">
            <summary>
            Represents a data gap recovery module. 
            </summary>
            <remarks>
            <para>
            Data gaps will be recovered using an unsynchronized temporal subscription.
            </para>
            <para>
            This class expects that source historian that feeds temporal subscription
            will recover data in time-sorted order.
            </para>
            </remarks>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultRecoveryStartDelay">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.RecoveryStartDelay"/>.
            </summary>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultDataMonitoringInterval">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.DataMonitoringInterval"/>.
            </summary>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultMinimumRecoverySpan">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.MinimumRecoverySpan"/>.
            </summary>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultMaximumRecoverySpan">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.MaximumRecoverySpan"/>.
            </summary>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultFilterExpression">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.FilterExpression"/>.
            </summary>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultRecoveryProcessingInterval">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.RecoveryProcessingInterval"/>.
            </summary>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultUseMillisecondResolution">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.UseMillisecondResolution"/>.
            </summary>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultStartRecoveryBuffer">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.StartRecoveryBuffer"/>.
            </summary>
        </member>
        <member name="F:sttp.DataGapRecoverer.DefaultEndRecoveryBuffer">
            <summary>
            Default value for <see cref="P:sttp.DataGapRecoverer.EndRecoveryBuffer"/>.
            </summary>
        </member>
        <member name="E:sttp.DataGapRecoverer.RecoveredMeasurements">
            <summary>
            Provides recovered measurements from temporal subscription.
            </summary>
            <remarks>
            <see cref="F:Gemstone.EventArgs`1.Argument"/> is a collection of measurements for consumer to process.
            </remarks>
        </member>
        <member name="E:sttp.DataGapRecoverer.StatusMessage">
            <summary>
            Provides status messages to consumer.
            </summary>
            <remarks>
            <see cref="F:Gemstone.EventArgs`1.Argument"/> is new status message.
            </remarks>
        </member>
        <member name="E:sttp.DataGapRecoverer.ProcessException">
            <summary>
            Event is raised when there is an exception encountered during <see cref="T:sttp.DataGapRecoverer"/> processing.
            </summary>
            <remarks>
            <see cref="F:Gemstone.EventArgs`1.Argument"/> is the exception that was thrown.
            </remarks>
        </member>
        <member name="E:sttp.DataGapRecoverer.Disposed">
            <summary>
            Raised after the <see cref="T:sttp.DataGapRecoverer"/> has been properly disposed.
            </summary>
        </member>
        <member name="M:sttp.DataGapRecoverer.#ctor">
            <summary>
            Creates a new <see cref="T:sttp.DataGapRecoverer"/>.
            </summary>
        </member>
        <member name="M:sttp.DataGapRecoverer.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:sttp.DataGapRecoverer"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.Log">
            <summary>
            Log messages generated by an adapter.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.SourceConnectionName">
            <summary>
            Gets or sets name of source connection device (e.g., a data subscriber).
            </summary>
            <remarks>
            This name will be used to create the <see cref="P:Gemstone.IO.OutageLog.FileName"/>.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Value cannot be null or an empty string.</exception>
        </member>
        <member name="P:sttp.DataGapRecoverer.DataSource">
            <summary>
            Gets or sets <see cref="T:System.Data.DataSet"/> based data source available to this <see cref="T:sttp.DataGapRecoverer"/>.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.ConnectionString">
            <summary>
            Gets or sets connection string that will be used to make a temporal subscription when recovering data for an <see cref="T:Gemstone.IO.Outage"/>.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">Value cannot be null or an empty string.</exception>
        </member>
        <member name="P:sttp.DataGapRecoverer.RecoveryStartDelay">
            <summary>
            Gets or sets the minimum time delay, in seconds, to wait before starting the data recovery for an <see cref="T:Gemstone.IO.Outage"/>.
            </summary>
            <remarks>
            <para>
            For some archiving systems it may take a few seconds for data to make it to disk and therefore be readily
            available for a temporal subscription query. The <see cref="P:sttp.DataGapRecoverer.RecoveryStartDelay"/> should be adjusted based
            on the nature of the system used to archive data. If the archival system makes data immediately available
            because of internal caching or other means, this value can be zero.
            </para>
            <para>
            Use of this value depends on the local clock, as such the value should be increased by the uncertainty of
            accuracy of the local clock. For example, if it is know that the local clock floats +/-5 seconds from
            real-time, then increase the desired value of the <see cref="P:sttp.DataGapRecoverer.RecoveryStartDelay"/> by 5 seconds.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Value cannot be a negative number.</exception>
        </member>
        <member name="P:sttp.DataGapRecoverer.DataMonitoringInterval">
            <summary>
            Gets or sets the interval, in seconds, over which the data monitor will check for new data.
            </summary>
            <remarks>
            Once a connection is established a timer is enabled to monitor for new incoming data. The data monitoring timer
            exists to make sure data is being received so that the process of recovery does not wait endlessly for data that
            may never come because of a possible error in the recovery process. The <see cref="P:sttp.DataGapRecoverer.DataMonitoringInterval"/>
            allows the consumer to adjust the interval over which the timer will check for new incoming data.
            <para>
            It will take some time, perhaps a couple of seconds, to start the temporal subscription and begin the process
            of recovering data for an <see cref="T:Gemstone.IO.Outage"/>. Make sure the value for <see cref="P:sttp.DataGapRecoverer.DataMonitoringInterval"/> is
            sufficiently large enough to handle any initial delays in data transmission.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Value cannot be zero or a negative number.</exception>
        </member>
        <member name="P:sttp.DataGapRecoverer.MinimumRecoverySpan">
            <summary>
            Gets to sets the minimum time span, in seconds, for which a data recovery will be attempted.
            Set to zero for no minimum.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">Value cannot be a negative number.</exception>
        </member>
        <member name="P:sttp.DataGapRecoverer.MaximumRecoverySpan">
            <summary>
            Gets to sets the maximum time span, in seconds, for which a data recovery will be attempted.
            Set to <see cref="F:System.Double.MaxValue"/> for no maximum.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">Value cannot be zero or a negative number.</exception>
        </member>
        <member name="P:sttp.DataGapRecoverer.LoggingPath">
            <summary>
            Gets or sets logging path to be used to be runtime and outage logs of the subscriber which are required for
            automated data recovery.
            </summary>
            <remarks>
            Leave value blank for default path, i.e., installation folder. Can be a fully qualified path or a path that
            is relative to the installation folder, e.g., a value of "ConfigurationCache" might resolve to
            "C:\Program Files\MyTimeSeries\ConfigurationCache\".
            </remarks>
        </member>
        <member name="P:sttp.DataGapRecoverer.FilterExpression">
            <summary>
            Gets or sets the filter expression used to define which measurements are being requested for data recovery during an <see cref="T:Gemstone.IO.Outage"/>.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.RecoveryProcessingInterval">
            <summary>
            Gets or sets the data recovery processing interval, in whole milliseconds, to use in the temporal data
            subscription when recovering data for an <see cref="T:Gemstone.IO.Outage"/>.<br/>
            A value of <c>-1</c> indicates the default processing interval will be requested.<br/>
            A value of <c>0</c> indicates data will be processed as fast as possible.
            </summary>
            <remarks>
            Except for the values of -1 and 0, the <see cref="P:sttp.DataGapRecoverer.RecoveryProcessingInterval"/> value specifies the desired
            historical data playback processing interval in milliseconds. This is basically a delay, or timer interval,
            over which to process data. Setting this value to -1 means to use the default processing interval while setting
            the value to 0 means to process data as fast as possible, i.e., as fast as the historian can query the data.
            Depending on the available bandwidth, this parameter may need to be adjusted such that the data being recovered
            does not adversely interfere with the ongoing transmission of real-time data.
            </remarks>
        </member>
        <member name="P:sttp.DataGapRecoverer.UseMillisecondResolution">
            <summary>
            Gets or sets the flag that determines whether measurement timestamps use millisecond resolution.
            If false, time will be of <see cref="T:Gemstone.Ticks"/> resolution.
            </summary>
            <remarks>
            If the source and destination historians can handle timestamps at a greater than millisecond resolution then
            the <see cref="P:sttp.DataGapRecoverer.UseMillisecondResolution"/> can be set to <c>false</c> to ensure that a full resolution timestamp
            is delivered through the data recovery process. Setting this property to <c>true</c> allows the temporal subscription
            used in the data recovery process to conserve data transmission bandwidth since not as much space will be needed for
            a timestamp with only millisecond resolution.
            </remarks>
        </member>
        <member name="P:sttp.DataGapRecoverer.StartRecoveryBuffer">
            <summary>
            Gets or sets start buffer time, in seconds, to add to start of outage window to ensure all missing data is recovered.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.EndRecoveryBuffer">
            <summary>
            Gets or sets end buffer time, in seconds, to add to end of outage window to ensure all missing data is recovered.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.ConstraintParameters">
            <summary>
            Gets or sets any additional constraint parameters that will be supplied to adapters in temporal
            subscription used when recovering data for an <see cref="T:Gemstone.IO.Outage"/>.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="T:sttp.DataGapRecoverer"/> is enabled.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.IsDisposed">
            <summary>
            Gets a flag that indicates whether the object has been disposed.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.DataGapLog">
            <summary>
            Gets reference to the data gap <see cref="T:Gemstone.IO.OutageLog"/> for this <see cref="T:sttp.DataGapRecoverer"/>.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.DataGapLogProcessor">
            <summary>
            Gets reference to the data gap <see cref="T:Gemstone.IO.OutageLogProcessor"/> for this <see cref="T:sttp.DataGapRecoverer"/>.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.TemporalSubscriptionStatus">
            <summary>
            Gets the status of the temporal <see cref="T:sttp.DataSubscriber"/> used to query historical data.
            </summary>
        </member>
        <member name="P:sttp.DataGapRecoverer.Status">
            <summary>
            Gets the status of this <see cref="T:sttp.DataGapRecoverer"/>.
            </summary>
        </member>
        <member name="M:sttp.DataGapRecoverer.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:sttp.DataGapRecoverer"/> object.
            </summary>
        </member>
        <member name="M:sttp.DataGapRecoverer.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:sttp.DataGapRecoverer"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:sttp.DataGapRecoverer.Initialize">
            <summary>
            Initializes the <see cref="T:sttp.DataGapRecoverer"/>.
            </summary>
        </member>
        <member name="M:sttp.DataGapRecoverer.LogDataGap(System.DateTimeOffset,System.DateTimeOffset,System.Boolean)">
            <summary>
            Logs a new data gap for processing.
            </summary>
            <param name="startTime">Start time of data gap.</param>
            <param name="endTime">End time of data gap.</param>
            <param name="forceLog">Indicates whether to skip data gap validation and force the outage to be logged.</param>
            <returns><c>true</c> if data gap was logged for processing; otherwise, <c>false</c>.</returns>
            <remarks>
            Data gap will not be logged for processing if the <paramref name="startTime"/> and <paramref name="endTime"/> do not represent
            a valid time span for recovery according to <see cref="P:sttp.DataGapRecoverer.MinimumRecoverySpan"/> and <see cref="P:sttp.DataGapRecoverer.MaximumRecoverySpan"/>.
            </remarks>
        </member>
        <member name="M:sttp.DataGapRecoverer.RemoveDataGap(System.DateTimeOffset,System.DateTimeOffset)">
            <summary>
            Removes a data gap from the outage log so that it will not be processed.
            </summary>
            <param name="startTime">Start time of data gap.</param>
            <param name="endTime">End time of data gap.</param>
            <returns>True if the data gap was successfully removed; false otherwise.</returns>
        </member>
        <member name="M:sttp.DataGapRecoverer.DumpOutageLog">
            <summary>
            Produces a dump of the contents of the outage log.
            </summary>
            <returns>The contents of the outage log.</returns>
        </member>
        <member name="M:sttp.DataGapRecoverer.OnRecoveredMeasurements(System.Collections.Generic.ICollection{Gemstone.Timeseries.IMeasurement})">
            <summary>
            Raises the <see cref="E:sttp.DataGapRecoverer.RecoveredMeasurements"/> event.
            </summary>
        </member>
        <member name="M:sttp.DataGapRecoverer.OnStatusMessage(Gemstone.Diagnostics.MessageLevel,System.String,System.String,Gemstone.Diagnostics.MessageFlags)">
            <summary>
            Raises the <see cref="E:sttp.DataGapRecoverer.StatusMessage"/> event and sends this data to the <see cref="T:Gemstone.Diagnostics.Logger"/>.
            </summary>
            <param name="level">The <see cref="T:Gemstone.Diagnostics.MessageLevel"/> to assign to this message</param>
            <param name="status">New status message.</param>
            <param name="eventName">A fixed string to classify this event; defaults to <c>null</c>.</param>
            <param name="flags"><see cref="T:Gemstone.Diagnostics.MessageFlags"/> to use, if any; defaults to <see cref="F:Gemstone.Diagnostics.MessageFlags.None"/>.</param>
            <remarks>
            <see pref="eventName"/> should be a constant string value associated with what type of message is being
            generated. In general, there should only be a few dozen distinct event names per class. Exceeding this
            threshold will cause the EventName to be replaced with a general warning that a usage issue has occurred.
            </remarks>
        </member>
        <member name="M:sttp.DataGapRecoverer.OnProcessException(Gemstone.Diagnostics.MessageLevel,System.Exception,System.String,Gemstone.Diagnostics.MessageFlags)">
            <summary>
            Raises the <see cref="E:sttp.DataGapRecoverer.ProcessException"/> event.
            </summary>
            <param name="level">The <see cref="T:Gemstone.Diagnostics.MessageLevel"/> to assign to this message</param>
            <param name="exception">Processing <see cref="T:System.Exception"/>.</param>
            <param name="eventName">A fixed string to classify this event; defaults to <c>null</c>.</param>
            <param name="flags"><see cref="T:Gemstone.Diagnostics.MessageFlags"/> to use, if any; defaults to <see cref="F:Gemstone.Diagnostics.MessageFlags.None"/>.</param>
            <remarks>
            <see pref="eventName"/> should be a constant string value associated with what type of message is being
            generated. In general, there should only be a few dozen distinct event names per class. Exceeding this
            threshold will cause the EventName to be replaced with a general warning that a usage issue has occurred.
            </remarks>
        </member>
        <member name="T:sttp.SecurityMode">
            <summary>
            Security modes used by the <see cref="T:sttp.DataPublisher"/> to secure data sent over the command channel.
            </summary>
        </member>
        <member name="F:sttp.SecurityMode.None">
            <summary>
            No security.
            </summary>
        </member>
        <member name="F:sttp.SecurityMode.TLS">
            <summary>
            Transport Layer Security.
            </summary>
        </member>
        <member name="T:sttp.ServerCommand">
            <summary>
            Server commands received by <see cref="T:sttp.DataPublisher"/> and sent by <see cref="T:sttp.DataSubscriber"/>.
            </summary>
            <remarks>
            Solicited server commands will receive a <see cref="F:sttp.ServerResponse.Succeeded"/> or <see cref="F:sttp.ServerResponse.Failed"/>
            response code along with an associated success or failure message. Message type for successful responses will be based
            on server command - for example, server response for a successful MetaDataRefresh command will return a serialized
            <see cref="T:System.Data.DataSet"/> of the available server metadata. Message type for failed responses will always be a string of
            text representing the error message.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.MetaDataRefresh">
            <summary>
            Meta data refresh command.
            </summary>
            <remarks>
            Requests that server send an updated set of metadata so client can refresh its point list.
            Successful return message type will be a <see cref="T:System.Data.DataSet"/> containing server device and measurement metadata.
            Received device list should be defined as children of the "parent" server device connection similar to the way
            PMUs are defined as children of a parent PDC device connection.
            Devices and measurements contain unique Guids that should be used to key metadata updates in local repository.
            Optional string based message can follow command that should represent client requested meta-data filtering
            expressions, e.g.: "FILTER MeasurementDetail WHERE SignalType &lt;&gt; 'STAT'"
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.Subscribe">
            <summary>
            Subscribe command.
            </summary>
            <remarks>
            Requests a subscription of streaming data from server based on connection string that follows.
            It will not be necessary to stop an existing subscription before requesting a new one.
            Successful return message type will be string indicating total number of allowed points.
            Client should wait for UpdateSignalIndexCache and UpdateBaseTime response codes before attempting
            to parse data when using the compact measurement format.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.Unsubscribe">
            <summary>
            Unsubscribe command.
            </summary>
            <remarks>
            Requests that server stop sending streaming data to the client and cancel the current subscription.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.RotateCipherKeys">
            <summary>
            Rotate cipher keys.
            </summary>
            <remarks>
            Manually requests that server send a new set of cipher keys for data packet encryption.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.UpdateProcessingInterval">
            <summary>
            Update processing interval.
            </summary>
            <remarks>
            Manually requests server to update the processing interval with the following specified value.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.DefineOperationalModes">
            <summary>
            Define operational modes for subscriber connection.
            </summary>
            <remarks>
            As soon as connection is established, requests that server set operational
            modes that affect how the subscriber and publisher will communicate.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.ConfirmNotification">
            <summary>
            Confirm receipt of a notification.
            </summary>
            <remarks>
            This message is sent in response to <see cref="F:sttp.ServerResponse.Notify"/>.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.ConfirmBufferBlock">
            <summary>
            Confirm receipt of a buffer block measurement.
            </summary>
            <remarks>
            This message is sent in response to <see cref="F:sttp.ServerResponse.BufferBlock"/>.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.PublishCommandMeasurements">
            <summary>
            Provides measurements to the publisher over the command channel.
            </summary>
            <remarks>
            Allows for unsolicited publication of measurement data to the server
            so that consumers of data can also provide data to other consumers.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.ConfirmSignalIndexCache">
            <summary>
            Confirm receipt of a Signal Index Cache.
            </summary>
            <remarks>
            This message is sent in response to <see cref="F:sttp.ServerResponse.UpdateSignalIndexCache"/>.
            </remarks>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand00">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand01">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand02">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand03">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand04">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand05">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand06">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand07">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand08">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand09">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand10">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand11">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand12">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand13">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand14">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="F:sttp.ServerCommand.UserCommand15">
            <summary>
            Code for handling user-defined commands.
            </summary>
        </member>
        <member name="T:sttp.ServerResponse">
            <summary>
            Server responses sent by <see cref="T:sttp.DataPublisher"/> and received by <see cref="T:sttp.DataSubscriber"/>.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.Succeeded">
            <summary>
            Command succeeded response.
            </summary>
            <remarks>
            Informs client that its solicited server command succeeded, original command and success message follow.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.Failed">
            <summary>
            Command failed response.
            </summary>
            <remarks>
            Informs client that its solicited server command failed, original command and failure message follow.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.DataPacket">
            <summary>
            Data packet response.
            </summary>
            <remarks>
            Unsolicited response informs client that a data packet follows.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.UpdateSignalIndexCache">
            <summary>
            Update signal index cache response.
            </summary>
            <remarks>
            Unsolicited response requests that client update its runtime signal index cache with the one that follows.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.UpdateBaseTimes">
            <summary>
            Update runtime base-timestamp offsets response.
            </summary>
            <remarks>
            Unsolicited response requests that client update its runtime base-timestamp offsets with those that follow.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.UpdateCipherKeys">
            <summary>
            Update runtime cipher keys response.
            </summary>
            <remarks>
            Response, solicited or unsolicited, requests that client update its runtime data cipher keys with those that follow.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.DataStartTime">
            <summary>
            Data start time response packet.
            </summary>
            <remarks>
            Unsolicited response provides the start time of data being processed from the first measurement.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.ProcessingComplete">
            <summary>
            Processing complete notification.
            </summary>
            <remarks>
            Unsolicited response provides notification that input processing has completed, typically via temporal constraint.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.BufferBlock">
            <summary>
            Buffer block response.
            </summary>
            <remarks>
            Unsolicited response informs client that a raw buffer block follows.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.Notify">
            <summary>
            Notify response.
            </summary>
            <remarks>
            Unsolicited response provides a notification message to the client.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.ConfigurationChanged">
            <summary>
            Configuration changed response.
            </summary>
            <remarks>
            Unsolicited response provides a notification that the publisher's source configuration has changed and that
            client may want to request a meta-data refresh.
            </remarks>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse00">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse01">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse02">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse03">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse04">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse05">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse06">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse07">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse08">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse09">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse10">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse11">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse12">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse13">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse14">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.UserResponse15">
            <summary>
            Code for handling user-defined responses.
            </summary>
        </member>
        <member name="F:sttp.ServerResponse.NoOP">
            <summary>
            No operation keep-alive ping.
            </summary>
            <remarks>
            The command channel can remain quiet for some time, this command allows a period test of client connectivity.
            </remarks>
        </member>
        <member name="T:sttp.DataPacketFlags">
            <summary>
            <see cref="T:sttp.DataPublisher"/> data packet flags.
            </summary>
        </member>
        <member name="F:sttp.DataPacketFlags.Compact">
            <summary>
            Determines if serialized measurement is compact.
            </summary>
            <remarks>
            Bit set = compact, bit clear = full fidelity.
            </remarks>
        </member>
        <member name="F:sttp.DataPacketFlags.CipherIndex">
            <summary>
            Determines which cipher index to use when encrypting data packet.
            </summary>
            <remarks>
            Bit set = use odd cipher index (i.e., 1), bit clear = use even cipher index (i.e., 0).
            </remarks>
        </member>
        <member name="F:sttp.DataPacketFlags.Compressed">
            <summary>
            Determines if data packet payload is compressed.
            </summary>
            <remarks>
            Bit set = payload compressed, bit clear = payload normal.
            </remarks>
        </member>
        <member name="F:sttp.DataPacketFlags.CacheIndex">
            <summary>
            Determines which Signal Index Cache index to use when decoding a data packet.
            </summary>
            <remarks>
            Bit set = use odd Signal Index Cache index (i.e., 1), bit clear = use even Signal Index Cache index (i.e., 0).
            </remarks>
        </member>
        <member name="F:sttp.DataPacketFlags.NoFlags">
            <summary>
            No flags set.
            </summary>
            <remarks>
            This would represent unsynchronized, full fidelity measurement data packets.
            </remarks>
        </member>
        <member name="T:sttp.OperationalModes">
            <summary>
            Operational modes that affect how <see cref="T:sttp.DataPublisher"/> and <see cref="T:sttp.DataSubscriber"/> communicate.
            </summary>
            <remarks>
            Operational modes are sent from a subscriber to a publisher to request operational behaviors for the
            connection, as a result the operation modes must be sent before any other command. The publisher may
            silently refuse some requests (e.g., compression) based on its configuration. Operational modes only
            apply to fundamental protocol control.
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.VersionMask">
            <summary>
            Mask to get version number of protocol.
            </summary>
            <remarks>
            Version number is currently set to 2.
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.CompressionModeMask">
            <summary>
            Mask to get mode of compression.
            </summary>
            <remarks>
            GZip and TSSC compression are the only modes currently supported. Remaining bits are
            reserved for future compression modes.
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.EncodingMask">
            <summary>
            Mask to get character encoding used when exchanging messages between publisher and subscriber.
            </summary>
            <remarks>
            00 = UTF-16, little endian<br/>
            01 = UTF-16, big endian<br/>
            10 = UTF-8<br/>
            11 = ANSI
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.ReceiveExternalMetadata">
            <summary>
            Determines whether external measurements are exchanged during metadata synchronization.
            </summary>
            <remarks>
            Bit set = external measurements are exchanged, bit clear = no external measurements are exchanged
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.ReceiveInternalMetadata">
            <summary>
            Determines whether internal measurements are exchanged during metadata synchronization.
            </summary>
            <remarks>
            Bit set = internal measurements are exchanged, bit clear = no internal measurements are exchanged
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.CompressPayloadData">
            <summary>
            Determines whether payload data is compressed when exchanging between publisher and subscriber.
            </summary>
            <remarks>
            Bit set = compress, bit clear = no compression
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.CompressSignalIndexCache">
            <summary>
            Determines whether the signal index cache is compressed when exchanging between publisher and subscriber.
            </summary>
            <remarks>
            Bit set = compress, bit clear = no compression
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.CompressMetadata">
            <summary>
            Determines whether metadata is compressed when exchanging between publisher and subscriber.
            </summary>
            <remarks>
            Bit set = compress, bit clear = no compression
            </remarks>
        </member>
        <member name="F:sttp.OperationalModes.NoFlags">
            <summary>
            No flags set.
            </summary>
            <remarks>
            This would represent protocol version 0,
            UTF-16 little endian character encoding,
            .NET serialization and no compression.
            </remarks>
        </member>
        <member name="T:sttp.OperationalEncoding">
            <summary>
            Enumeration for character encodings supported by the Streaming Telemetry Transport Protocol.
            </summary>
        </member>
        <member name="F:sttp.OperationalEncoding.UTF16LE">
            <summary>
            UTF-16, little endian
            </summary>
        </member>
        <member name="F:sttp.OperationalEncoding.UTF16BE">
            <summary>
            UTF-16, big endian
            </summary>
        </member>
        <member name="F:sttp.OperationalEncoding.UTF8">
            <summary>
            UTF-8
            </summary>
        </member>
        <member name="T:sttp.CompressionModes">
            <summary>
            Enumeration for compression modes supported by the Streaming Telemetry Transport Protocol.
            </summary>
        </member>
        <member name="F:sttp.CompressionModes.GZip">
            <summary>
            GZip compression
            </summary>
        </member>
        <member name="F:sttp.CompressionModes.TSSC">
            <summary>
            TSSC compression
            </summary>
        </member>
        <member name="F:sttp.CompressionModes.None">
            <summary>
            No compression
            </summary>
        </member>
        <member name="T:sttp.DataPublisher">
            <summary>
            Represents a data publishing server that allows multiple connections for data subscriptions.
            </summary>
        </member>
        <member name="E:sttp.DataPublisher.ClientConnected">
            <summary>
            Indicates that a new client has connected to the publisher.
            </summary>
            <remarks>
            <see cref="F:Gemstone.EventArgs`3.Argument1"/> is the <see cref="T:System.Guid"/> based subscriber ID.<br/>
            <see cref="F:Gemstone.EventArgs`3.Argument2"/> is the connection identification (e.g., IP and DNS name, if available).<br/>
            <see cref="F:Gemstone.EventArgs`3.Argument3"/> is the subscriber information as reported by the client.
            </remarks>
        </member>
        <member name="E:sttp.DataPublisher.ProcessingComplete">
            <summary>
            Indicates to the host that processing for an input adapter (via temporal session) has completed.
            </summary>
            <remarks>
            This event is expected to only be raised when an input adapter has been designed to process
            a finite amount of data, e.g., reading a historical range of data during temporal processing.
            </remarks>
        </member>
        <member name="F:sttp.DataPublisher.DefaultSecurityMode">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.SecurityMode"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultEncryptPayload">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.EncryptPayload"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultSharedDatabase">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.SharedDatabase"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultAllowPayloadCompression">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.AllowPayloadCompression"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultAllowMetadataRefresh">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.AllowMetadataRefresh"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultAllowNaNValueFilter">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.AllowNaNValueFilter"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultForceNaNValueFilter">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.ForceNaNValueFilter"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultUseBaseTimeOffsets">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.UseBaseTimeOffsets"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultCipherKeyRotationPeriod">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.CipherKeyRotationPeriod"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultValidateMeasurementRights">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.ValidateMeasurementRights"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultValidateClientIPAddress">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.ValidateClientIPAddress"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultMetadataTables">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.MetadataTables"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultMutualSubscription">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.MutualSubscription"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultMaxPacketSize">
            <summary>
            Default maximum packet size before software fragmentation of payload.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultBufferSize">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.BufferSize"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultMaxPublishInterval">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.MaxPublishInterval"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultTimeSortedPublication">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.TimeSortedPublication"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultTimeSortedSamplingRate">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.TimeSortedSamplingRate"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultTimeSortedLagTime">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.TimeSortedLagTime"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.DefaultTimeSortedLeadTime">
            <summary>
            Default value for <see cref="P:sttp.DataPublisher.TimeSortedLeadTime"/>.
            </summary>
        </member>
        <member name="F:sttp.DataPublisher.ClientResponseHeaderSize">
            <summary>
            Size of client response header in bytes.
            </summary>
            <remarks>
            Header consists of response byte, in-response-to server command byte, 4-byte int representing payload length.
            </remarks>
        </member>
        <member name="M:sttp.DataPublisher.#ctor">
            <summary>
            Creates a new <see cref="T:sttp.DataPublisher"/>.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.SecurityMode">
            <summary>
            Gets or sets the security mode of the <see cref="T:sttp.DataPublisher"/>'s command channel.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.EncryptPayload">
            <summary>
            Gets or sets flag that determines whether data sent over the data channel should be encrypted.
            </summary>
            <remarks>
            <para>
            If <see cref="P:sttp.DataPublisher.SecurityMode"/> is set to <c>TLS</c> and data channel is UDP, set this value to
            <c>true</c> so that data packets published over UDP will be encrypted. AES keys used for UDP
            data packet encryption will be exchanged over the secured TLS command channel.
            </para>
            <para>
            If <see cref="P:sttp.DataPublisher.SecurityMode"/> is set to <c>None</c>, setting this value to <c>true</c> will
            encrypt published data packets, but encryption keys will be sent in the clear over the command
            channel -- operating in this mode is not secure.
            </para>
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.SharedDatabase">
            <summary>
            Gets or sets flag that indicates whether this publisher is publishing
            data that this node subscribed to from another node in a shared database.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.AllowPayloadCompression">
            <summary>
            Gets or sets flag that indicates if this publisher will allow payload compression when requested by subscribers.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.AllowMetadataRefresh">
            <summary>
            Gets or sets flag that indicates if this publisher will allow synchronized subscriptions when requested by subscribers.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.AllowNaNValueFilter">
            <summary>
            Gets or sets flag that indicates if this publisher will allow filtering of data which is not a number.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.ForceNaNValueFilter">
            <summary>
            Gets or sets flag that indicates if this publisher will force filtering of data which is not a number.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.UseBaseTimeOffsets">
            <summary>
            Gets or sets flag that determines whether to use base time offsets to decrease the size of compact measurements.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.MaxPacketSize">
            <summary>
            Gets or sets the maximum packet size to use for data publication.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.BufferSize">
            <summary>
            Get or sets the size of the buffer used for sending and receiving data from clients.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.CipherKeyRotationPeriod">
            <summary>
            Gets or sets the cipher key rotation period.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.CachedMeasurementExpression">
            <summary>
            Gets or sets the set of measurements which are cached by the data
            publisher to be published to subscribers immediately upon subscription.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.MeasurementReportingInterval">
            <summary>
            Gets or sets the measurement reporting interval.
            </summary>
            <remarks>
            This is used to determined how many measurements should be processed before reporting status.
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.MaxPublishInterval">
            <summary>
            Gets or sets the maximum publication interval in milliseconds for data publications. Set to zero for no defined maximum.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.TimeSortedPublication">
            <summary>
            Gets or sets flag that determines if data should be pre-processed before publication as time-sorted.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.TimeSortedSamplingRate">
            <summary>
            Gets or sets the target sampling rate for pre-publication time-sorting.
            </summary>
            <remarks>
            Valid sampling rates for a <see cref="T:Gemstone.Timeseries.ConcentratorBase"/> are greater than 0 samples per second.
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.TimeSortedLagTime">
            <summary>
            Gets or sets the allowed past-time deviation tolerance for pre-publication time-sorting, in seconds (can be sub-second).
            </summary>
            <remarks>
            <para>Defines the time sensitivity to past measurement timestamps.</para>
            <para>The number of seconds allowed before assuming a measurement timestamp is too old.</para>
            <para>This becomes the amount of delay introduced by the concentrator to allow time for data to flow into the system.</para>
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.TimeSortedLeadTime">
            <summary>
            Gets or sets the allowed future time deviation tolerance for pre-publication time-sorting, in seconds (can be sub-second).
            </summary>
            <remarks>
            <para>Defines the time sensitivity to future measurement timestamps.</para>
            <para>The number of seconds allowed before assuming a measurement timestamp is too advanced.</para>
            <para>This becomes the tolerated +/- accuracy of the local clock to real-time.</para>
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.ValidateMeasurementRights">
            <summary>
            Gets or sets flag that determines whether measurement rights validation is enforced. Defaults to true for TLS connections.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.ValidateClientIPAddress">
            <summary>
            Gets or sets flag that determines whether client subscriber IP address is validated. Defaults to true when measurement rights are validated.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.DataSource">
            <summary>
            Gets or sets <see cref="T:System.Data.DataSet"/> based data source used to load each <see cref="T:Gemstone.Timeseries.Adapters.IAdapter"/>.
            Updates to this property will cascade to all items in this <see cref="T:Gemstone.Timeseries.Adapters.AdapterCollectionBase`1"/>.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.Status">
            <summary>
            Gets the status of this <see cref="T:sttp.DataPublisher"/>.
            </summary>
            <remarks>
            Derived classes should provide current status information about the adapter for display purposes.
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.Name">
            <summary>
            Gets or sets the name of this <see cref="T:sttp.DataPublisher"/>.
            </summary>
            <remarks>
            The assigned name is used as the settings category when persisting the TCP server settings.
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.MetadataTables">
            <summary>
            Gets or sets semicolon separated list of SQL select statements used to create data for meta-data exchange.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.MutualSubscription">
            <summary>
            Gets or sets flag that determines if a subscription is mutual, i.e., bidirectional pub/sub. In this mode one node will
            be the owner and set <c>Internal = True</c> and the other node will be the renter and set <c>Internal = False</c>.
            </summary>
            <remarks>
            <para>
            This flag is intended to be used in scenarios where a remote subscriber can add new measurements associated with a
            source device, e.g., creating new calculated result measurements on a remote machine for load distribution that should
            get associated with a device on the local machine, thus becoming part of the local measurement set.
            </para>
            <para>
            For best results, both the owner and renter subscriptions should be reduced to needed measurements, i.e., renter should
            only receive measurements needed for remote calculations and owner should only receive new calculated results. Note that
            when used with a TLS-style subscription this can be accomplished by using the subscription UI screens that control the
            measurement <c>subscribed</c> flag. For internal subscriptions, reduction of metadata and subscribed measurements will
            need to be controlled via connection string with <c>metadataFilters</c> and <c>outputMeasurements</c>, respectively.
            </para>
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.AutoInitialize">
            <summary>
            Gets flag that determines if <see cref="T:sttp.DataPublisher"/> subscriptions
            are automatically initialized when they are added to the collection.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.ClientConnections">
            <summary>
            Gets dictionary of connected clients.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.ServerCommandChannel">
            <summary>
            Gets or sets reference to <see cref="T:Gemstone.Communication.TcpServer"/> command channel, attaching and/or detaching to events as needed.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.ClientCommandChannel">
            <summary>
            Gets or sets reference to <see cref="T:Gemstone.Communication.TcpClient"/> command channel, attaching and/or detaching to events as needed.
            </summary>
            <remarks>
            This handles reverse connectivity operations.
            </remarks>
        </member>
        <member name="P:sttp.DataPublisher.IsConnected">
            <summary>
            Gets flag indicating if publisher is connected and listening.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.BufferBlockRetransmissions">
            <summary>
            Gets the total number of buffer block retransmissions on all subscriptions over the lifetime of the publisher.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.TotalBytesSent">
            <summary>
            Gets the total number of bytes sent to clients of this data publisher.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.LifetimeMeasurements">
            <summary>
            Gets the total number of measurements processed through this data publisher over the lifetime of the publisher.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.MinimumMeasurementsPerSecond">
            <summary>
            Gets the minimum value of the measurements per second calculation.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.MaximumMeasurementsPerSecond">
            <summary>
            Gets the maximum value of the measurements per second calculation.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.AverageMeasurementsPerSecond">
            <summary>
            Gets the average value of the measurements per second calculation.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.LifetimeMinimumLatency">
            <summary>
            Gets the minimum latency calculated over the full lifetime of the publisher.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.LifetimeMaximumLatency">
            <summary>
            Gets the maximum latency calculated over the full lifetime of the publisher.
            </summary>
        </member>
        <member name="P:sttp.DataPublisher.LifetimeAverageLatency">
            <summary>
            Gets the average latency calculated over the full lifetime of the publisher.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:sttp.DataPublisher"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:sttp.DataPublisher.Initialize">
            <summary>
            Initializes <see cref="T:sttp.DataPublisher"/>.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.QueueMeasurementsForProcessing(System.Collections.Generic.IEnumerable{Gemstone.Timeseries.IMeasurement})">
            <summary>
            Queues a collection of measurements for processing to each <see cref="T:Gemstone.Timeseries.Adapters.IActionAdapter"/> connected to this <see cref="T:sttp.DataPublisher"/>.
            </summary>
            <param name="measurements">Measurements to queue for processing.</param>
        </member>
        <member name="M:sttp.DataPublisher.QueueMeasurementsForProcessing(System.Collections.Generic.List{Gemstone.Timeseries.IMeasurement})">
            <summary>
            Queues a collection of measurements for processing to each <see cref="T:Gemstone.Timeseries.Adapters.IActionAdapter"/> connected to this <see cref="T:sttp.DataPublisher"/>.
            </summary>
            <param name="measurements">Measurements to queue for processing.</param>
        </member>
        <member name="M:sttp.DataPublisher.Start">
            <summary>
            Establish <see cref="T:sttp.DataPublisher"/> and start listening for client connections.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.Stop">
            <summary>
            Terminate <see cref="T:sttp.DataPublisher"/> and stop listening for client connections.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.GetShortStatus(System.Int32)">
            <summary>
            Gets a short one-line status of this <see cref="T:sttp.DataPublisher"/>.
            </summary>
            <param name="maxLength">Maximum number of available characters for display.</param>
            <returns>A short one-line summary of the current status of the <see cref="T:sttp.DataPublisher"/>.</returns>
        </member>
        <member name="M:sttp.DataPublisher.EnumerateClients">
            <summary>
            Enumerates connected clients.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.EnumerateTemporalClients">
            <summary>
            Enumerates connected clients with active temporal sessions.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.RotateCipherKeys(System.Int32)">
            <summary>
            Rotates cipher keys for specified client connection.
            </summary>
            <param name="clientIndex">Enumerated index for client connection.</param>
        </member>
        <member name="M:sttp.DataPublisher.GetSubscriberInfo(System.Int32)">
            <summary>
            Gets subscriber information for specified client connection.
            </summary>
            <param name="clientIndex">Enumerated index for client connection.</param>
        </member>
        <member name="M:sttp.DataPublisher.GetTemporalStatus(System.Int32)">
            <summary>
            Gets temporal status for a specified client connection.
            </summary>
            <param name="clientIndex">Enumerated index for client connection.</param>
        </member>
        <member name="M:sttp.DataPublisher.GetLocalCertificate">
            <summary>
            Gets the local certificate currently in use by the data publisher.
            </summary>
            <returns>The local certificate file read directly from the certificate file as an array of bytes.</returns>
        </member>
        <member name="M:sttp.DataPublisher.ImportCertificate(System.String,System.Byte[])">
            <summary>
            Imports a certificate to the trusted certificates path.
            </summary>
            <param name="fileName">The file name to give to the certificate when imported.</param>
            <param name="certificateData">The data to be written to the certificate file.</param>
            <returns>The local path on the server where the file was written.</returns>
        </member>
        <member name="M:sttp.DataPublisher.GetSubscriberStatus(System.Guid)">
            <summary>
            Gets subscriber status for specified subscriber ID.
            </summary>
            <param name="subscriberID">Guid based subscriber ID for client connection.</param>
        </member>
        <member name="M:sttp.DataPublisher.ResetLifetimeCounters">
            <summary>
            Resets the counters for the lifetime statistics without interrupting the adapter's operations.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.SendNotification(System.String)">
            <summary>
            Sends a notification to all subscribers.
            </summary>
            <param name="message">The message to be sent.</param>
        </member>
        <member name="M:sttp.DataPublisher.UpdateSignalIndexCache(System.Guid,sttp.SignalIndexCache,Gemstone.Timeseries.MeasurementKey[])">
            <summary>
            Updates signal index cache based on input measurement keys.
            </summary>
            <param name="clientID">Client ID of connection over which to update signal index cache.</param>
            <param name="signalIndexCache">New signal index cache.</param>
            <param name="inputMeasurementKeys">Subscribed measurement keys.</param>
        </member>
        <member name="M:sttp.DataPublisher.UpdateLatestMeasurementCache">
            <summary>
            Updates the latest measurement cache when the
            set of cached measurements may have changed.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.UpdateRights">
            <summary>
            Updates each subscription's inputs based on
            possible updates to that subscriber's rights.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.GetClientEncoding(System.Guid)">
            <summary>
            Gets the text encoding associated with a particular client.
            </summary>
            <param name="clientID">ID of client.</param>
            <returns>Text encoding associated with a particular client.</returns>
        </member>
        <member name="M:sttp.DataPublisher.SendDataStartTime(System.Guid,Gemstone.Ticks)">
            <summary>
            Sends the start time of the first measurement in a connection transmission.
            </summary>
            <param name="clientID">ID of client to send response.</param>
            <param name="startTime">Start time, in <see cref="T:Gemstone.Ticks"/>, of first measurement transmitted.</param>
        </member>
        <member name="M:sttp.DataPublisher.SendClientResponse(System.Guid,sttp.ServerResponse,sttp.ServerCommand)">
            <summary>
            Sends response back to specified client.
            </summary>
            <param name="clientID">ID of client to send response.</param>
            <param name="response">Server response.</param>
            <param name="command">In response to command.</param>
            <returns><c>true</c> if send was successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataPublisher.SendClientResponse(System.Guid,sttp.ServerResponse,sttp.ServerCommand,System.String)">
            <summary>
            Sends response back to specified client with a message.
            </summary>
            <param name="clientID">ID of client to send response.</param>
            <param name="response">Server response.</param>
            <param name="command">In response to command.</param>
            <param name="status">Status message to return.</param>
            <returns><c>true</c> if send was successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataPublisher.SendClientResponse(System.Guid,sttp.ServerResponse,sttp.ServerCommand,System.String,System.Object[])">
            <summary>
            Sends response back to specified client with a formatted message.
            </summary>
            <param name="clientID">ID of client to send response.</param>
            <param name="response">Server response.</param>
            <param name="command">In response to command.</param>
            <param name="formattedStatus">Formatted status message to return.</param>
            <param name="args">Arguments for <paramref name="formattedStatus"/>.</param>
            <returns><c>true</c> if send was successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataPublisher.SendClientResponse(System.Guid,sttp.ServerResponse,sttp.ServerCommand,System.Byte[])">
            <summary>
            Sends response back to specified client with attached data.
            </summary>
            <param name="clientID">ID of client to send response.</param>
            <param name="response">Server response.</param>
            <param name="command">In response to command.</param>
            <param name="data">Data to return to client; null if none.</param>
            <returns><c>true</c> if send was successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataPublisher.UpdateLatencyStatistics(System.Collections.Generic.IEnumerable{System.Int64})">
            <summary>
            Updates latency statistics based on the collection of latencies passed into the method.
            </summary>
            <param name="latencies">The latencies of the measurements sent by the publisher.</param>
        </member>
        <member name="M:sttp.DataPublisher.OnProcessingComplete">
            <summary>
            Raises the <see cref="E:sttp.DataPublisher.ProcessingComplete"/> event.
            </summary>
        </member>
        <member name="M:sttp.DataPublisher.OnClientConnected(System.Guid,System.String,System.String)">
            <summary>
            Raises the <see cref="E:sttp.DataPublisher.ClientConnected"/> event.
            </summary>
            <param name="subscriberID">Subscriber <see cref="T:System.Guid"/> (normally <see cref="P:sttp.SubscriberConnection.SubscriberID"/>).</param>
            <param name="connectionID">Connection identification (normally <see cref="P:sttp.SubscriberConnection.ConnectionID"/>).</param>
            <param name="subscriberInfo">Subscriber information (normally <see cref="P:sttp.SubscriberConnection.SubscriberInfo"/>).</param>
        </member>
        <member name="M:sttp.DataPublisher.OnStatusMessage(Gemstone.Diagnostics.MessageLevel,System.String,System.String,Gemstone.Diagnostics.MessageFlags)">
            <summary>
            Raises the <see cref="E:Gemstone.Timeseries.Adapters.AdapterBase.StatusMessage"/> event and sends this data to the <see cref="T:Gemstone.Diagnostics.Logger"/>.
            </summary>
            <param name="level">The <see cref="T:Gemstone.Diagnostics.MessageLevel"/> to assign to this message</param>
            <param name="status">New status message.</param>
            <param name="eventName">A fixed string to classify this event; defaults to <c>null</c>.</param>
            <param name="flags"><see cref="T:Gemstone.Diagnostics.MessageFlags"/> to use, if any; defaults to <see cref="F:Gemstone.Diagnostics.MessageFlags.None"/>.</param>
            <remarks>
            <see pref="eventName"/> should be a constant string value associated with what type of message is being
            generated. In general, there should only be a few dozen distinct event names per class. Exceeding this
            threshold will cause the EventName to be replaced with a general warning that a usage issue has occurred.
            </remarks>
        </member>
        <member name="M:sttp.DataPublisher.OnProcessException(Gemstone.Diagnostics.MessageLevel,System.Exception,System.String,Gemstone.Diagnostics.MessageFlags)">
            <summary>
            Raises the <see cref="E:Gemstone.Timeseries.Adapters.AdapterBase.ProcessException"/> event.
            </summary>
            <param name="level">The <see cref="T:Gemstone.Diagnostics.MessageLevel"/> to assign to this message</param>
            <param name="exception">Processing <see cref="T:System.Exception"/>.</param>
            <param name="eventName">A fixed string to classify this event; defaults to <c>null</c>.</param>
            <param name="flags"><see cref="T:Gemstone.Diagnostics.MessageFlags"/> to use, if any; defaults to <see cref="F:Gemstone.Diagnostics.MessageFlags.None"/>.</param>
            <remarks>
            <see pref="eventName"/> should be a constant string value associated with what type of message is being
            generated. In general, there should only be a few dozen distinct event names per class. Exceeding this
            threshold will cause the EventName to be replaced with a general warning that a usage issue has occurred.
            </remarks>
        </member>
        <member name="M:sttp.DataPublisher.AcquireMetadata(sttp.SubscriberConnection,System.Collections.Generic.Dictionary{System.String,System.Tuple{System.String,System.String,System.Int32}})">
            <summary>
            Gets meta-data to return to <see cref="T:sttp.DataSubscriber"/>.
            </summary>
            <param name="connection">Client connection requesting meta-data.</param>
            <param name="filterExpressions">Any meta-data filter expressions requested by client.</param>
            <returns>Meta-data to be returned to client.</returns>
        </member>
        <member name="M:sttp.DataPublisher.HandleUserCommand(sttp.SubscriberConnection,sttp.ServerCommand,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Handles custom commands defined by the user of the publisher API.
            </summary>
            <param name="connection">Object representing the connection to the data subscriber.</param>
            <param name="command">The command issued by the subscriber.</param>
            <param name="buffer">The buffer containing the entire message from the subscriber.</param>
            <param name="startIndex">The index indicating where to start reading from the buffer to skip past the message header.</param>
            <param name="length">The total number of bytes in the message, including the header.</param>
            <remarks>
            Derived data publisher implementations should override this method as needed to handle custom user commands.
            </remarks>
        </member>
        <member name="T:sttp.DataSubscriber">
            <summary>
            Represents a data subscribing client that will connect to a data publisher for a data subscription.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.SubscribedDevice.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:sttp.DataSubscriber.SubscribedDevice"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.SubscribedDevice.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:sttp.DataSubscriber.SubscribedDevice"/> object.
            </summary>
        </member>
        <member name="T:sttp.DataSubscriber.UserCommandArgs">
            <summary>
            EventArgs implementation for handling user commands.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.UserCommandArgs.#ctor(sttp.ServerCommand,sttp.ServerResponse,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Creates a new instance of the <see cref="T:sttp.DataSubscriber.UserCommandArgs"/> class.
            </summary>
            <param name="command">The code for the user command.</param>
            <param name="response">The code for the server's response.</param>
            <param name="buffer">Buffer containing the message from the server.</param>
            <param name="startIndex">Index into the buffer used to skip the header.</param>
            <param name="length">The length of the message in the buffer, including the header.</param>
        </member>
        <member name="P:sttp.DataSubscriber.UserCommandArgs.Command">
            <summary>
            Gets the code for the user command.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.UserCommandArgs.Response">
            <summary>
            Gets the code for the server's response.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.UserCommandArgs.Buffer">
            <summary>
            Gets the buffer containing the message from the server.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.UserCommandArgs.StartIndex">
            <summary>
            Gets the index into the buffer used to skip the header.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.UserCommandArgs.Length">
            <summary>
            Gets the length of the message in the buffer, including the header.
            </summary>
        </member>
        <member name="F:sttp.DataSubscriber.DefaultOperationalModes">
            <summary>
            Defines default value for <see cref="P:sttp.DataSubscriber.OperationalModes"/> property.
            </summary>
        </member>
        <member name="F:sttp.DataSubscriber.DefaultMetadataSynchronizationTimeout">
            <summary>
            Defines the default value for the <see cref="P:sttp.DataSubscriber.MetadataSynchronizationTimeout"/> property.
            </summary>
        </member>
        <member name="F:sttp.DataSubscriber.DefaultUseTransactionForMetadata">
            <summary>
            Defines the default value for the <see cref="P:sttp.DataSubscriber.UseTransactionForMetadata"/> property.
            </summary>
        </member>
        <member name="F:sttp.DataSubscriber.DefaultLoggingPath">
            <summary>
            Default value for <see cref="P:sttp.DataSubscriber.LoggingPath"/> property.
            </summary>
        </member>
        <member name="F:sttp.DataSubscriber.DefaultAllowedParsingExceptions">
            <summary>
            Specifies the default value for the <see cref="P:sttp.DataSubscriber.AllowedParsingExceptions"/> property.
            </summary>
        </member>
        <member name="F:sttp.DataSubscriber.DefaultParsingExceptionWindow">
            <summary>
            Specifies the default value for the <see cref="P:sttp.DataSubscriber.ParsingExceptionWindow"/> property.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.ConnectionEstablished">
            <summary>
            Occurs when client connection to the data publication server is established.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.ConnectionTerminated">
            <summary>
            Occurs when client connection to the data publication server is terminated.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.ConnectionAuthenticated">
            <summary>
            Occurs when client connection to the data publication server has successfully authenticated.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.ReceivedServerResponse">
            <summary>
            Occurs when client receives response from the server.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.ReceivedUserCommandResponse">
            <summary>
            Occurs when client receives message from the server in response to a user command.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.MetaDataReceived">
            <summary>
            Occurs when client receives requested meta-data transmitted by data publication server.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.DataStartTime">
            <summary>
            Occurs when first measurement is transmitted by data publication server.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.ProcessingComplete">
            <summary>
            Indicates that processing for an input adapter (via temporal session) has completed.
            </summary>
            <remarks>
            This event is expected to only be raised when an input adapter has been designed to process
            a finite amount of data, e.g., reading a historical range of data during temporal processing.
            </remarks>
        </member>
        <member name="E:sttp.DataSubscriber.NotificationReceived">
            <summary>
            Occurs when a notification has been received from the <see cref="T:sttp.DataPublisher"/>.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.ServerConfigurationChanged">
            <summary>
            Occurs when the server has sent a notification that its configuration has changed, this
            can allow subscriber to request updated meta-data if desired.
            </summary>
        </member>
        <member name="E:sttp.DataSubscriber.ExceededParsingExceptionThreshold">
            <summary>
            Occurs when number of parsing exceptions exceed <see cref="P:sttp.DataSubscriber.AllowedParsingExceptions"/> during <see cref="P:sttp.DataSubscriber.ParsingExceptionWindow"/>.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.#ctor">
            <summary>
            Creates a new <see cref="T:sttp.DataSubscriber"/>.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.SecurityMode">
            <summary>
            Gets or sets the security mode used for communications over the command channel.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.LoggingPath">
            <summary>
            Gets or sets logging path to be used to be runtime and outage logs of the subscriber which are required for
            automated data recovery.
            </summary>
            <remarks>
            Leave value blank for default path, i.e., installation folder. Can be a fully qualified path or a path that
            is relative to the installation folder, e.g., a value of "ConfigurationCache" might resolve to
            "C:\Program Files\MyTimeSeriesApp\ConfigurationCache\".
            </remarks>
        </member>
        <member name="P:sttp.DataSubscriber.AutoConnect">
            <summary>
            Gets or sets flag that determines if <see cref="T:sttp.DataSubscriber"/> should attempt to auto-connection to <see cref="T:sttp.DataPublisher"/> using defined connection settings.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.AutoSynchronizeMetadata">
            <summary>
            Gets or sets flag that determines if <see cref="T:sttp.DataSubscriber"/> should
            automatically request meta-data synchronization and synchronize publisher
            meta-data with its own database configuration.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.PersistConnectionForMetadata">
            <summary>
            Gets flag that indicates whether the connection will be persisted
            even while the adapter is offline in order to synchronize metadata.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.UseSourcePrefixNames">
            <summary>
            Gets or sets flag that determines if child devices associated with a subscription
            should be prefixed with the subscription name and an exclamation point to ensure
            device name uniqueness - recommended value is <c>true</c>.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.MetadataFilters">
            <summary>
            Gets or sets requested meta-data filter expressions to be applied by <see cref="T:sttp.DataPublisher"/> before meta-data is sent.
            </summary>
            <remarks>
            Multiple meta-data filters, such filters for different data tables, should be separated by a semicolon. Specifying fields in the filter
            expression that do not exist in the data publisher's current meta-data set could cause filter expressions to not be applied and possibly
            result in no meta-data being received for the specified data table.
            </remarks>
            <example>
            FILTER MeasurementDetail WHERE SignalType &lt;&gt; 'STAT'; FILTER PhasorDetail WHERE Phase = '+'
            </example>
        </member>
        <member name="P:sttp.DataSubscriber.MutualSubscription">
            <summary>
            Gets or sets flag that determines if a subscription is mutual, i.e., bidirectional pub/sub. In this mode one node will
            be the owner and set <c>Internal = True</c> and the other node will be the renter and set <c>Internal = False</c>.
            </summary>
            <remarks>
            <para>
            This flag is intended to be used in scenarios where a remote subscriber can add new measurements associated with a
            source device, e.g., creating new calculated result measurements on a remote machine for load distribution that should
            get associated with a device on the local machine, thus becoming part of the local measurement set.
            </para>
            <para>
            For best results, both the owner and renter subscriptions should be reduced to needed measurements, i.e., renter should
            only receive measurements needed for remote calculations and owner should only receive new calculated results. Note that
            when used with a TLS-style subscription this can be accomplished by using the subscription UI screens that control the
            measurement <c>subscribed</c> flag. For internal subscriptions, reduction of metadata and subscribed measurements will
            need to be controlled via connection string with <c>metadataFilters</c> and <c>outputMeasurements</c>, respectively.
            </para>
            <para>
            Setting <see cref="P:sttp.DataSubscriber.MutualSubscription"/> to <c>true</c> will force <see cref="P:sttp.DataSubscriber.ReceiveInternalMetadata"/> to <c>true</c>,
            <see cref="P:sttp.DataSubscriber.ReceiveExternalMetadata"/> to <c>false</c>, and <see cref="P:sttp.DataSubscriber.FilterOutputMeasurements"/> to <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="P:sttp.DataSubscriber.UseMillisecondResolution">
            <summary>
            Gets or sets flag that informs publisher if base time-offsets can use millisecond resolution to conserve bandwidth.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.CommandChannelConnected">
            <summary>
            Gets flag that determines whether the command channel is connected.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.TotalBytesReceived">
            <summary>
            Gets total data packet bytes received during this session.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.DataLossInterval">
            <summary>
            Gets or sets data loss monitoring interval, in seconds. Set to zero to disable monitoring.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.OperationalModes">
            <summary>
            Gets or sets a set of flags that define ways in which the subscriber and publisher communicate.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.CompressMetadata">
            <summary>
            Gets or sets the operational mode flag to compress meta-data.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.CompressSignalIndexCache">
            <summary>
            Gets or sets the operational mode flag to compress the signal index cache.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.CompressPayload">
            <summary>
            Gets or sets the operational mode flag to compress data payloads.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.ReceiveInternalMetadata">
            <summary>
            Gets or sets the operational mode flag to receive internal meta-data.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.Internal">
            <summary>
            Gets or sets flag that determines if measurements for this data subscription should be marked as "internal", i.e., owned and allowed for proxy.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.FilterOutputMeasurements">
            <summary>
            Gets or sets flag that determines if output measurements should be automatically filtered to only those belonging to the subscriber.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.UseIdentityInsertsForMetadata">
            <summary>
            Gets or sets flag that determines if identity inserts should be used for SQL Server connections during meta-data synchronization.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.AutoDeleteCalculatedMeasurements">
            <summary>
            Gets or sets flag that determines if CALC signals not defined in metadata should be deleted during synchronizations. Do not set this
            value to <c>true</c> if local calculations are being created, and associated with, data arriving from STTP stream.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.AutoDeleteAlarmMeasurements">
            <summary>
            Gets or sets flag that determines if ALARM signals not defined in metadata should be deleted during synchronizations. Do not set this
            value to <c>true</c> if local alarms are being created, and associated with, data arriving from STTP stream.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.SyncIndependentDevices">
            <summary>
            Gets or sets flag that determines if the data subscriber should attempt to synchronize device metadata as independent devices, i.e.,
            not as children of the parent STTP device connection.
            Defaults to <c>false</c>.
            </summary>
            <remarks>
            This is useful when using an STTP connection to only synchronize metadata from a publisher, but not to receive data. When enabled,
            the device enabled state will not be synchronized upon creation unless <see cref="P:sttp.DataSubscriber.AutoEnableSyncedDevices"/> is set to <c>true</c>.
            In this mode it may be useful to add the original "ConnectionString" field to the publisher's device metadata so it can be
            synchronized to the subscriber. To ensure no data is received, the subscriber should be configured with an "OutputMeasurements"
            filter in the adapter's connection string that does not include any measurements, e.g.:
            <code>outputMeasurements={FILTER ActiveMeasurements WHERE False}</code>
            </remarks>
        </member>
        <member name="P:sttp.DataSubscriber.AutoEnableSyncedDevices">
            <summary>
            Gets or sets flag that determines if the data subscriber should automatically enable synced devices.
            Defaults to <c>true</c> when <see cref="P:sttp.DataSubscriber.SyncIndependentDevices"/> is <c>false</c> (default); otherwise,
            defaults to <c>false</c> when <see cref="P:sttp.DataSubscriber.SyncIndependentDevices"/> is <c>true</c>.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.BypassStatistics">
            <summary>
            Gets or sets flag that determines if statistics engine should be enabled for the data subscriber.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.ReceiveExternalMetadata">
            <summary>
            Gets or sets the operational mode flag to receive external meta-data.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.OperationalEncoding">
            <summary>
            Gets or sets the <see cref="P:sttp.DataSubscriber.OperationalEncoding"/> used by the subscriber and publisher.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.CompressionModes">
            <summary>
            Gets or sets the <see cref="P:sttp.DataSubscriber.CompressionModes"/> used by the subscriber and publisher.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.Version">
            <summary>
            Gets or sets the version number of the protocol in use by this subscriber.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.Encoding">
            <summary>
            Gets the character encoding defined by the
            <see cref="P:sttp.DataSubscriber.OperationalEncoding"/> of the communications stream.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.SupportsRealTimeProcessing">
            <summary>
            Gets flag indicating if this adapter supports real-time processing.
            </summary>
            <remarks>
            Setting this value to false indicates that the adapter should not be enabled unless it exists within a temporal session.
            As an example, this flag can be used in a gateway system to set up two separate subscribers: one to the PDC for real-time
            data streams and one to the historian for historical data streams. In this scenario, the assumption is that the PDC is
            the data source for the historian, implying that only local data is destined for archival.
            </remarks>
        </member>
        <member name="P:sttp.DataSubscriber.SupportsTemporalProcessing">
            <summary>
            Gets the flag indicating if this adapter supports temporal processing.
            </summary>
            <remarks>
            <para>
            Although the data subscriber provisions support for temporal processing by receiving historical data from a remote source,
            the adapter opens sockets and does not need to be engaged within an actual temporal <see cref="T:Gemstone.Timeseries.Adapters.IaonSession"/>, therefore
            this method normally returns <c>false</c> to make sure the adapter doesn't get instantiated within a temporal session.
            </para>
            <para>
            Setting this to <c>true</c> means that a subscriber will be initialized within a temporal session to provide historical
            data from a remote source - this should only be enabled in cases where (1) there is no locally defined, e.g., in-process,
            historian that can already provide historical data for temporal sessions, and (2) a remote subscriber should be allowed
            to proxy temporal requests, e.g., those requested for data gap recovery, to an up-stream subscription. This is useful in
            cases where a primary data subscriber that has data gap recovery enabled can also allow a remote subscription to proxy in
            data gap recovery requests. It is recommended that remote data gap recovery request parameters be (1) either slightly
            looser than those of local system to reduce the possibility of duplicated recovery sessions for the same data loss, or
            (2) only enabled in the end-most system that most needs the recovered data, like a historian.
            </para>
            </remarks>
        </member>
        <member name="P:sttp.DataSubscriber.ProcessingInterval">
            <summary>
            Gets or sets the desired processing interval, in milliseconds, for the adapter.
            </summary>
            <remarks>
            Except for the values of -1 and 0, this value specifies the desired processing interval for data, i.e., basically a delay,
            or timer interval, over which to process data. A value of -1 means to use the default processing interval while a value of
            0 means to process data as fast as possible.
            </remarks>
        </member>
        <member name="P:sttp.DataSubscriber.Throttled">
            <summary>
            Gets or sets the flag that determines whether to request that the subscription be throttled to certain publication interval, see <see cref="P:sttp.DataSubscriber.PublishInterval"/>.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.PublishInterval">
            <summary>
            Gets or sets the interval, in seconds, at which data should be published when using a throttled subscription.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.MetadataSynchronizationTimeout">
            <summary>
            Gets or sets the timeout used when executing database queries during meta-data synchronization.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.UseTransactionForMetadata">
            <summary>
            Gets or sets flag that determines if meta-data synchronization should be performed within a transaction.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.UseLocalClockAsRealTime">
            <summary>
            Gets or sets flag that determines whether to use the local clock when calculating statistics.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.AllowedParsingExceptions">
            <summary>
            Gets or sets number of parsing exceptions allowed during <see cref="P:sttp.DataSubscriber.ParsingExceptionWindow"/> before connection is reset.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.ParsingExceptionWindow">
            <summary>
            Gets or sets time duration, in <see cref="T:Gemstone.Ticks"/>, to monitor parsing exceptions.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.DataSource">
            <summary>
            Gets or sets <see cref="T:System.Data.DataSet"/> based data source available to this <see cref="T:sttp.DataSubscriber"/>.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.RequestedOutputMeasurementKeys">
            <summary>
            Gets or sets output measurement keys that are requested by other adapters based on what adapter says it can provide.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.OutputMeasurements">
            <summary>
            Gets or sets output measurements that the <see cref="T:Gemstone.Timeseries.Adapters.AdapterBase"/> will produce, if any.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.ConnectionInfo">
            <summary>
            Gets connection info for adapter, if any.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.Status">
            <summary>
            Gets the status of this <see cref="T:sttp.DataSubscriber"/>.
            </summary>
            <remarks>
            Derived classes should provide current status information about the adapter for display purposes.
            </remarks>
        </member>
        <member name="P:sttp.DataSubscriber.UseAsyncConnect">
            <summary>
            Gets a flag that determines if this <see cref="T:sttp.DataSubscriber"/> uses an asynchronous connection.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.DataChannel">
            <summary>
            Gets or sets reference to <see cref="T:Gemstone.Communication.UdpClient"/> data channel, attaching and/or detaching to events as needed.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.ClientCommandChannel">
            <summary>
            Gets or sets reference to <see cref="T:Gemstone.Communication.TcpClient"/> command channel, attaching and/or detaching to events as needed.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.ServerCommandChannel">
            <summary>
            Gets or sets reference to <see cref="T:Gemstone.Communication.TcpServer"/> command channel, attaching and/or detaching to events as needed.
            </summary>
            <remarks>
            This handles reverse connectivity operations.
            </remarks>
        </member>
        <member name="P:sttp.DataSubscriber.LifetimeMeasurements">
            <summary>
            Gets the total number of measurements processed through this data publisher over the lifetime of the subscriber.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.MinimumMeasurementsPerSecond">
            <summary>
            Gets the minimum value of the measurements per second calculation.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.MaximumMeasurementsPerSecond">
            <summary>
            Gets the maximum value of the measurements per second calculation.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.AverageMeasurementsPerSecond">
            <summary>
            Gets the average value of the measurements per second calculation.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.LifetimeMinimumLatency">
            <summary>
            Gets the minimum latency calculated over the full lifetime of the subscriber.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.LifetimeMaximumLatency">
            <summary>
            Gets the maximum latency calculated over the full lifetime of the subscriber.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.LifetimeAverageLatency">
            <summary>
            Gets the average latency calculated over the full lifetime of the subscriber.
            </summary>
        </member>
        <member name="P:sttp.DataSubscriber.RealTime">
            <summary>
            Gets real-time as determined by either the local clock or the latest measurement received.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:sttp.DataSubscriber"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:sttp.DataSubscriber.Initialize">
            <summary>
            Initializes <see cref="T:sttp.DataSubscriber"/>.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.Subscribe(sttp.SubscriptionInfo)">
            <summary>
            Subscribes (or re-subscribes) to a data publisher for a set of data points.
            </summary>
            <param name="info">Configuration object that defines the subscription.</param>
            <returns><c>true</c> if subscribe transmission was successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.Subscribe(System.Boolean,System.Boolean,System.String,System.String,System.Boolean,System.Double,System.Double,System.Boolean,System.String,System.String,System.String,System.Int32,System.Double)">
            <summary>
            Subscribes (or re-subscribes) to a data publisher for an unsynchronized set of data points.
            </summary>
            <param name="compactFormat">Boolean value that determines if the compact measurement format should be used. Set to <c>false</c> for full fidelity measurement serialization; otherwise set to <c>true</c> for bandwidth conservation.</param>
            <param name="throttled">Boolean value that determines if data should be throttled at a set transmission interval or sent on change.</param>
            <param name="filterExpression">Filtering expression that defines the measurements that are being subscribed.</param>
            <param name="dataChannel">Desired UDP return data channel connection string to use for data packet transmission. Set to <c>null</c> to use TCP channel for data transmission.</param>
            <param name="includeTime">Boolean value that determines if time is a necessary component in streaming data.</param>
            <param name="lagTime">When <paramref name="throttled"/> is <c>true</c>, defines the data transmission speed in seconds (can be sub-second).</param>
            <param name="leadTime">When <paramref name="throttled"/> is <c>true</c>, defines the allowed time deviation tolerance to real-time in seconds (can be sub-second).</param>
            <param name="useLocalClockAsRealTime">When <paramref name="throttled"/> is <c>true</c>, defines boolean value that determines whether to use the local clock time as real-time. Set to <c>false</c> to use latest received measurement timestamp as real-time.</param>
            <param name="startTime">Defines a relative or exact start time for the temporal constraint to use for historical playback.</param>
            <param name="stopTime">Defines a relative or exact stop time for the temporal constraint to use for historical playback.</param>
            <param name="constraintParameters">Defines any temporal parameters related to the constraint to use for historical playback.</param>
            <param name="processingInterval">Defines the desired processing interval milliseconds, i.e., historical play back speed, to use when temporal constraints are defined.</param>
            <param name="publishInterval">Defines the interval, in seconds, at which data should be published when using a throttled subscription.</param>
            <returns><c>true</c> if subscribe transmission was successful; otherwise <c>false</c>.</returns>
            <remarks>
            <para>
            When the <paramref name="startTime"/> or <paramref name="stopTime"/> temporal processing constraints are defined (i.e., not <c>null</c>), this
            specifies the start and stop time over which the subscriber session will process data. Passing in <c>null</c> for the <paramref name="startTime"/>
            and <paramref name="stopTime"/> specifies the subscriber session will process data in standard, i.e., real-time, operation.
            </para>
            <para>
            Except for the values of -1 and 0, the <paramref name="processingInterval"/> value specifies the desired historical playback data
            processing interval in milliseconds. This is basically a delay, or timer interval, over which to process data. Setting this value
            to -1 means to use the default processing interval while setting the value to 0 means to process data as fast as possible.
            </para>
            <para>
            The <paramref name="startTime"/> and <paramref name="stopTime"/> parameters can be specified in one of the
            following formats:
            <list type="table">
                <listheader>
                    <term>Time Format</term>
                    <description>Format Description</description>
                </listheader>
                <item>
                    <term>12-30-2000 23:59:59.033</term>
                    <description>Absolute date and time.</description>
                </item>
                <item>
                    <term>*</term>
                    <description>Evaluates to <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-20s</term>
                    <description>Evaluates to 20 seconds before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-10m</term>
                    <description>Evaluates to 10 minutes before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-1h</term>
                    <description>Evaluates to 1 hour before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-1d</term>
                    <description>Evaluates to 1 day before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="M:sttp.DataSubscriber.Subscribe(System.Boolean,System.String)">
            <summary>
            Subscribes (or re-subscribes) to a data publisher for a set of data points.
            </summary>
            <param name="compactFormat">Boolean value that determines if the compact measurement format should be used. Set to <c>false</c> for full fidelity measurement serialization; otherwise set to <c>true</c> for bandwidth conservation.</param>
            <param name="connectionString">Connection string that defines required and optional parameters for the subscription.</param>
            <returns><c>true</c> if subscribe transmission was successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.Subscribe">
            <summary>
            Subscribes to a data publisher based on currently configured adapter settings.
            </summary>
            <returns><c>true</c> if subscribe command was sent successfully; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.Unsubscribe">
            <summary>
            Unsubscribes from a data publisher.
            </summary>
            <returns><c>true</c> if unsubscribe command was sent successfully; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.GetAuthorizedSignalIDs">
            <summary>
            Returns the measurements signal IDs that were authorized after the last successful subscription request.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.GetUnauthorizedSignalIDs">
            <summary>
            Returns the measurements signal IDs that were unauthorized after the last successful subscription request.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.ResetLifetimeCounters">
            <summary>
            Resets the counters for the lifetime statistics without interrupting the adapter's operations.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.RefreshMetadata">
            <summary>
            Initiate a meta-data refresh.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.LogDataGap(System.String)">
            <summary>
            Log a data gap for data gap recovery.
            </summary>
            <param name="timeString">The string representing the data gap.</param>
        </member>
        <member name="M:sttp.DataSubscriber.RemoveDataGap(System.String)">
            <summary>
            Remove a data gap from data gap recovery.
            </summary>
            <param name="timeString">The string representing the data gap.</param>
        </member>
        <member name="M:sttp.DataSubscriber.DumpOutageLog">
            <summary>
            Displays the contents of the outage log.
            </summary>
            <returns>The contents of the outage log.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.GetDataGapRecoverySubscriptionStatus">
            <summary>
            Gets the status of the temporal <see cref="T:sttp.DataSubscriber"/> used by the data gap recovery module.
            </summary>
            <returns>Status of the temporal <see cref="T:sttp.DataSubscriber"/> used by the data gap recovery module.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.SynchronizeMetadata(System.Data.DataSet)">
            <summary>
            Spawn meta-data synchronization.
            </summary>
            <param name="metadata"><see cref="T:System.Data.DataSet"/> to use for synchronization.</param>
            <remarks>
            This method makes sure only one meta-data synchronization happens at a time.
            </remarks>
        </member>
        <member name="M:sttp.DataSubscriber.SendServerCommand(sttp.ServerCommand,System.String)">
            <summary>
            Sends a server command to the publisher connection with associated <paramref name="message"/> data.
            </summary>
            <param name="commandCode"><see cref="T:sttp.ServerCommand"/> to send.</param>
            <param name="message">String based command data to send to server.</param>
            <returns><c>true</c> if <paramref name="commandCode"/> transmission was successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.SendServerCommand(sttp.ServerCommand,System.Byte[])">
            <summary>
            Sends a server command to the publisher connection.
            </summary>
            <param name="commandCode"><see cref="T:sttp.ServerCommand"/> to send.</param>
            <param name="data">Optional command data to send.</param>
            <returns><c>true</c> if <paramref name="commandCode"/> transmission was successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.AttemptConnection">
            <summary>
            Attempts to connect to this <see cref="T:sttp.DataSubscriber"/>.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.AttemptDisconnection">
            <summary>
            Attempts to disconnect from this <see cref="T:sttp.DataSubscriber"/>.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.GetShortStatus(System.Int32)">
            <summary>
            Gets a short one-line status of this <see cref="T:sttp.DataSubscriber"/>.
            </summary>
            <param name="maxLength">Maximum length of the status message.</param>
            <returns>Text of the status message.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.InterpretResponseMessage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Get message from string based response.
            </summary>
            <param name="buffer">Response buffer.</param>
            <param name="startIndex">Start index of response message.</param>
            <param name="length">Length of response message.</param>
            <returns>Decoded response string.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.SynchronizeMetadata">
            <summary>
            Handles meta-data synchronization to local system.
            </summary>
            <remarks>
            This function should only be initiated from call to <see cref="M:sttp.DataSubscriber.SynchronizeMetadata(System.Data.DataSet)"/> to make
            sure only one meta-data synchronization happens at once. Users can override this method to customize
            process of meta-data synchronization.
            </remarks>
        </member>
        <member name="M:sttp.DataSubscriber.OnConnectionEstablished">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.ConnectionEstablished"/> event.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.OnConnectionTerminated">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.ConnectionTerminated"/> event.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.OnConnectionAuthenticated">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.ConnectionAuthenticated"/> event.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.OnReceivedServerResponse(sttp.ServerResponse,sttp.ServerCommand)">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.ReceivedServerResponse"/> event.
            </summary>
            <param name="responseCode">Response received from the server.</param>
            <param name="commandCode">Command that the server responded to.</param>
        </member>
        <member name="M:sttp.DataSubscriber.OnReceivedUserCommandResponse(sttp.ServerCommand,sttp.ServerResponse,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.ReceivedUserCommandResponse"/> event.
            </summary>
            <param name="command">The code for the user command.</param>
            <param name="response">The code for the server's response.</param>
            <param name="buffer">Buffer containing the message from the server.</param>
            <param name="startIndex">Index into the buffer used to skip the header.</param>
            <param name="length">The length of the message in the buffer, including the header.</param>
        </member>
        <member name="M:sttp.DataSubscriber.OnMetaDataReceived(System.Data.DataSet)">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.MetaDataReceived"/> event.
            </summary>
            <param name="metadata">Meta-data <see cref="T:System.Data.DataSet"/> instance to send to client subscription.</param>
        </member>
        <member name="M:sttp.DataSubscriber.OnDataStartTime(Gemstone.Ticks)">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.DataStartTime"/> event.
            </summary>
            <param name="startTime">Start time, in <see cref="T:Gemstone.Ticks"/>, of first measurement transmitted.</param>
        </member>
        <member name="M:sttp.DataSubscriber.OnProcessingComplete(System.String)">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.ProcessingComplete"/> event.
            </summary>
            <param name="source">Type name of adapter that sent the processing completed notification.</param>
        </member>
        <member name="M:sttp.DataSubscriber.OnNotificationReceived(System.String)">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.NotificationReceived"/> event.
            </summary>
            <param name="message">Message for the notification.</param>
        </member>
        <member name="M:sttp.DataSubscriber.OnServerConfigurationChanged">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.ServerConfigurationChanged"/> event.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.OnProcessException(Gemstone.Diagnostics.MessageLevel,System.Exception,System.String,Gemstone.Diagnostics.MessageFlags)">
            <summary>
            Raises <see cref="E:Gemstone.Timeseries.Adapters.AdapterBase.ProcessException"/> event.
            </summary>
            <param name="level">The <see cref="T:Gemstone.Diagnostics.MessageLevel"/> to assign to this message</param>
            <param name="exception">Processing <see cref="T:System.Exception"/>.</param>
            <param name="eventName">A fixed string to classify this event; defaults to <c>null</c>.</param>
            <param name="flags"><see cref="T:Gemstone.Diagnostics.MessageFlags"/> to use, if any; defaults to <see cref="F:Gemstone.Diagnostics.MessageFlags.None"/>.</param>
        </member>
        <member name="M:sttp.DataSubscriber.OnExceededParsingExceptionThreshold">
            <summary>
            Raises the <see cref="E:sttp.DataSubscriber.ExceededParsingExceptionThreshold"/> event.
            </summary>
        </member>
        <member name="M:sttp.DataSubscriber.GetLoggingPath(System.String)">
            <summary>
            Gets file path for any defined logging path.
            </summary>
            <param name="filePath">Path to acquire within logging path.</param>
            <returns>File path within any defined logging path.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.GetLocalCertificate">
            <summary>
            Gets the path to the local certificate from the configuration file.
            </summary>
            <returns>Path to the local certificate from the configuration file.</returns>
        </member>
        <member name="M:sttp.DataSubscriber.RemoteCertificateExists(System.String@)">
            <summary>
            Checks if the specified certificate exists, updating path if needed.
            </summary>
            <param name="remoteCertificate">Reference certificate.</param>
            <returns><c>true</c> if certificate exists; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:sttp.SignalIndexCache">
            <summary>
            Represents a serializable <see cref="T:System.Guid"/> signal ID to <see cref="T:System.Int32"/> index cross-reference.
            </summary>
            <remarks>
            This class is used to create a runtime index to be used for data exchange so that a 32-bit integer
            is exchanged in the data packets for signal identification instead of the 128-bit Guid signal ID
            to reduce bandwidth required for signal exchange. This means the total number of unique signal
            IDs that could be exchanged using this method in a single session is 2,147,483,647*. This number
            seems reasonable for the currently envisioned use cases, however, multiple sessions each with
            their own runtime signal index cache could be established if this is a limitation for a given
            data set.
            <para>
            * This maximum value is for a signed integer - the value is large enough that even approaching
            this value would swamp most systems; note that most all collections defined in .NET also use a
            signed integer. That said, this could easily move to an unsigned integer in the future as systems
            move towards the ability to manage in-memory collections of this magnitude. In this case the
            upper limit would increase to 4,294,967,295.
            </para>
            </remarks>
        </member>
        <member name="F:sttp.SignalIndexCache.m_signalIDCache">
            <summary>
            Lookups MeasurementKey.RuntimeID and returns int SignalIndex. -1 means it does not exist.
            </summary>
        </member>
        <member name="M:sttp.SignalIndexCache.#ctor">
            <summary>
            Creates a new <see cref="T:sttp.SignalIndexCache"/> instance.
            </summary>
        </member>
        <member name="M:sttp.SignalIndexCache.#ctor(System.Data.DataSet,sttp.SignalIndexCache)">
            <summary>
            Creates a new local system cache from one that was received remotely.
            </summary>
            <param name="dataSource"><see cref="T:System.Data.DataSet"/> based data source used to interpret local measurement keys.</param>
            <param name="remoteCache">Deserialized remote signal index cache.</param>
        </member>
        <member name="P:sttp.SignalIndexCache.SubscriberID">
            <summary>
            Gets or sets the <see cref="T:System.Guid"/> based subscriber ID of this <see cref="T:sttp.SignalIndexCache"/>.
            </summary>
        </member>
        <member name="P:sttp.SignalIndexCache.RefreshCount">
            <summary>
            Gets the total number of times the signal index cache has been refreshed.
            </summary>
        </member>
        <member name="P:sttp.SignalIndexCache.Reference">
            <summary>
            Gets or sets integer signal index cross-reference dictionary.
            </summary>
        </member>
        <member name="P:sttp.SignalIndexCache.AuthorizedSignalIDs">
            <summary>
            Gets reference to array of requested input measurement signal IDs that were authorized.
            </summary>
        </member>
        <member name="P:sttp.SignalIndexCache.UnauthorizedSignalIDs">
            <summary>
            Gets or sets reference to array of requested input measurement signal IDs that were unauthorized.
            </summary>
        </member>
        <member name="P:sttp.SignalIndexCache.MaximumIndex">
            <summary>
            Gets the current maximum integer signal index.
            </summary>
        </member>
        <member name="P:sttp.SignalIndexCache.Encoding">
            <summary>
            Gets or sets character encoding used to convert strings to binary.
            </summary>
        </member>
        <member name="P:sttp.SignalIndexCache.BinaryLength">
            <summary>
            Gets the length of the binary image.
            </summary>
        </member>
        <member name="M:sttp.SignalIndexCache.GetSignalIndex(Gemstone.Timeseries.MeasurementKey)">
            <summary>
            Gets runtime signal index for given <see cref="T:System.Guid"/> signal ID.
            </summary>
            <param name="key">The <see cref="T:Gemstone.Timeseries.MeasurementKey"/> used to lookup associated runtime signal index.</param>
            <returns>Runtime signal index for given <see cref="T:Gemstone.Timeseries.MeasurementKey"/> <paramref name="key"/>.</returns>
        </member>
        <member name="M:sttp.SignalIndexCache.GenerateBinaryImage(System.Byte[],System.Int32)">
            <summary>
            Generates binary image of the <see cref="T:sttp.SignalIndexCache"/> and copies it into the given buffer, for <see cref="P:sttp.SignalIndexCache.BinaryLength"/> bytes.
            </summary>
            <param name="buffer">Buffer used to hold generated binary image of the source object.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start writing.</param>
            <returns>The number of bytes written to the <paramref name="buffer"/>.</returns>
        </member>
        <member name="M:sttp.SignalIndexCache.ParseBinaryImage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Initializes the <see cref="T:sttp.SignalIndexCache"/> by parsing the specified <paramref name="buffer"/> containing a binary image.
            </summary>
            <param name="buffer">Buffer containing binary image to parse.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start parsing.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> to read from <paramref name="startIndex"/>.</param>
            <returns>The number of bytes used for initialization in the <paramref name="buffer"/> (i.e., the number of bytes parsed).</returns>
        </member>
        <member name="T:sttp.SubscriberAdapter">
            <summary>
            Represents an unsynchronized client subscription to the <see cref="T:sttp.DataPublisher" />.
            </summary>
        </member>
        <member name="E:sttp.SubscriberAdapter.BufferBlockRetransmission">
            <summary>
            Indicates that a buffer block needed to be retransmitted because
            it was previously sent, but no confirmation was received.
            </summary>
        </member>
        <member name="E:sttp.SubscriberAdapter.ProcessingComplete">
            <summary>
            Indicates to the host that processing for an input adapter (via temporal session) has completed.
            </summary>
            <remarks>
            This event is expected to only be raised when an input adapter has been designed to process
            a finite amount of data, e.g., reading a historical range of data during temporal processing.
            </remarks>
        </member>
        <member name="M:sttp.SubscriberAdapter.#ctor(sttp.DataPublisher,System.Guid,System.Guid,sttp.CompressionModes)">
            <summary>
            Creates a new <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
            <param name="parent">Reference to parent.</param>
            <param name="clientID"><see cref="T:System.Guid"/> based client connection ID.</param>
            <param name="subscriberID"><see cref="T:System.Guid"/> based subscriber ID.</param>
            <param name="compressionModes"><see cref="T:sttp.CompressionModes"/> requested by client.</param>
        </member>
        <member name="P:sttp.SubscriberAdapter.Name">
            <summary>
            Gets name of the action adapter.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.ClientID">
            <summary>
            Gets the <see cref="T:System.Guid"/> client TCP connection identifier of this <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.SubscriberID">
            <summary>
            Gets the <see cref="T:System.Guid"/> based subscriber ID of this <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.RequestedInputFilter">
            <summary>
            Gets the input filter requested by the subscriber when establishing this <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.UsePayloadCompression">
            <summary>
            Gets or sets flag that determines if payload compression should be enabled in data packets of this <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.UseCompactMeasurementFormat">
            <summary>
            Gets or sets flag that determines if the compact measurement format should be used in data packets of this <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.TimestampSize">
            <summary>
            Gets size of timestamp in bytes.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.ProcessingInterval">
            <summary>
            Gets or sets the desired processing interval, in milliseconds, for the adapter.
            </summary>
            <remarks>
            Except for the values of -1 and 0, this value specifies the desired processing interval for data, i.e.,
            basically a delay, or timer interval, over which to process data. A value of -1 means to use the default
            processing interval while a value of 0 means to process data as fast as possible.
            </remarks>
        </member>
        <member name="P:sttp.SubscriberAdapter.InputMeasurementKeys">
            <summary>
            Gets or sets primary keys of input measurements the <see cref="T:sttp.SubscriberAdapter"/> expects, if any.
            </summary>
            <remarks>
            We override method so assignment can be synchronized such that dynamic updates won't interfere
            with filtering in <see cref="M:sttp.SubscriberAdapter.QueueMeasurementsForProcessing(System.Collections.Generic.IEnumerable{Gemstone.Timeseries.IMeasurement})"/>.
            </remarks>
        </member>
        <member name="P:sttp.SubscriberAdapter.TimeSortedPublication">
            <summary>
            Gets or sets flag that determines if data should be pre-processed before publication as time-sorted.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.SupportsTemporalProcessing">
            <summary>
            Gets the flag indicating if this adapter supports temporal processing.
            </summary>
            <remarks>
            Although this adapter provisions support for temporal processing by proxying historical data to a remote sink, the adapter
            does not need to be automatically engaged within an actual temporal <see cref="T:Gemstone.Timeseries.Adapters.IaonSession"/>, therefore this method returns
            <c>false</c> to make sure the adapter doesn't get automatically instantiated within a temporal session.
            </remarks>
        </member>
        <member name="P:sttp.SubscriberAdapter.Status">
            <summary>
            Gets a formatted message describing the status of this <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberAdapter.TemporalSessionStatus">
            <summary>
            Gets the status of the active temporal session, if any.
            </summary>
        </member>
        <member name="M:sttp.SubscriberAdapter.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:sttp.SubscriberAdapter"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:sttp.SubscriberAdapter.Initialize">
            <summary>
            Initializes <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
        </member>
        <member name="M:sttp.SubscriberAdapter.Start">
            <summary>
            Starts the <see cref="T:sttp.SubscriberAdapter"/> or restarts it if it is already running.
            </summary>
        </member>
        <member name="M:sttp.SubscriberAdapter.Stop">
            <summary>
            Stops the <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>	
        </member>
        <member name="M:sttp.SubscriberAdapter.GetShortStatus(System.Int32)">
            <summary>
            Gets a short one-line status of this <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
            <param name="maxLength">Maximum number of available characters for display.</param>
            <returns>A short one-line summary of the current status of this <see cref="T:Gemstone.Timeseries.Adapters.AdapterBase"/>.</returns>
        </member>
        <member name="M:sttp.SubscriberAdapter.QueueMeasurementsForProcessing(System.Collections.Generic.IEnumerable{Gemstone.Timeseries.IMeasurement})">
            <summary>
            Queues a collection of measurements for processing.
            </summary>
            <param name="measurements">Collection of measurements to queue for processing.</param>
            <remarks>
            Measurements are filtered against the defined <see cref="P:sttp.SubscriberAdapter.InputMeasurementKeys"/> so we override method
            so that dynamic updates to keys will be synchronized with filtering to prevent interference.
            </remarks>
        </member>
        <member name="M:sttp.SubscriberAdapter.ConfirmBufferBlock(System.UInt32)">
            <summary>
            Handles the confirmation message received from the
            subscriber to indicate that a buffer block was received.
            </summary>
            <param name="sequenceNumber">The sequence number of the buffer block.</param>
            <returns>A list of buffer block sequence numbers for blocks that need to be retransmitted.</returns>
        </member>
        <member name="T:sttp.SubscriberConnection">
            <summary>
            Represents a <see cref="T:sttp.DataSubscriber"/> client connection to the <see cref="T:sttp.DataPublisher"/>.
            </summary>
        </member>
        <member name="M:sttp.SubscriberConnection.#ctor(sttp.DataPublisher,System.Guid,Gemstone.Communication.IServer,Gemstone.Communication.IClient)">
            <summary>
            Creates a new <see cref="T:sttp.SubscriberConnection"/> instance.
            </summary>
            <param name="parent">Parent data publisher.</param>
            <param name="clientID">Client ID of associated connection.</param>
            <param name="serverCommandChannel"><see cref="T:Gemstone.Communication.TcpServer"/> command channel used to lookup connection information.</param>
            <param name="clientCommandChannel"><see cref="T:System.Net.Sockets.TcpClient"/> command channel used to lookup connection information.</param>
        </member>
        <member name="M:sttp.SubscriberConnection.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:sttp.SubscriberConnection"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.ClientID">
            <summary>
            Gets client ID of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.Version">
            <summary>
            Gets the version of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.SignalIndexCache">
            <summary>
            Gets the current signal index cache of this <see cref="T:sttp.SubscriberAdapter"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.NextSignalIndexCache">
            <summary>
            Gets the pending Signal Index Cache.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.CacheUpdateLock">
            <summary>
            Gets the lock object for updating Signal Index Cache properties.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.CurrentCacheIndex">
            <summary>
            Gets the current Signal Index Cache index, i.e., zero or one.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.NextCacheIndex">
            <summary>
            Gets the next Signal Index Cache index, i.e., zero or one.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.DataChannel">
            <summary>
            Gets or sets reference to <see cref="T:Gemstone.Communication.UdpServer"/> data channel, attaching to or detaching from events as needed, associated with this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.ServerCommandChannel">
            <summary>
            Gets <see cref="T:Gemstone.Communication.IServer"/> command channel.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.ClientCommandChannel">
            <summary>
            Gets <see cref="T:Gemstone.Communication.IClient"/> command channel.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.ServerPublishChannel">
            <summary>
            Gets <see cref="T:Gemstone.Communication.IServer"/> publication channel - that is, data channel if defined otherwise command channel.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.PublishBuffer">
            <summary>
            Gets buffer used to hold publish data for the <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.LastPublishTime">
            <summary>
            Gets or sets last publish time for subscriber connection.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.IsConnected">
            <summary>
            Gets connected state of the associated client socket.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.IsSubscribed">
            <summary>
            Gets or sets IsSubscribed state.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.ClientNotFoundExceptionOccurred">
            <summary>
            Gets or sets flag that indicates if the socket exception for "No client found for ID [Guid]" has been thrown.
            </summary>
            <returns>
            Since this message might be thrown many times before the communications channel has had a chance to disconnect
            the socket, it is best to stop attempting to send data when this error has been encountered.
            </returns>
        </member>
        <member name="P:sttp.SubscriberConnection.SubscriberID">
            <summary>
            Gets or sets the <see cref="T:System.Guid"/> based subscriber ID of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.SubscriberAcronym">
            <summary>
            Gets or sets the subscriber acronym of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.SubscriberName">
            <summary>
            Gets or sets the subscriber name of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.SubscriberInfo">
            <summary>
            Gets or sets subscriber info for this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.ConnectionID">
            <summary>
            Gets the connection identification of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.Authenticated">
            <summary>
            Gets or sets authenticated state of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.KeyIVs">
            <summary>
            Gets active and standby keys and initialization vectors.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.CipherIndex">
            <summary>
            Gets current cipher index.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.LastCipherKeyUpdateTime">
            <summary>
            Gets time of last cipher key update.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.PendingSignalIndexCache">
            <summary>
            Gets or sets any pending Signal Index Cache.
            </summary>
            <remarks>
            This cache is for holding any updates while waiting for confirmation of
            receipt of signal index cache updates from the data subscriber.
            </remarks>
        </member>
        <member name="P:sttp.SubscriberConnection.PendingCacheUpdateLock">
            <summary>
            Gets the lock object for updating Signal Index Cache properties.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.ValidIPAddresses">
            <summary>
            Gets or sets the list of valid IP addresses that this client can connect from.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.IPAddress">
            <summary>
            Gets the IP address of the remote client connection.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.Subscription">
            <summary>
            Gets or sets subscription associated with this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.Name">
            <summary>
            Gets the subscriber name of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.OperationalModes">
            <summary>
            Gets or sets a set of flags that define ways in
            which the subscriber and publisher communicate.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.Encoding">
            <summary>
            Character encoding used to send messages to subscriber.
            </summary>
        </member>
        <member name="P:sttp.SubscriberConnection.Status">
            <summary>
            Gets a formatted message describing the status of this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="M:sttp.SubscriberConnection.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:sttp.SubscriberConnection"/> object.
            </summary>
        </member>
        <member name="M:sttp.SubscriberConnection.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:sttp.SubscriberConnection"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:sttp.SubscriberConnection.UpdateKeyIVs">
            <summary>
            Creates or updates cipher keys.
            </summary>
        </member>
        <member name="M:sttp.SubscriberConnection.RotateCipherKeys">
            <summary>
            Rotates or initializes the crypto keys for this <see cref="T:sttp.SubscriberConnection"/>.
            </summary>
        </member>
        <member name="M:sttp.SubscriberConnection.GetCommandChannelSocket">
            <summary>
            Gets the <see cref="T:System.Net.Sockets.Socket"/> instance used by this client
            connection to send and receive data over the command channel.
            </summary>
            <returns>The socket instance used by the client to send and receive data over the command channel.</returns>
        </member>
        <member name="M:sttp.SubscriberConnection.GetEndPointConnectionID(System.Guid,System.Net.IPEndPoint)">
            <summary>
            Looks up and returns a good end-user connection ID for an <see cref="T:System.Net.IPEndPoint"/>.
            </summary>
            <param name="clientID"><see cref="T:System.Guid"/> based client ID.</param>
            <param name="remoteEndPoint">Remote <see cref="T:System.Net.IPEndPoint"/>.</param>
            <returns>End-user connection ID for an <see cref="T:System.Net.IPEndPoint"/>.</returns>
        </member>
        <member name="M:sttp.SubscriberConnection.LookupEndPointInfo(System.Guid,System.Net.IPEndPoint,System.Net.IPAddress@,System.String@,System.String@)">
            <summary>
            Looks up IP, DNS host name and a good end-user connection ID for an <see cref="T:System.Net.IPEndPoint"/>.
            </summary>
            <param name="clientID"><see cref="T:System.Guid"/> based client ID.</param>
            <param name="remoteEndPoint">Remote <see cref="T:System.Net.IPEndPoint"/>.</param>
            <param name="ipAddress">Parsed IP address.</param>
            <param name="hostName">Looked-up DNS host name.</param>
            <param name="connectionID">String based connection identifier for human reference.</param>
        </member>
        <member name="T:sttp.SubscriberRightsLookup">
            <summary>
            Represents a lookup table that determines whether
            a given subscriber has rights to specific signals.
            </summary>
        </member>
        <member name="M:sttp.SubscriberRightsLookup.#ctor(System.Data.DataSet,System.Guid)">
            <summary>
            Creates a new instance of the <see cref="T:sttp.SubscriberRightsLookup"/> class.
            </summary>
            <param name="dataSource">The source of metadata providing the tables required by the rights logic.</param>
            <param name="subscriberID">The ID of the subscriber whose rights are being looked up.</param>
        </member>
        <member name="P:sttp.SubscriberRightsLookup.HasRightsFunc">
            <summary>
            Gets the function that determines whether the subscriber has rights to a given signal.
            </summary>
        </member>
        <member name="M:sttp.SubscriberRightsLookup.HasRights(System.Guid)">
            <summary>
            Determines whether the subscriber has rights to a given signal.
            </summary>
            <param name="signalID">The ID of the signal.</param>
            <returns>True if the subscriber has rights; false otherwise.</returns>
        </member>
        <member name="T:sttp.SubscriptionInfo">
            <summary>
            Configuration object for data subscriptions.
            </summary>
        </member>
        <member name="M:sttp.SubscriptionInfo.#ctor(System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:sttp.SubscriptionInfo"/> class.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.FilterExpression">
            <summary>
            Gets or sets the filter expression used to define which
            measurements are being requested by the subscriber.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.UseCompactMeasurementFormat">
            <summary>
            Gets or sets the flag that determines whether to use the
            compact measurement format or the full measurement format
            for transmitting measurements to the subscriber.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.UdpDataChannel">
            <summary>
            Gets or sets the flag that determines whether the subscriber
            is requesting its data over a separate UDP data channel.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.DataChannelLocalPort">
            <summary>
            Gets or sets the port number that the UDP data channel binds to.
            This value is only used when the subscriber requests a separate
            UDP data channel.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.LagTime">
            <summary>
            Gets or sets the allowed past-time deviation
            tolerance in seconds (can be sub-second).
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.LeadTime">
            <summary>
            Gets or sets the allowed future-time deviation
            tolerance, in seconds (can be sub-second).
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.UseLocalClockAsRealTime">
            <summary>
            Gets or sets the flag that determines whether the server's
            local clock is used as real-time. If false, the timestamps
            of the measurements will be used as real-time.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.UseMillisecondResolution">
            <summary>
            Gets or sets the flag that determines whether measurement timestamps use
            millisecond resolution. If false, they will use <see cref="T:Gemstone.Ticks"/> resolution.
            </summary>
            <remarks>
            This flag determines the size of the timestamps transmitted as part of
            the compact measurement format when the server is using base time offsets.
            </remarks>
        </member>
        <member name="P:sttp.SubscriptionInfo.RequestNaNValueFilter">
            <summary>
            Gets or sets the flag that determines whether to request that measurements
            sent to the subscriber should be filtered by the publisher prior to sending them.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.StartTime">
            <summary>
            Gets or sets the start time of the requested
            temporal session for streaming historic data.
            </summary>
            <remarks>
            <para>
            When the <see cref="P:sttp.SubscriptionInfo.StartTime"/> or <see cref="P:sttp.SubscriptionInfo.StopTime"/> temporal processing constraints are defined (i.e., not <c>null</c>), this
            specifies the start and stop time over which the subscriber session will process data. Passing in <c>null</c> for the <see cref="P:sttp.SubscriptionInfo.StartTime"/>
            and <see cref="P:sttp.SubscriptionInfo.StopTime"/> specifies the subscriber session will process data in standard, i.e., real-time, operation.
            </para>
            
            <para>
            Both the <see cref="P:sttp.SubscriptionInfo.StartTime"/> and <see cref="P:sttp.SubscriptionInfo.StopTime"/> parameters can be specified in one of the
            following formats:
            <list type="table">
                <listheader>
                    <term>Time Format</term>
                    <description>Format Description</description>
                </listheader>
                <item>
                    <term>12-30-2000 23:59:59.033</term>
                    <description>Absolute date and time.</description>
                </item>
                <item>
                    <term>*</term>
                    <description>Evaluates to <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-20s</term>
                    <description>Evaluates to 20 seconds before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-10m</term>
                    <description>Evaluates to 10 minutes before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-1h</term>
                    <description>Evaluates to 1 hour before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-1d</term>
                    <description>Evaluates to 1 day before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="P:sttp.SubscriptionInfo.StopTime">
            <summary>
            Gets or sets the stop time of the requested
            temporal session for streaming historic data.
            </summary>
            <remarks>
            <para>
            When the <see cref="P:sttp.SubscriptionInfo.StartTime"/> or <see cref="P:sttp.SubscriptionInfo.StopTime"/> temporal processing constraints are defined (i.e., not <c>null</c>), this
            specifies the start and stop time over which the subscriber session will process data. Passing in <c>null</c> for the <see cref="P:sttp.SubscriptionInfo.StartTime"/>
            and <see cref="P:sttp.SubscriptionInfo.StopTime"/> specifies the subscriber session will process data in standard, i.e., real-time, operation.
            </para>
            
            <para>
            Both the <see cref="P:sttp.SubscriptionInfo.StartTime"/> and <see cref="P:sttp.SubscriptionInfo.StopTime"/> parameters can be specified in one of the
            following formats:
            <list type="table">
                <listheader>
                    <term>Time Format</term>
                    <description>Format Description</description>
                </listheader>
                <item>
                    <term>12-30-2000 23:59:59.033</term>
                    <description>Absolute date and time.</description>
                </item>
                <item>
                    <term>*</term>
                    <description>Evaluates to <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-20s</term>
                    <description>Evaluates to 20 seconds before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-10m</term>
                    <description>Evaluates to 10 minutes before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-1h</term>
                    <description>Evaluates to 1 hour before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
                <item>
                    <term>*-1d</term>
                    <description>Evaluates to 1 day before <see cref="P:System.DateTime.UtcNow"/>.</description>
                </item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="P:sttp.SubscriptionInfo.ConstraintParameters">
            <summary>
            Gets or sets the additional constraint parameters
            supplied to temporal adapters in a temporal session.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.ProcessingInterval">
            <summary>
            Gets or sets the processing interval requested by the subscriber.
            A value of <c>-1</c> indicates the default processing interval.
            A value of <c>0</c> indicates data will be processed as fast as
            possible.
            </summary>
            <remarks>
            Except for the values of -1 and 0, the <see cref="P:sttp.SubscriptionInfo.ProcessingInterval"/> value specifies the desired historical playback data
            processing interval in milliseconds. This is basically a delay, or timer interval, over which to process data. Setting this
            value to -1 means to use the default processing interval while setting the value to 0 means to process data as fast as possible.
            </remarks>
        </member>
        <member name="P:sttp.SubscriptionInfo.Throttled">
            <summary>
            Gets or sets the flag that determines whether
            to request that the subscription be throttled.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.PublishInterval">
            <summary>
            Gets or sets the interval at which data should be
            published when using a throttled subscription.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.IncludeTime">
            <summary>
            Gets or sets the flag that determines whether timestamps are
            included in the data sent from the publisher. This value is
            ignored if the data is remotely synchronized.
            </summary>
        </member>
        <member name="P:sttp.SubscriptionInfo.ExtraConnectionStringParameters">
            <summary>
            Gets or sets the additional connection string parameters to
            be applied to the connection string sent to the publisher
            during subscription.
            </summary>
        </member>
        <member name="T:sttp.tssc.TsscCodeWords">
            <summary>
            The encoding commands supported by TSSC. This class is used by 
            <see cref="T:sttp.tssc.TsscDecoder"/> and <see cref="T:sttp.tssc.TsscEncoder"/>.
            </summary>
        </member>
        <member name="T:sttp.tssc.TsscDecoder">
            <summary>
            The decoder for the TSSC protocol.
            </summary>
        </member>
        <member name="M:sttp.tssc.TsscDecoder.#ctor">
            <summary>
            Creates a decoder for the TSSC protocol.
            </summary>
        </member>
        <member name="M:sttp.tssc.TsscDecoder.Reset">
            <summary>
            Resets the TSSC Decoder to the initial state. 
            </summary>
            <remarks>
            TSSC is a stateful encoder that requires a state
            of the previous data to be maintained. Therefore, if 
            the state ever becomes corrupt (out of order, dropped, corrupted, or duplicated)
            the state must be reset on both ends.
            </remarks>
        </member>
        <member name="M:sttp.tssc.TsscDecoder.SetBuffer(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the internal buffer to read data from.
            </summary>
            <param name="data"></param>
            <param name="startingPosition"></param>
            <param name="length"></param>
        </member>
        <member name="M:sttp.tssc.TsscDecoder.TryGetMeasurement(System.Int32@,System.Int64@,System.UInt32@,System.Single@)">
            <summary>
            Reads the next measurement from the stream. If the end of the stream has been encountered, 
            return false.
            </summary>
            <param name="id">the id</param>
            <param name="timestamp">the timestamp in ticks</param>
            <param name="quality">the quality</param>
            <param name="value">the value</param>
            <returns>true if successful, false otherwise.</returns>
        </member>
        <member name="T:sttp.tssc.TsscEncoder">
            <summary>
            An encoder for the TSSC protocol.
            </summary>
        </member>
        <member name="M:sttp.tssc.TsscEncoder.#ctor">
            <summary>
            Creates an encoder for the TSSC protocol.
            </summary>
        </member>
        <member name="M:sttp.tssc.TsscEncoder.Reset">
            <summary>
            Resets the TSSC Encoder to the initial state. 
            </summary>
            <remarks>
            TSSC is a stateful encoder that requires a state
            of the previous data to be maintained. Therefore, if 
            the state ever becomes corrupt (out of order, dropped, corrupted, or duplicated)
            the state must be reset on both ends.
            </remarks>
        </member>
        <member name="M:sttp.tssc.TsscEncoder.SetBuffer(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the internal buffer to write data to.
            </summary>
            <param name="data"></param>
            <param name="startingPosition"></param>
            <param name="length"></param>
        </member>
        <member name="M:sttp.tssc.TsscEncoder.FinishBlock">
            <summary>
            Finishes the current block and returns position after the last byte written.
            </summary>
            <returns></returns>
        </member>
        <member name="M:sttp.tssc.TsscEncoder.TryAddMeasurement(System.Int32,System.Int64,System.UInt32,System.Single)">
            <summary>
            Adds the supplied measurement to the stream. If the stream is full,
            this method returns false.
            </summary>
            <param name="id">the id</param>
            <param name="timestamp">the timestamp in ticks</param>
            <param name="quality">the quality</param>
            <param name="value">the value</param>
            <returns>true if successful, false otherwise.</returns>
        </member>
        <member name="T:sttp.tssc.TsscPointMetadata">
            <summary>
            The metadata kept for each pointID.
            </summary>
        </member>
    </members>
</doc>
