public override void WriteFramingExtras(OperationBuilder builder) { if (DurabilityLevel == DurabilityLevel.None) { return; } // TODO: omit timeout bytes if no timeout provided Span <byte> bytes = stackalloc byte[2]; var framingExtra = new FramingExtraInfo(RequestFramingExtraType.DurabilityRequirements, (byte)(bytes.Length - 1)); bytes[0] = framingExtra.Byte; bytes[1] = (byte)DurabilityLevel; // TODO: improve timeout, coerce to 1500ms, etc //var timeout = DurabilityTimeout.HasValue ? DurabilityTimeout.Value.TotalMilliseconds : 0; //Converter.FromUInt16((ushort)timeout, bytes, 2); builder.Write(bytes); }
public override byte[] CreateFramingExtras() { if (DurabilityLevel == DurabilityLevel.None) { return(Array.Empty <byte>()); } // TODO: omit timeout bytes if no timeout provided var bytes = new byte[2]; var framingExtra = new FramingExtraInfo(RequestFramingExtraType.DurabilityRequirements, (byte)(bytes.Length - 1)); Converter.FromByte(framingExtra.Byte, bytes, 0); Converter.FromByte((byte)DurabilityLevel, bytes, 1); // TODO: improve timeout, coerce to 1500ms, etc //var timeout = DurabilityTimeout.HasValue ? DurabilityTimeout.Value.TotalMilliseconds : 0; //Converter.FromUInt16((ushort)timeout, bytes, 2); return(bytes); }