private static Int64 ReadFast(ref MessagePackReader reader, ref byte position) { var value = Unsafe.AddByteOffset(ref position, (IntPtr)1); reader.AdvanceWithinSpan(2); return(value); }
private static Double ReadFast(ref MessagePackReader reader, ref byte position) { var value = new Float64Bits(ref position).Value; reader.AdvanceWithinSpan(9); return(value); }
public sbyte ReadFast(ref MessagePackReader reader, ref byte position) { var value = unchecked ((sbyte)Unsafe.AddByteOffset(ref position, (IntPtr)1)); reader.AdvanceWithinSpan(2); return(value); }
private static Int64 ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; var value = (Unsafe.AddByteOffset(ref position, offset) << 8) | Unsafe.AddByteOffset(ref position, offset + 1); reader.AdvanceWithinSpan(3); return(value); }
private static String ReadFast(ref MessagePackReader reader, ref byte position) { var length = (int)Unsafe.AddByteOffset(ref position, (IntPtr)1); var valueSpan = reader.PeekFast(2, length); reader.AdvanceWithinSpan(length + 2); return(EncodingUtils.ToString(valueSpan)); }
private static String ReadFast(ref MessagePackReader reader, byte position) { var length = position & 0x1F; var valueSpan = reader.PeekFast(1, length); reader.AdvanceWithinSpan(length + 1); return(EncodingUtils.ToString(valueSpan)); }
private static Int16 ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; var value = checked ((short)((Unsafe.AddByteOffset(ref position, offset) << 8) + Unsafe.AddByteOffset(ref position, offset + 1))); reader.AdvanceWithinSpan(3); return(value); }
private static ExtensionResult ReadFast(ref MessagePackReader reader, ref byte position) { var typeCode = unchecked ((sbyte)Unsafe.AddByteOffset(ref position, (IntPtr)1)); var valueSpan = reader.PeekFast(2, 1); reader.AdvanceWithinSpan(3); return(new ExtensionResult(typeCode, valueSpan)); }
private static ExtensionResult ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; var length = Unsafe.AddByteOffset(ref position, offset); // pos 1 var typeCode = unchecked ((sbyte)Unsafe.AddByteOffset(ref position, offset + 1)); // pos 2 if (0u >= length) { reader.AdvanceWithinSpan(3); return(new ExtensionResult(typeCode, ReadOnlySpan <byte> .Empty)); } var valueSpan = reader.PeekFast(3, length); reader.AdvanceWithinSpan(length + 3); return(new ExtensionResult(typeCode, valueSpan)); }
private static void ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; var length = unchecked ( (Unsafe.AddByteOffset(ref position, offset) << 8) | Unsafe.AddByteOffset(ref position, offset + 1)); reader.AdvanceWithinSpan(length + 3); }
private static byte[] ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; var length = Unsafe.AddByteOffset(ref position, offset); if (0u >= length) { reader.AdvanceWithinSpan(2); return(MessagePackBinary.Empty); } var newBytes = new byte[length]; MessagePackBinary.CopyMemory(ref Unsafe.AddByteOffset(ref position, offset + 1), ref newBytes[0], length); reader.AdvanceWithinSpan(length + 2); return(newBytes); }
private static String ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; var length = unchecked ((Unsafe.AddByteOffset(ref position, offset) << 8) + Unsafe.AddByteOffset(ref position, offset + 1)); var valueSpan = reader.PeekFast(3, length); reader.AdvanceWithinSpan(length + 3); return(EncodingUtils.ToString(valueSpan)); }
private static uint ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; unchecked { var value = Unsafe.AddByteOffset(ref position, offset) << 8 | Unsafe.AddByteOffset(ref position, offset + 1); reader.AdvanceWithinSpan(3); return((uint)value); } }
private static byte[] ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; var length = unchecked ( Unsafe.AddByteOffset(ref position, offset) << 8 | Unsafe.AddByteOffset(ref position, offset + 1)); var newBytes = new byte[length]; MessagePackBinary.CopyMemory(ref Unsafe.AddByteOffset(ref position, offset + 2), ref newBytes[0], length); reader.AdvanceWithinSpan(length + 3); return(newBytes); }
private static DateTime ReadFast(ref MessagePackReader reader, ref byte position) { IntPtr offset = (IntPtr)1; var typeCode = unchecked ((sbyte)Unsafe.AddByteOffset(ref position, offset)); if (typeCode != ReservedMessagePackExtensionTypeCode.DateTime) { ThrowHelper.ThrowInvalidOperationException_TypeCode(typeCode); } unchecked { var seconds = (UInt32)(Unsafe.AddByteOffset(ref position, offset + 1) << 24) | (UInt32)(Unsafe.AddByteOffset(ref position, offset + 2) << 16) | (UInt32)(Unsafe.AddByteOffset(ref position, offset + 3) << 8) | (UInt32)Unsafe.AddByteOffset(ref position, offset + 4); reader.AdvanceWithinSpan(6); return(DateTimeConstants.UnixEpoch.AddSeconds(seconds)); } }
private static void ReadFast(ref MessagePackReader reader, ref byte position) { var length = Unsafe.AddByteOffset(ref position, (IntPtr)1); reader.AdvanceWithinSpan(length + 2); }