Exemple #1
0
        /// <summary>
        /// Sets date values from a provided ticks value
        /// </summary>
        /// <param name="value">A DateTimeOffset value</param>
        private void SetDateValues(DateTimeOffset value)
        {
            var dateValue = HeaderUtilities.FormatDate(value);
            var dateBytes = new byte[DatePreambleBytes.Length + dateValue.Length];

            DatePreambleBytes.CopyTo(dateBytes);
            Encoding.ASCII.GetBytes(dateValue, dateBytes.AsSpan(DatePreambleBytes.Length));

            var dateValues = new DateHeaderValues(dateBytes, dateValue);

            Volatile.Write(ref _dateValues, dateValues);
        }
Exemple #2
0
        /// <summary>
        /// Sets date values from a provided ticks value
        /// </summary>
        /// <param name="value">A DateTimeOffset value</param>
        private void SetDateValues(DateTimeOffset value)
        {
            var dateValue = HeaderUtilities.FormatDate(value);
            var dateBytes = new byte[_datePreambleBytes.Length + dateValue.Length];

            Buffer.BlockCopy(_datePreambleBytes, 0, dateBytes, 0, _datePreambleBytes.Length);
            Encoding.ASCII.GetBytes(dateValue, 0, dateValue.Length, dateBytes, _datePreambleBytes.Length);

            var dateValues = new DateHeaderValues {
                Bytes  = dateBytes,
                String = dateValue
            };

            Volatile.Write(ref _dateValues, dateValues);
        }
Exemple #3
0
        /// <summary>
        /// Sets date values from a provided ticks value
        /// </summary>
        /// <param name="value">A DateTimeOffset value</param>
        private void SetDateValues(DateTimeOffset value)
        {
            // See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.18 for required format of Date header
            var dateValue = value.ToString(Constants.RFC1123DateFormat);
            var dateBytes = new byte[_datePreambleBytes.Length + dateValue.Length];

            Buffer.BlockCopy(_datePreambleBytes, 0, dateBytes, 0, _datePreambleBytes.Length);
            Encoding.ASCII.GetBytes(dateValue, 0, dateValue.Length, dateBytes, _datePreambleBytes.Length);

            var dateValues = new DateHeaderValues()
            {
                Bytes  = dateBytes,
                String = dateValue
            };

            Volatile.Write(ref _dateValues, dateValues);
        }