Пример #1
0
        public async Task WriteNativeMemorySequenceEmptySequenceAndLargeSegment()
        {
            using NativeMemoryManager totalNativeMemory = new NativeMemoryManager(32);
            using MemoryStream ms = new MemoryStream();

            // Put some data in memory
            PopulatMemoryWithData(totalNativeMemory.Memory);

            // create the individual segments
            BufferSegment           start    = new BufferSegment(totalNativeMemory.Memory.Slice(0, 0)); // have an empty start segment
            BufferSegment           last     = start.Append(totalNativeMemory.Memory.Slice(0, 23));     // have a segment the size of the actual buffer
            ReadOnlySequence <byte> sequence = new ReadOnlySequence <byte>(start, 0, last, 23);

            await AzureBaseBuffersExtensions.WriteAsync(ms, sequence);

            CheckMemoryStreamContent(ms);
        }
Пример #2
0
        public async Task WriteNativeMemory()
        {
            using NativeMemoryManager totalNativeMemory = new NativeMemoryManager(10);
            using MemoryStream ms = new MemoryStream();

            Memory <byte> totalMemory  = totalNativeMemory.Memory;
            Memory <byte> sourceMemory = totalMemory.Slice(3, 5);

            for (byte i = 0; i < sourceMemory.Length; i++)
            {
                sourceMemory.Span[i] = i;
            }

            await AzureBaseBuffersExtensions.WriteAsync(ms, sourceMemory);

            CheckMemoryStreamContent(ms);
        }