選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

BufferExtensions.cs 623 B

12345678910111213141516171819202122
  1. using System;
  2. using System.Runtime.InteropServices;
  3. namespace MQTTnet.Benchmarks.Tcp
  4. {
  5. public static class BufferExtensions
  6. {
  7. public static ArraySegment<byte> GetArray(this Memory<byte> memory)
  8. {
  9. return ((ReadOnlyMemory<byte>)memory).GetArray();
  10. }
  11. public static ArraySegment<byte> GetArray(this ReadOnlyMemory<byte> memory)
  12. {
  13. if (!MemoryMarshal.TryGetArray(memory, out var result))
  14. {
  15. throw new InvalidOperationException("Buffer backed by array was expected");
  16. }
  17. return result;
  18. }
  19. }
  20. }