Skip to content

Commit 3fb6ef1

Browse files
committed
Change ByteBufferFactory Create method to use ByteArrayBuffer when possible.
1 parent 8d043a7 commit 3fb6ef1

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/MongoDB.Bson/IO/ByteBufferFactory.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,19 @@ public static IByteBuffer Create(IBsonChunkSource chunkSource, int minimumCapaci
5252

5353
if (chunks.Count == 1)
5454
{
55-
return new SingleChunkBuffer(chunks[0], 0, isReadOnly: false);
55+
var chunk = chunks[0];
56+
57+
ByteArrayChunk byteArrayChunk;
58+
if ((byteArrayChunk = chunk as ByteArrayChunk) != null)
59+
{
60+
var segment = byteArrayChunk.Bytes;
61+
if (segment.Offset == 0)
62+
{
63+
return new ByteArrayBuffer(segment.Array, segment.Count, isReadOnly: false);
64+
}
65+
}
66+
67+
return new SingleChunkBuffer(chunk, 0, isReadOnly: false);
5668
}
5769
else
5870
{

0 commit comments

Comments
 (0)