/// <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); }
/// <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); }
/// <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); }