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