3 instantiations of BufferSegment
System.IO.Pipelines (3)
System\IO\Pipelines\Pipe.cs (1)
275
return new
BufferSegment
();
System\IO\Pipelines\StreamPipeReader.cs (1)
548
return new
BufferSegment
();
System\IO\Pipelines\StreamPipeWriter.cs (1)
191
return new
BufferSegment
();
72 references to BufferSegment
System.IO.Pipelines (72)
System\IO\Pipelines\BufferSegment.cs (6)
14
private
BufferSegment
? _next;
40
public
BufferSegment
? NextSegment
107
public void SetNext(
BufferSegment
segment)
125
internal static long GetLength(
BufferSegment
startSegment, int startIndex,
BufferSegment
endSegment, int endIndex)
131
internal static long GetLength(long startPosition,
BufferSegment
endSegment, int endIndex)
System\IO\Pipelines\BufferSegmentStack.cs (7)
25
public bool TryPop([NotNullWhen(true)] out
BufferSegment
? result)
43
public void Push(
BufferSegment
item)
61
private void PushWithResize(
BufferSegment
item)
82
private readonly
BufferSegment
_value;
83
private SegmentAsValueType(
BufferSegment
value) => _value = value;
84
public static implicit operator SegmentAsValueType(
BufferSegment
s) => new SegmentAsValueType(s);
85
public static implicit operator
BufferSegment
(SegmentAsValueType s) => s._value;
System\IO\Pipelines\Pipe.cs (25)
66
private
BufferSegment
? _readHead;
72
private
BufferSegment
? _readTail;
77
private
BufferSegment
? _writingHead;
181
BufferSegment
newSegment = AllocateSegment(sizeHint);
210
BufferSegment
newSegment = AllocateSegment(sizeHint);
220
private
BufferSegment
AllocateSegment(int sizeHint)
222
BufferSegment
newSegment = CreateSegmentUnsynchronized();
229
private void RentMemory(
BufferSegment
segment, int sizeHint)
268
private
BufferSegment
CreateSegmentUnsynchronized()
270
if (_bufferSegmentPool.TryPop(out
BufferSegment
? segment))
278
private void ReturnSegmentUnsynchronized(
BufferSegment
segment)
461
AdvanceReader((
BufferSegment
?)consumed.GetObject(), consumed.GetInteger(), (
BufferSegment
?)examined.GetObject(), examined.GetInteger());
464
private void AdvanceReader(
BufferSegment
? consumedSegment, int consumedIndex,
BufferSegment
? examinedSegment, int examinedIndex)
467
if (consumedSegment != null && examinedSegment != null &&
BufferSegment
.GetLength(consumedSegment, consumedIndex, examinedSegment, examinedIndex) < 0)
472
BufferSegment
? returnStart = null;
473
BufferSegment
? returnEnd = null;
489
long examinedBytes =
BufferSegment
.GetLength(_lastExaminedIndex, examinedSegment, examinedIndex);
522
BufferSegment
? nextBlock = returnEnd!.NextSegment;
577
BufferSegment
? next = returnStart.NextSegment;
885
BufferSegment
? segment = _readHead ?? _readTail;
888
BufferSegment
returnSegment = segment;
968
BufferSegment
? head = _readHead;
1120
BufferSegment
newSegment = AllocateSegment(0);
System\IO\Pipelines\StreamPipeReader.cs (21)
20
private
BufferSegment
? _readHead;
23
private
BufferSegment
? _readTail;
89
AdvanceTo((
BufferSegment
?)consumed.GetObject(), consumed.GetInteger(), (
BufferSegment
?)examined.GetObject(), examined.GetInteger());
92
private void AdvanceTo(
BufferSegment
? consumedSegment, int consumedIndex,
BufferSegment
? examinedSegment, int examinedIndex)
104
BufferSegment
returnStart = _readHead;
105
BufferSegment
? returnEnd = consumedSegment;
107
long consumedBytes =
BufferSegment
.GetLength(returnStart, _readIndex, consumedSegment, consumedIndex);
141
BufferSegment
? nextBlock = returnEnd.NextSegment;
155
BufferSegment
next = returnStart.NextSegment!;
190
BufferSegment
? segment = _readHead;
193
BufferSegment
returnSegment = segment;
330
BufferSegment
? segment = _readHead;
401
BufferSegment
? segment = _readHead;
502
BufferSegment
nextSegment = AllocateSegment(minimumSize);
509
private
BufferSegment
AllocateSegment(int? minimumSize = null)
511
BufferSegment
nextSegment = CreateSegmentUnsynchronized();
541
private
BufferSegment
CreateSegmentUnsynchronized()
543
if (_bufferSegmentPool.TryPop(out
BufferSegment
? segment))
551
private void ReturnSegmentUnsynchronized(
BufferSegment
segment)
System\IO\Pipelines\StreamPipeWriter.cs (13)
19
private
BufferSegment
? _head;
20
private
BufferSegment
? _tail;
124
BufferSegment
newSegment = AllocateSegment(sizeHint);
144
BufferSegment
newSegment = AllocateSegment(sizeHint);
152
private
BufferSegment
AllocateSegment(int sizeHint)
155
BufferSegment
newSegment = CreateSegmentUnsynchronized();
184
private
BufferSegment
CreateSegmentUnsynchronized()
186
if (_bufferSegmentPool.TryPop(out
BufferSegment
? segment))
194
private void ReturnSegmentUnsynchronized(
BufferSegment
segment)
317
BufferSegment
? segment = _head;
320
BufferSegment
returnSegment = segment;
389
BufferSegment
? segment = _head;
392
BufferSegment
returnSegment = segment;