<doc>
  <assembly>
    <name>Rebex.Time</name>
  </assembly>
  <members>
    <member name="T:Rebex.Net.Daytime">
      <summary>
            Provides methods for communication with DAYTIME servers (RFC 867).
            </summary>
    </member>
    <member name="F:Rebex.Net.Daytime.DefaultPort">
      <summary>
            Default DAYTIME port number (13).
            </summary>
    </member>
    <member name="M:Rebex.Net.Daytime.#ctor(System.String)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Net.Daytime" /> class and binds it to the specified DAYTIME server.
            </summary>
      <param name="serverName">The DAYTIME server hostname.</param>
    </member>
    <member name="M:Rebex.Net.Daytime.#ctor(System.String,System.Int32)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Net.Daytime" /> class and binds it to the specified DAYTIME server.
            </summary>
      <param name="serverName">The DAYTIME server hostname.</param>
      <param name="serverPort">The DAYTIME server port.</param>
    </member>
    <member name="P:Rebex.Net.Daytime.UseTcp">
      <summary>
            Gets or sets a value indicating whether to use the TCP protocol (default is UDP).
            </summary>
      <value>True to use TCP; false to use UDP. Default is false.</value>
    </member>
    <member name="M:Rebex.Net.Daytime.SynchronizeSystemClock(System.String,System.Int32,System.Boolean)">
      <summary>
            Synchronize the local time with the DAYTIME server.
            </summary>
      <param name="serverName">The time server hostname.</param>
      <param name="serverPort">The time server port.</param>
      <param name="useTcp">True if communicate via TCP; false to communicate via UDP.</param>
    </member>
    <member name="M:Rebex.Net.Daytime.SynchronizeSystemClock(System.String,System.Int32)">
      <summary>
            Synchronize the local time with the DAYTIME server using TCP protocol.
            </summary>
      <param name="serverName">The time server hostname.</param>
      <param name="serverPort">The time server port.</param>
    </member>
    <member name="M:Rebex.Net.Daytime.SynchronizeSystemClock(System.String)">
      <summary>
            Synchronize the local time with the DAYTIME server using TCP protocol.
            </summary>
      <param name="serverName">The time server hostname.</param>
    </member>
    <member name="M:Rebex.Net.Daytime.Parse(System.String)">
      <summary>
            Parses the specified DAYTIME result.
            </summary>
      <param name="daytime">DAYTIME result.</param>
      <returns>Timestamp corresponding to the specified daytime value.</returns>
    </member>
    <member name="T:Rebex.Net.Ntp">
      <summary>
            Provides methods for communication with NTP servers.
            Supported protocol versions are 3 and 4.
            </summary>
    </member>
    <member name="F:Rebex.Net.Ntp.DefaultPort">
      <summary>
            Default NTP port number (123).
            </summary>
    </member>
    <member name="M:Rebex.Net.Ntp.#ctor(System.String)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Net.Ntp" /> class and binds it to the specified NTP time server.
            </summary>
      <param name="serverName">The time server hostname.</param>
    </member>
    <member name="M:Rebex.Net.Ntp.#ctor(System.String,System.Int32)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Net.Ntp" /> class and binds it to the specified NTP time server.
            </summary>
      <param name="serverName">The time server hostname.</param>
      <param name="serverPort">The time server port.</param>
    </member>
    <member name="P:Rebex.Net.Ntp.VersionNumber">
      <summary>
            NTP/SNTP protocol version number.
            </summary>
      <value>1 to 4. Default is 3.</value>
    </member>
    <member name="P:Rebex.Net.Ntp.SkipStratumCheck">
      <summary>
            Gets or sets a value indicating whether the stratum value returned by the server 
            is checked for a value indicating a Kiss-of-Death (error) packet (default is to perform check).
            </summary>
      <value>True to skip stratum check; false to not skip the check. Default is false.</value>
    </member>
    <member name="M:Rebex.Net.Ntp.GetTime">
      <summary>
            Sends a request for time to the NTP server passed to the constructor
            and waits for the answer that contains the time values to calculate the offset
            between the local and server time.
            </summary>
      <returns>The server's response. Use its <see cref="P:Rebex.Net.NtpResponse.TimeOffset" /> to determine the time offset.</returns>
    </member>
    <member name="M:Rebex.Net.Ntp.SynchronizeSystemClock(System.String,System.Int32)">
      <summary>
            Synchronize the local time with the NTP server.
            </summary>
      <param name="serverName">The time server hostname.</param>
      <param name="serverPort">The time server port.</param>
    </member>
    <member name="M:Rebex.Net.Ntp.SynchronizeSystemClock(System.String)">
      <summary>
            Synchronize the local time with the NTP server.
            </summary>
      <param name="serverName">The time server hostname.</param>
    </member>
    <member name="M:Rebex.Net.Ntp.BeginGetTime(System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous GetTime operation.
            Sends a request for time to the NTP server passed to the constructor
            and waits for the answer that contains the time values to calculate the offset
            between the local and server time.
            </summary>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Net.Ntp.EndGetTime(System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginGetTime operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <returns>The server's response. Use its <see cref="P:Rebex.Net.NtpResponse.TimeOffset" /> to determine the time offset.</returns>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
    </member>
    <member name="T:Rebex.Net.NtpException">
      <summary>
            Represents an NTP/SNTP error.
            </summary>
    </member>
    <member name="T:Rebex.Net.NtpMode">
      <summary>
            NTP modes (non-reserved only) used by <see cref="T:Rebex.Net.NtpPacket" />.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpMode.SymmetricActive">
      <summary>
            Symmetric active NTP server mode. This component
            never operates in this mode - it is included for
            completeness only.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpMode.SymmetricPassive">
      <summary>
            Symmetric passive NTP server mode. This component
            never operates in this mode - it is included for
            completeness only.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpMode.Client">
      <summary>
            NTP/SNTP client mode. NTP packets sent by this
            component have this mode.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpMode.Server">
      <summary>
            NTP/SNTP server mode. NTP packets received by this
            component have this mode.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpMode.Broadcast">
      <summary>
            Broadcast mode. This component never operates in
            this mode - it is included for completeness only.
            </summary>
    </member>
    <member name="T:Rebex.Net.NtpLeapIndicator">
      <summary>
            NTP leap second indicator used by <see cref="T:Rebex.Net.NtpPacket" />.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpLeapIndicator.NoLeap">
      <summary>No leap second in the last minute.</summary>
    </member>
    <member name="F:Rebex.Net.NtpLeapIndicator.OneSecondMore">
      <summary>The last minute has 61 seconds.</summary>
    </member>
    <member name="F:Rebex.Net.NtpLeapIndicator.OneSecondLess">
      <summary>The last minute has 59 seconds.</summary>
    </member>
    <member name="F:Rebex.Net.NtpLeapIndicator.AlarmCondition">
      <summary>Alarm condition (clock not synchronized).</summary>
    </member>
    <member name="T:Rebex.Net.NtpPacket">
      <summary>
            Represents a NTP packet.
            </summary>
      <remarks>
            See RFC 1305 for the packet specification. Note that
            this implementation does not use any optional fields.
            </remarks>
    </member>
    <member name="P:Rebex.Net.NtpPacket.LeapIndicator">
      <summary>
            Returns the leap second indicator.
            </summary>
      <value>Leap indicator.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.VersionNumber">
      <summary>
            NTP/SNTP protocol version number.
            </summary>
      <value>Protocol version number.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.Mode">
      <summary>
            NTP packet mode.
            </summary>
      <value>3 bits. Possible values are described in <see cref="T:Rebex.Net.NtpMode" />.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.Stratum">
      <summary>
            Stratum level (time quality) of the packet originator's clock.
            </summary>
      <value>0 is unspecified or undefined, 1 primary (for Internet
            NTP servers that generally means an atomic clock, within Windows
            local networks it's the best time source in the network), higher
            numbers mean increasing distance from the primary source.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.Poll">
      <summary>
            Poll Interval, in seconds to the nearest power of two.
            </summary>
      <value>Maximum range is 4 to 14, normal range 6 to 10.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.Precision">
      <summary>
            Precision of the packet originator's clock, in seconds to
            the nearest power of two.
            </summary>
      <value>Normal range is -6 to -20.</value>
    </member>
    <member name="M:Rebex.Net.NtpPacket.GetRootDelay">
      <summary>
            Root Delay.
            </summary>
      <value>4 bytes - see RFC 2030 for their interpretation.</value>
    </member>
    <member name="M:Rebex.Net.NtpPacket.GetRootDispersion">
      <summary>
            Root Dispersion.
            </summary>
      <value>4 bytes - see RFC 2030 for their interpretation.</value>
    </member>
    <member name="M:Rebex.Net.NtpPacket.GetReferenceIdentifier">
      <summary>
            Reference Identifier.
            </summary>
      <value>4 bytes - see RFC 2030 for their interpretation.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.ReferenceTimestamp">
      <summary>
            Reference Timestamp: the time at which the local clock was last
            set or corrected.
            </summary>
      <value>Timestamp in <see cref="T:Rebex.Net.NtpTimestamp">NTP format</see>.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.OriginateTimestamp">
      <summary>
            Originate Timestamp: the time at which the request departed the client for the server.
            </summary>
      <value>Timestamp in <see cref="T:Rebex.Net.NtpTimestamp">NTP format</see>.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.ReceiveTimestamp">
      <summary>
            Receive Timestamp: the time at which the request arrived at the server.
            </summary>
      <value>Timestamp in <see cref="T:Rebex.Net.NtpTimestamp">NTP format</see>.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.TransmitTimestamp">
      <summary>
            Transmit Timestamp: the time at which the reply departed the server for the client.
            </summary>
      <value>Timestamp in <see cref="T:Rebex.Net.NtpTimestamp">NTP format</see>.</value>
    </member>
    <member name="P:Rebex.Net.NtpPacket.DestinationTimestamp">
      <summary>
            Destination Timestamp: the time at which the reply arrived at the client.
            </summary>
      <value>Timestamp in <see cref="T:Rebex.Net.NtpTimestamp">NTP format</see>.</value>
    </member>
    <member name="M:Rebex.Net.NtpPacket.ToArray">
      <summary>
            Accessor for the raw packet data.
            </summary>
      <value>The array size is <see cref="F:Rebex.Net.NtpPacket.MinPacketSize" /> bytes.</value>
    </member>
    <member name="T:Rebex.Net.NtpResponse">
      <summary>
            Represents a NTP response.
            </summary>
    </member>
    <member name="P:Rebex.Net.NtpResponse.Packet">
      <summary>
            Gets the NTP packet with additional information. For advanced users only.
            </summary>
      <value>NTP packet.</value>
    </member>
    <member name="P:Rebex.Net.NtpResponse.Stratum">
      <summary>
            Stratum level (time quality) of the packet originator's clock.
            </summary>
      <value>0 is unspecified or undefined, 1 primary (for Internet
            NTP servers that generally means an atomic clock, within Windows
            local networks it is the best time source in the network), higher
            numbers mean increasing distance from the primary source.</value>
    </member>
    <member name="P:Rebex.Net.NtpResponse.TimeOffset">
      <summary>
            Gets the difference between the server time and time on the local machine.
            </summary>
      <returns>The time difference which should be added to system time to get the corrected time.</returns>
    </member>
    <member name="T:Rebex.Net.NtpTimestamp">
      <summary>
            NTP timestamp implementation for <see cref="T:Rebex.Net.Ntp" />.
            This is a value type.
            </summary>
      <remarks>
            See RFC 1305 for the definition of the timestamp format.
            </remarks>
    </member>
    <member name="F:Rebex.Net.NtpTimestamp.MinValue">
      <summary>
            Represents the smallest possible value of NtpTimestamp.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpTimestamp.MaxValue">
      <summary>
            Represents the largest possible value of NtpTimestamp.
            </summary>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.#ctor(System.DateTime)">
      <summary>
            Constructs the timestamp from .NET time.
            </summary>
      <param name="dateTime">The local time. Allowed range is 1968-01-20 3:14:08 to 2104-02-26 9:42:23.</param>
    </member>
    <member name="P:Rebex.Net.NtpTimestamp.Now">
      <summary>
            Gets the current system time.
            </summary>
      <value>Current system time.</value>
      <remarks>
            The precision of <see cref="T:Rebex.Net.NtpTimestamp" /> is higher
            than the precision of <see cref="T:System.DateTime" />. As recommended
            by RFC 1305, the low-order bits of the new timestamp which
            cannot be initialized from DateTime are randomized.
            </remarks>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.#ctor(System.Byte[],System.Int32)">
      <summary>
            Constructs the timestamp from the raw NTP format.
            </summary>
      <param name="data">The buffer containing the 8-byte timestamp.</param>
      <param name="index">The starting position of the timestamp in the buffer.</param>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.CompareTo(System.Object)">
      <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
      <param name="value">An object to compare, or null.</param>
      <returns>A 32-bit signed integer that indicates the relative order of the objects being compared. See <see cref="M:System.IComparable.CompareTo(System.Object)" /> for details.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.Equals(System.Object)">
      <summary>
            Indicates whether the specified object is equal to the current object.
            </summary>
      <param name="obj">An object to compare with this instance.</param>
      <returns>true if <c>obj</c> is a NtpTimestamp that represents the same
            time as this instance; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.GetHashCode">
      <summary>
            Returns a hash code for this instance.
            </summary>
      <returns>The 32 least significant bits of the timestamp.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.ToArray">
      <summary>
            Accessor for the timestamp in NTP format.
            </summary>
      <value>The 8-byte timestamp. Note that the array is not writeable -
            that is, it is possible to write into it, but that won't change
            the value of the NtpTimestamp instance.</value>
    </member>
    <member name="P:Rebex.Net.NtpTimestamp.IsValid">
      <summary>
            Minimal validity check according to RFC 1305.
            </summary>
      <value>True for all timestamps except 0.</value>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_Equality(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestamp)">
      <summary>
            Compare two instances of NtpTimestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <returns>True if equal; false if not equal.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_Inequality(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestamp)">
      <summary>
            Compare two instances of NtpTimestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <returns>Flase if equal; true if not equal.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_LessThan(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestamp)">
      <summary>
            Indicates whether a specified NtpTimestamp is less than
            another specified NtpTimestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <returns>true if the value of <c>a</c> is less than
            the value of <c>b</c>; otherwise false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_GreaterThan(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestamp)">
      <summary>
            Indicates whether a specified NtpTimestamp is greater than
            another specified NtpTimestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <returns>true if the value of <c>a</c> is greater than
            the value of <c>b</c>; otherwise false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_LessThanOrEqual(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestamp)">
      <summary>
            Indicates whether a specified NtpTimestamp is less than
            or equal to another specified NtpTimestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <returns>true if the value of <c>a</c> is less than
            or equal to the value of <c>b</c>; otherwise false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_GreaterThanOrEqual(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestamp)">
      <summary>
            Indicates whether a specified NtpTimestamp is greater than
            or equal to another specified NtpTimestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <returns>true if the value of <c>a</c> is greater than
            or equal to the value of <c>b</c>; otherwise false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_Addition(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Adds a time difference to a timestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <param name="b">A <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>A timestamp plus a time difference.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_Subtraction(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Subtracts a time difference from a timestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestamp" />.</param>
      <param name="b">A <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>A timestamp minus a time difference.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.op_Subtraction(Rebex.Net.NtpTimestamp,Rebex.Net.NtpTimestamp)">
      <summary>
            Subtracts a timestamp from a timestamp, calculating the time difference between the timestamps.
            </summary>
      <param name="a">A timestamp.</param>
      <param name="b">A timestamp.</param>
      <returns>A time difference (positive or negative).</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.Add(Rebex.Net.NtpTimestampDifference)">
      <summary>
            Adds the specified time difference to this instance.
            </summary>
      <param name="value">A time difference.</param>
      <returns>A timestamp plus a time difference.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.Subtract(Rebex.Net.NtpTimestampDifference)">
      <summary>
            Subtracts the specified time difference from this instance.
            </summary>
      <param name="value">A time difference.</param>
      <returns>A timestamp plus a time difference.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.Subtract(Rebex.Net.NtpTimestamp)">
      <summary>
            Subtracts the specified timestamp from this instance, calculating the time difference between the two timestamps.
            </summary>
      <param name="value">A timestamp.</param>
      <returns>A time difference (positive or negative).</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.ToString">
      <summary>
            Converts the value of this instance to string representation
            (analogically to DateTime.ToString).
            </summary>
      <returns>String representation of UTC time.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.ToLocalTime">
      <summary>
            Accessor for the timestamp in .NET time format.
            Converts to local time.
            </summary>
      <value>The local time.</value>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.ToUniversalTime">
      <summary>
            Accessor for the timestamp in .NET time format.
            </summary>
      <value>The timestamp as UTC <see cref="T:System.DateTime">DateTime</see>.
            </value>
    </member>
    <member name="M:Rebex.Net.NtpTimestamp.ToUnixTime">
      <summary>
            Accessor for the timestamp in Unix time format.
            </summary>
      <remarks>Rounds down.</remarks>
      <value>
            The number of the whole seconds of the timestamp, counted from Unix
            Epoch (00:00:00 UTC, January 1, 1970).
            </value>
    </member>
    <member name="P:Rebex.Net.NtpTimestamp.Microsecond">
      <summary>
            The sub-second part of the timestamp, on microsecond scale.
            </summary>
      <remarks>Rounds down.</remarks>
      <value>A number between 0 and 10^6-1.</value>
    </member>
    <member name="T:Rebex.Net.NtpTimestampDifference">
      <summary>
            The difference between two <see cref="T:Rebex.Net.NtpTimestamp" /> values.
            This is a value type.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpTimestampDifference.MinValue">
      <summary>
            Represents the smallest possible value of NtpTimestampDifference.
            </summary>
    </member>
    <member name="F:Rebex.Net.NtpTimestampDifference.MaxValue">
      <summary>
            Represents the largest possible value of NtpTimestampDifference.
            </summary>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.CompareTo(System.Object)">
      <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
      <param name="value">An object to compare, or null.</param>
      <returns>A 32-bit signed integer that indicates the relative order of the objects being compared. See <see cref="M:System.IComparable.CompareTo(System.Object)" /> for details.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.Equals(System.Object)">
      <summary>
            Indicates whether the specified object is equal to the current object.
            </summary>
      <param name="value">An object to compare with this instance.</param>
      <returns>true if <c>value</c> is a NtpTimestampDifference that represents the same
            time difference as this instance; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.GetHashCode">
      <summary>
            Returns a hash code for this instance.
            </summary>
      <returns>The 32 least significant bits of the time difference.</returns>
    </member>
    <member name="P:Rebex.Net.NtpTimestampDifference.Positive">
      <summary>
            Accessor for the sign of the time difference.
            </summary>
      <value>True for positive differences and zero; false for negative
            differences.</value>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.ToTimeSpan">
      <summary>
            Gets the <see cref="T:System.TimeSpan" /> instance that represents the time difference.
            </summary>
      <value>A <see cref="T:System.TimeSpan" /> instance.</value>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.ToString">
      <summary>
            Converts the value of this instance to its string representation.
            </summary>
      <returns>String representation of time difference.</returns>
    </member>
    <member name="P:Rebex.Net.NtpTimestampDifference.TotalSeconds">
      <summary>
            Gets the value of this instance expressed in whole and fractional seconds.
            </summary>
      <remarks>The value of this instance expressed in whole and fractional seconds.</remarks>
    </member>
    <member name="P:Rebex.Net.NtpTimestampDifference.Microsecond">
      <summary>
            The sub-second part of the time difference, on microsecond scale.
            </summary>
      <value>A number between -10^6+1 and 10^6-1.</value>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.Negate">
      <summary>
            Changes the sign of the time difference (positive to negative and vice-versa).
            </summary>
      <returns>A time difference with the same absolute
            value as this instance and an opposite sign.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.op_Equality(Rebex.Net.NtpTimestampDifference,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Compare two instances of NtpTimestampDifference.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>True if equal; false if not equal.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.op_Inequality(Rebex.Net.NtpTimestampDifference,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Compare two instances of NtpTimestampDifference.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>Flase if equal; true if not equal.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.op_LessThan(Rebex.Net.NtpTimestampDifference,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Indicates whether a specified NtpTimestampDifference is less than
            another specified NtpTimestampDifference.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>true if the value of <c>a</c> is less than
            the value of <c>b</c>; otherwise false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.op_GreaterThan(Rebex.Net.NtpTimestampDifference,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Indicates whether a specified NtpTimestampDifference is greater than
            another specified NtpTimestampDifference.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>true if the value of <c>a</c> is greater than
            the value of <c>b</c>; otherwise false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.op_LessThanOrEqual(Rebex.Net.NtpTimestampDifference,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Indicates whether a specified NtpTimestampDifference is less than
            or equal to another specified NtpTimestampDifference.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>true if the value of <c>a</c> is less than
            or equal to the value of <c>b</c>; otherwise false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.op_GreaterThanOrEqual(Rebex.Net.NtpTimestampDifference,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Indicates whether a specified NtpTimestampDifference is greater than
            or equal to another specified NtpTimestampDifference.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>true if the value of <c>a</c> is greater than
            or equal to the value of <c>b</c>; otherwise false.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.op_Addition(Rebex.Net.NtpTimestampDifference,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Adds a time difference to a timestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>A timestamp plus a time difference.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.op_Subtraction(Rebex.Net.NtpTimestampDifference,Rebex.Net.NtpTimestampDifference)">
      <summary>
            Subtracts a time difference from a timestamp.
            </summary>
      <param name="a">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <param name="b">An <see cref="T:Rebex.Net.NtpTimestampDifference" />.</param>
      <returns>A timestamp minus a time difference.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.Add(Rebex.Net.NtpTimestampDifference)">
      <summary>
            Adds the specified time difference to this instance.
            </summary>
      <param name="value">A time difference to add.</param>
      <returns>A time difference plus a time difference.</returns>
    </member>
    <member name="M:Rebex.Net.NtpTimestampDifference.Subtract(Rebex.Net.NtpTimestampDifference)">
      <summary>
            Subtracts the specified time difference from this instance.
            </summary>
      <param name="value">A time difference to subtract.</param>
      <returns>A time difference plus a time difference.</returns>
    </member>
    <member name="T:Rebex.Net.Time">
      <summary>
            Provides methods for communication with TIME servers (RFC 868).
            </summary>
    </member>
    <member name="F:Rebex.Net.Time.DefaultPort">
      <summary>
            Default TIME port number (37).
            </summary>
    </member>
    <member name="M:Rebex.Net.Time.#ctor(System.String)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Net.Time" /> class and binds it to the specified TIME server.
            </summary>
      <param name="serverName">The TIME server hostname.</param>
    </member>
    <member name="M:Rebex.Net.Time.#ctor(System.String,System.Int32)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Net.Time" /> class and binds it to the specified TIME server.
            </summary>
      <param name="serverName">The TIME server hostname.</param>
      <param name="serverPort">The TIME server port.</param>
    </member>
    <member name="P:Rebex.Net.Time.UseTcp">
      <summary>
            Gets or sets a value indicating whether to use the TCP protocol (default is UDP).
            </summary>
      <value>True to use TCP; false to use UDP. Default is false.</value>
    </member>
    <member name="M:Rebex.Net.Time.SynchronizeSystemClock(System.String,System.Int32,System.Boolean)">
      <summary>
            Synchronize the local time with the TIME server.
            </summary>
      <param name="serverName">The time server hostname.</param>
      <param name="serverPort">The time server port.</param>
      <param name="useTcp">True if communicate via TCP; false to communicate via UDP.</param>
    </member>
    <member name="M:Rebex.Net.Time.SynchronizeSystemClock(System.String,System.Int32)">
      <summary>
            Synchronize the local time with the TIME server using TCP protocol.
            </summary>
      <param name="serverName">The time server hostname.</param>
      <param name="serverPort">The time server port.</param>
    </member>
    <member name="M:Rebex.Net.Time.SynchronizeSystemClock(System.String)">
      <summary>
            Synchronize the local time with the TIME server using TCP protocol.
            </summary>
      <param name="serverName">The time server hostname.</param>
    </member>
    <member name="T:Rebex.Net.TimeBase">
      <summary>
            Base class for TIME, DAYTIME and NTP/SNTP clients.
            </summary>
    </member>
    <member name="P:Rebex.Net.TimeBase.Timeout">
      <summary>
            Gets or sets the length of time in milliseconds before the operation times out
            (specify -1 or 0 to indicate that the request does not time out).
            </summary>
      <value>
            The length of time, in milliseconds, until the operation times out,
            or the value -1 or 0 to indicate that the request does not time out.
            Default is 60000 (60 seconds).
            </value>
      <remarks>
        <p>
            The internal timeout counter is reset every time data is sent
            or received from to server. This also means that data transfers only
            time out after x milliseconds of inactivity, not after x milliseconds
            from the start of the transfer.
            </p>
        <p>
            Minimal value is 1000. Setting this to a value lower than 1000 will set it to 1000.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.TimeBase.GetTime">
      <summary>
            Sends a request for time to the TIME server passed to the constructor
            and waits for the answer that contains the time value.
            </summary>
      <returns>The server's response.</returns>
    </member>
    <member name="M:Rebex.Net.TimeBase.SynchronizeSystemClock">
      <summary>
            Synchronize the local time with the server.
            </summary>
    </member>
    <member name="M:Rebex.Net.TimeBase.BeginGetTime(System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous GetTime operation.
            Sends a request for time to the TIME server passed to the constructor
            and waits for the answer that contains the time value.
            </summary>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Net.TimeBase.EndGetTime(System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginGetTime operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <returns>The server's response.</returns>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.TimeBase.BeginSynchronizeSystemClock(System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous SynchronizeSystemClock operation.
            Synchronize the local time with the server.
            </summary>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Net.TimeBase.EndSynchronizeSystemClock(System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginSynchronizeSystemClock operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
    </member>
    <member name="T:Rebex.Net.TimeException">
      <summary>
            Represents a TIME, DAYTIME or NTP/SNTP error.
            </summary>
    </member>
    <member name="T:Rebex.SystemClock">
      <summary>
            Class that contains various static methods for setting the system clock.
            </summary>
    </member>
    <member name="M:Rebex.SystemClock.SetClock(System.DateTime)">
      <summary>
            Sets the local clock to the specified value (in local time).
            </summary>
      <param name="newTime">The new date and time.</param>
    </member>
    <member name="M:Rebex.SystemClock.AdjustClock(Rebex.Net.NtpTimestampDifference)">
      <summary>
            Adjusts the local clock by adding the specified timestamp offset.
            </summary>
      <param name="offset">Offset between the server time and local time.</param>
    </member>
    <member name="M:Rebex.SystemClock.AdjustClock(Rebex.Net.NtpResponse)">
      <summary>
            Adjusts the local clock by adding the timestamp offset of the specified response
            </summary>
      <param name="response">The time server response.</param>
    </member>
  </members>
</doc>