2
2
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3
3
4
4
using System ;
5
- using System . Diagnostics ;
5
+ using System . Buffers ;
6
6
using System . IO . Pipelines ;
7
7
using System . Runtime . CompilerServices ;
8
- using System . Text ;
9
- using System . Threading ;
10
8
using System . Threading . Tasks ;
11
9
12
10
namespace Microsoft . AspNetCore . Server . Kestrel . Internal . Http
@@ -85,28 +83,28 @@ public static Span<byte> ToSpan(this ReadableBuffer buffer)
85
83
return buffer . ToArray ( ) ;
86
84
}
87
85
88
- public static ArraySegment < byte > GetArray ( this Memory < byte > memory )
86
+ public static ArraySegment < byte > GetArray ( this Buffer < byte > buffer )
89
87
{
90
88
ArraySegment < byte > result ;
91
- if ( ! memory . TryGetArray ( out result ) )
89
+ if ( ! buffer . TryGetArray ( out result ) )
92
90
{
93
- throw new InvalidOperationException ( "Memory backed by array was expected" ) ;
91
+ throw new InvalidOperationException ( "Buffer backed by array was expected" ) ;
94
92
}
95
93
return result ;
96
94
}
97
95
98
96
// Temporary until the fast write implementation propagates from corefx
99
97
public unsafe static void WriteFast ( this WritableBuffer buffer , ReadOnlySpan < byte > source )
100
98
{
101
- var dest = buffer . Memory . Span ;
99
+ var dest = buffer . Buffer . Span ;
102
100
var destLength = dest . Length ;
103
101
104
102
if ( destLength == 0 )
105
103
{
106
104
buffer . Ensure ( ) ;
107
105
108
106
// Get the new span and length
109
- dest = buffer . Memory . Span ;
107
+ dest = buffer . Buffer . Span ;
110
108
destLength = dest . Length ;
111
109
}
112
110
@@ -132,7 +130,7 @@ private static unsafe void WriteMultiBuffer(this WritableBuffer buffer, ReadOnly
132
130
{
133
131
while ( remaining > 0 )
134
132
{
135
- var writable = Math . Min ( remaining , buffer . Memory . Length ) ;
133
+ var writable = Math . Min ( remaining , buffer . Buffer . Length ) ;
136
134
137
135
buffer . Ensure ( writable ) ;
138
136
@@ -141,7 +139,7 @@ private static unsafe void WriteMultiBuffer(this WritableBuffer buffer, ReadOnly
141
139
continue ;
142
140
}
143
141
144
- fixed ( byte * pDest = & buffer . Memory . Span . DangerousGetPinnableReference ( ) )
142
+ fixed ( byte * pDest = & buffer . Buffer . Span . DangerousGetPinnableReference ( ) )
145
143
{
146
144
Unsafe . CopyBlockUnaligned ( pDest , pSource + offset , ( uint ) writable ) ;
147
145
}
@@ -158,16 +156,16 @@ public unsafe static void WriteAscii(this WritableBuffer buffer, string data)
158
156
{
159
157
if ( ! string . IsNullOrEmpty ( data ) )
160
158
{
161
- if ( buffer . Memory . IsEmpty )
159
+ if ( buffer . Buffer . IsEmpty )
162
160
{
163
161
buffer . Ensure ( ) ;
164
162
}
165
163
166
164
// Fast path, try copying to the available memory directly
167
- if ( data . Length <= buffer . Memory . Length )
165
+ if ( data . Length <= buffer . Buffer . Length )
168
166
{
169
167
fixed ( char * input = data )
170
- fixed ( byte * output = & buffer . Memory . Span . DangerousGetPinnableReference ( ) )
168
+ fixed ( byte * output = & buffer . Buffer . Span . DangerousGetPinnableReference ( ) )
171
169
{
172
170
EncodeAsciiCharsToBytes ( input , output , data . Length ) ;
173
171
}
@@ -186,15 +184,15 @@ public unsafe static void WriteNumeric(this WritableBuffer buffer, ulong number)
186
184
{
187
185
const byte AsciiDigitStart = ( byte ) '0' ;
188
186
189
- if ( buffer . Memory . IsEmpty )
187
+ if ( buffer . Buffer . IsEmpty )
190
188
{
191
189
buffer . Ensure ( ) ;
192
190
}
193
191
194
192
// Fast path, try copying to the available memory directly
195
- var bytesLeftInBlock = buffer . Memory . Length ;
193
+ var bytesLeftInBlock = buffer . Buffer . Length ;
196
194
var simpleWrite = true ;
197
- fixed ( byte * output = & buffer . Memory . Span . DangerousGetPinnableReference ( ) )
195
+ fixed ( byte * output = & buffer . Buffer . Span . DangerousGetPinnableReference ( ) )
198
196
{
199
197
var start = output ;
200
198
if ( number < 10 && bytesLeftInBlock >= 1 )
@@ -266,7 +264,7 @@ private unsafe static void WriteAsciiMultiWrite(this WritableBuffer buffer, stri
266
264
267
265
while ( remaining > 0 )
268
266
{
269
- var writable = Math . Min ( remaining , buffer . Memory . Length ) ;
267
+ var writable = Math . Min ( remaining , buffer . Buffer . Length ) ;
270
268
271
269
buffer . Ensure ( writable ) ;
272
270
@@ -275,7 +273,7 @@ private unsafe static void WriteAsciiMultiWrite(this WritableBuffer buffer, stri
275
273
continue ;
276
274
}
277
275
278
- fixed ( byte * output = & buffer . Memory . Span . DangerousGetPinnableReference ( ) )
276
+ fixed ( byte * output = & buffer . Buffer . Span . DangerousGetPinnableReference ( ) )
279
277
{
280
278
EncodeAsciiCharsToBytes ( inputSlice , output , writable ) ;
281
279
}
0 commit comments