Microsoft.AspNetCore.Server.Kestrel.xml 44.7 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.AspNetCore.Server.Kestrel</name>
    </assembly>
    <members>
        <member name="F:Microsoft.Extensions.Internal.TaskCache.CompletedTask">
            <summary>
            A <see cref="T:System.Threading.Tasks.Task"/> that's already completed successfully.
            </summary>
            <remarks>
            We're caching this in a static readonly field to make it more inlinable and avoid the volatile lookup done
            by <c>Task.CompletedTask</c>.
            </remarks>
        </member>
        <member name="P:Microsoft.Extensions.Internal.TaskCache`1.DefaultCompletedTask">
            <summary>
            Gets a completed <see cref="T:System.Threading.Tasks.Task"/> with the value of <c>default(T)</c>.
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerLimits.MaxResponseBufferSize">
            <summary>
            Gets or sets the maximum size of the response buffer before write
            calls begin to block or return tasks that don't complete until the
            buffer size drops below the configured limit.
            </summary>
            <remarks>
            When set to null, the size of the response buffer is unlimited.
            When set to zero, all write calls will block or return tasks that
            don't complete until the entire response buffer is flushed.
            Defaults to 65,536 bytes (64 KB).
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerLimits.MaxRequestBufferSize">
            <summary>
            Gets or sets the maximum size of the request buffer.
            </summary>
            <remarks>
            When set to null, the size of the request buffer is unlimited.
            Defaults to 1,048,576 bytes (1 MB).
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerLimits.MaxRequestLineSize">
            <summary>
            Gets or sets the maximum allowed size for the HTTP request line.
            </summary>
            <remarks>
            Defaults to 8,192 bytes (8 KB).
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerLimits.MaxRequestHeadersTotalSize">
            <summary>
            Gets or sets the maximum allowed size for the HTTP request headers.
            </summary>
            <remarks>
            Defaults to 32,768 bytes (32 KB).
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerLimits.MaxRequestHeaderCount">
            <summary>
            Gets or sets the maximum allowed number of headers per HTTP request.
            </summary>
            <remarks>
            Defaults to 100.
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerLimits.KeepAliveTimeout">
            <summary>
            Gets or sets the keep-alive timeout.
            </summary>
            <remarks>
            Defaults to 2 minutes.
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerLimits.RequestHeadersTimeout">
            <summary>
            Gets or sets the maximum amount of time the server will spend receiving request headers.
            </summary>
            <remarks>
            Defaults to 30 seconds.
            </remarks>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions">
            <summary>
            Provides programmatic configuration of Kestrel-specific features.
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions.AddServerHeader">
            <summary>
            Gets or sets whether the <c>Server</c> header should be included in each response.
            </summary>
            <remarks>
            Defaults to true.
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions.ApplicationServices">
            <summary>
            Enables the UseKestrel options callback to resolve and use services registered by the application during startup.
            Typically initialized by <see cref="M:Microsoft.AspNetCore.Hosting.WebHostBuilderKestrelExtensions.UseKestrel(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action{Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions})"/>.
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions.ConnectionFilter">
            <summary>
            Gets or sets an <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Filter.IConnectionFilter"/> that allows each connection <see cref="T:System.IO.Stream"/>
            to be intercepted and transformed.
            Configured by the <c>UseHttps()</c> and <see cref="M:Microsoft.AspNetCore.Hosting.KestrelServerOptionsConnectionLoggingExtensions.UseConnectionLogging(Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions)"/>
            extension methods.
            </summary>
            <remarks>
            Defaults to null.
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions.MaxRequestBufferSize">
            <summary>
            <para>
            This property is obsolete and will be removed in a future version.
            Use <c>Limits.MaxRequestBufferSize</c> instead.
            </para>
            <para>
            Gets or sets the maximum size of the request buffer.
            </para>
            </summary>
            <remarks>
            When set to null, the size of the request buffer is unlimited.
            Defaults to 1,048,576 bytes (1 MB).
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions.Limits">
            <summary>
            Provides access to request limit options.
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions.NoDelay">
            <summary>
            Set to false to enable Nagle's algorithm for all connections.
            </summary>
            <remarks>
            Defaults to true.
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions.ShutdownTimeout">
            <summary>
            The amount of time after the server begins shutting down before connections will be forcefully closed.
            Kestrel will wait for the duration of the timeout for any ongoing request processing to complete before
            terminating the connection. No new connections or requests will be accepted during this time.
            </summary>
            <remarks>
            Defaults to 5 seconds.
            </remarks>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions.ThreadCount">
            <summary>
            The number of libuv I/O threads used to process requests.
            </summary>
            <remarks>
            Defaults to half of <see cref="P:System.Environment.ProcessorCount" /> rounded down and clamped between 1 and 16.
            </remarks>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager">
            <summary>
            Manages the generation of the date header value.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager"/> class.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager.GetDateHeaderValues">
            <summary>
            Returns a value representing the current server date/time for use in the HTTP "Date" response header
            in accordance with http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.18
            </summary>
            <returns>The value in string and byte[] format.</returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager.Dispose">
            <summary>
            Releases all resources used by the current instance of <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager"/>.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager.StartTimer">
            <summary>
            Starts the timer
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager.StopTimer">
            <summary>
            Stops the timer
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.DateHeaderValueManager.SetDateValues(System.DateTimeOffset)">
            <summary>
            Sets date values from a provided ticks value
            </summary>
            <param name="value">A DateTimeOffset value</param>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.Start">
            <summary>
            Called once by Connection class to begin the RequestProcessingAsync loop.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.StopAsync">
            <summary>
            Should be called when the server wants to initiate a shutdown. The Task returned will
            become complete when the RequestProcessingAsync function has exited. It is expected that
            Stop will be called on all active connections, and Task.WaitAll() will be called on every
            return value.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.Abort(System.Exception)">
            <summary>
            Immediate kill the connection and poison the request and response streams.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.RequestProcessingAsync">
            <summary>
            Primary loop which consumes socket input, parses it for protocol framing, and invokes the
            application delegate for as long as the socket is intended to remain open.
            The resulting Task from this loop is preserved in a field which is used when the server needs
            to drain and close all currently active connections.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1.RequestProcessingAsync">
            <summary>
            Primary loop which consumes socket input, parses it for protocol framing, and invokes the
            application delegate for as long as the socket is intended to remain open.
            The resulting Task from this loop is preserved in a field which is used when the server needs
            to drain and close all currently active connections.
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ISocketOutput">
            <summary>
              Operations performed for buffered socket output
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ISocketOutput.ProducingStart">
            <summary>
            Returns an iterator pointing to the tail of the response buffer. Response data can be appended
            manually or by using <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator.CopyFrom(System.ArraySegment{System.Byte})"/>.
            Be careful to ensure all appended blocks are backed by a <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolSlab"/>. 
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ISocketOutput.ProducingComplete(Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator)">
            <summary>
            Commits the response data appended to the iterator returned from <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ISocketOutput.ProducingStart"/>.
            All the data up to <paramref name="end"/> will be included in the response.
            A write operation isn't guaranteed to be scheduled unless <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ISocketOutput.Write(System.ArraySegment{System.Byte},System.Boolean)"/>
            or <see cref="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ISocketOutput.WriteAsync(System.ArraySegment{System.Byte},System.Boolean,System.Threading.CancellationToken)"/> is called afterwards.
            </summary>
            <param name="end">Points to the end of the committed data.</param>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener">
            <summary>
            Base class for listeners in Kestrel. Listens for incoming connections
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener.CreateListenSocket">
            <summary>
            Creates the socket used to listen for incoming connections
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener.OnConnection(Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvStreamHandle,System.Int32)">
            <summary>
            Handles an incoming connection
            </summary>
            <param name="listenSocket">Socket being used to listen on</param>
            <param name="status">Connection status</param>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerPrimary">
            <summary>
            A primary listener waits for incoming connections on a specified socket. Incoming
            connections may be passed to a secondary listener to handle.
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerSecondary">
            <summary>
            A secondary listener is delegated requests from a primary listener via a named pipe or
            UNIX domain socket.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerSecondary.CreateAcceptSocket">
            <summary>
            Creates a socket which can be used to accept an incoming connection
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.MessageBody.ForChunkedEncoding">
            <summary>
              http://tools.ietf.org/html/rfc2616#section-3.6.1
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.PipeListener">
            <summary>
            Implementation of <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener"/> that uses UNIX domain sockets as its transport.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.PipeListener.CreateListenSocket">
            <summary>
            Creates the socket used to listen for incoming connections
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.PipeListener.OnConnection(Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvStreamHandle,System.Int32)">
            <summary>
            Handles an incoming connection
            </summary>
            <param name="listenSocket">Socket being used to listen on</param>
            <param name="status">Connection status</param>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.PipeListenerPrimary">
            <summary>
            An implementation of <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerPrimary"/> using UNIX sockets.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.PipeListenerPrimary.CreateListenSocket">
            <summary>
            Creates the socket used to listen for incoming connections
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.PipeListenerPrimary.OnConnection(Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvStreamHandle,System.Int32)">
            <summary>
            Handles an incoming connection
            </summary>
            <param name="listenSocket">Socket being used to listen on</param>
            <param name="status">Connection status</param>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.PipeListenerSecondary">
            <summary>
            An implementation of <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerSecondary"/> using UNIX sockets.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.PipeListenerSecondary.CreateAcceptSocket">
            <summary>
            Creates a socket which can be used to accept an incoming connection
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteContext.DoWriteIfNeeded">
            <summary>
            First step: initiate async write if needed, otherwise go to next step
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteContext.DoShutdownIfNeeded">
            <summary>
            Second step: initiate async shutdown if needed, otherwise go to next step
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteContext.DoDisconnectIfNeeded">
            <summary>
            Third step: disconnect socket if needed, otherwise this work item is complete
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListener">
            <summary>
            Implementation of <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Listener"/> that uses TCP sockets as its transport.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListener.CreateListenSocket">
            <summary>
            Creates the socket used to listen for incoming connections
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListener.OnConnection(Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvStreamHandle,System.Int32)">
            <summary>
            Handle an incoming connection
            </summary>
            <param name="listenSocket">Socket being used to listen on</param>
            <param name="status">Connection status</param>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerPrimary">
            <summary>
            An implementation of <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerPrimary"/> using TCP sockets.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerPrimary.CreateListenSocket">
            <summary>
            Creates the socket used to listen for incoming connections
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerPrimary.OnConnection(Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvStreamHandle,System.Int32)">
            <summary>
            Handles an incoming connection
            </summary>
            <param name="listenSocket">Socket being used to listen on</param>
            <param name="status">Connection status</param>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerSecondary">
            <summary>
            An implementation of <see cref="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.ListenerSecondary"/> using TCP sockets.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.TcpListenerSecondary.CreateAcceptSocket">
            <summary>
            Creates a socket which can be used to accept an incoming connection
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.UrlPathDecoder.Unescape(Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator,Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator)">
            <summary>
            Unescapes the string between given memory iterators in place.
            </summary>
            <param name="start">The iterator points to the beginning of the sequence.</param>
            <param name="end">The iterator points to the byte behind the end of the sequence.</param>
            <returns>The iterator points to the byte behind the end of the processed sequence.</returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.UrlPathDecoder.DecodeCore(Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator@,Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator@,Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator)">
            <summary>
            Unescape the percent-encodings
            </summary>
            <param name="reader">The iterator point to the first % char</param>
            <param name="writer">The place to write to</param>
            <param name="end">The end of the sequence</param>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.UrlPathDecoder.UnescapePercentEncoding(Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator@,Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator)">
            <summary>
            Read the percent-encoding and try unescape it.
            
            The operation first peek at the character the <paramref name="scan"/> 
            iterator points at. If it is % the <paramref name="scan"/> is then 
            moved on to scan the following to characters. If the two following 
            characters are hexadecimal literals they will be unescaped and the 
            value will be returned.
            
            If the first character is not % the <paramref name="scan"/> iterator 
            will be removed beyond the location of % and -1 will be returned.
            
            If the following two characters can't be successfully unescaped the 
            <paramref name="scan"/> iterator will be move behind the % and -1 
            will be returned.
            </summary>
            <param name="scan">The value to read</param>
            <param name="end">The end of the sequence</param>
            <returns>The unescaped byte if success. Otherwise return -1.</returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Http.UrlPathDecoder.ReadHex(Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator@,Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator)">
            <summary>
            Read the next char and convert it into hexadecimal value.
            
            The <paramref name="scan"/> iterator will be moved to the next
            byte no matter no matter whether the operation successes.
            </summary>
            <param name="scan">The value to read</param>
            <param name="end">The end of the sequence</param>
            <returns>The hexadecimal value if successes, otherwise -1.</returns>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.Constants.UnixPipeHostPrefix">
            <summary>
            Prefix of host name used to specify Unix sockets in the configuration.
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.ISystemClock">
            <summary>
            Abstracts the system clock to facilitate testing.
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.ISystemClock.UtcNow">
            <summary>
            Retrieves the current system time in UTC.
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool">
            <summary>
            Used to allocate and distribute re-usable blocks of memory.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool._blockStride">
            <summary>
            The gap between blocks' starting address. 4096 is chosen because most operating systems are 4k pages in size and alignment.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool._blockUnused">
            <summary>
            The last 64 bytes of a block are unused to prevent CPU from pre-fetching the next 64 byte into it's memory cache. 
            See https://github.com/aspnet/KestrelHttpServer/issues/117 and https://www.youtube.com/watch?v=L7zSU9HI-6I
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool._blockCount">
            <summary>
            Allocating 32 contiguous blocks per slab makes the slab size 128k. This is larger than the 85k size which will place the memory
            in the large object heap. This means the GC will not try to relocate this array, so the fact it remains pinned does not negatively
            affect memory management's compactification.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool._blockLength">
            <summary>
            4096 - 64 gives you a blockLength of 4032 usable bytes per block.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool.MaxPooledBlockLength">
            <summary>
            Max allocation block size for pooled blocks, 
            larger values can be leased but they will be disposed after use rather than returned to the pool.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool._slabLength">
            <summary>
            4096 * 32 gives you a slabLength of 128k contiguous bytes allocated per slab
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool._blocks">
            <summary>
            Thread-safe collection of blocks which are currently in the pool. A slab will pre-allocate all of the block tracking objects
            and add them to this collection. When memory is requested it is taken from here first, and when it is returned it is re-added.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool._slabs">
            <summary>
            Thread-safe collection of slabs which have been allocated by this pool. As long as a slab is in this collection and slab.IsActive, 
            the blocks will be added to _blocks when returned.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool._disposedValue">
            <summary>
            This is part of implementing the IDisposable pattern.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool.Lease">
            <summary>
            Called to take a block from the pool.
            </summary>
            <returns>The block that is reserved for the called. It must be passed to Return when it is no longer being used.</returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool.AllocateSlab">
            <summary>
            Internal method called when a block is requested and the pool is empty. It allocates one additional slab, creates all of the 
            block tracking objects, and adds them all to the pool.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPool.Return(Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock)">
            <summary>
            Called to return a block to the pool. Once Return has been called the memory no longer belongs to the caller, and
            Very Bad Things will happen if the memory is read of modified subsequently. If a caller fails to call Return and the
            block tracking object is garbage collected, the block tracking object's finalizer will automatically re-create and return
            a new tracking object into the pool. This will only happen if there is a bug in the server, however it is necessary to avoid
            leaving "dead zones" in the slab due to lost block tracking objects.
            </summary>
            <param name="block">The block to return. It must have been acquired by calling Lease on the same memory pool instance.</param>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock">
            <summary>
            Block tracking object used by the byte buffer memory pool. A slab is a large allocation which is divided into smaller blocks. The
            individual blocks are then treated as independent array segments.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.DataArrayPtr">
            <summary>
            Native address of the first byte of this block's Data memory. It is null for one-time-use memory, or copied from 
            the Slab's ArrayPtr for a slab-block segment. The byte it points to corresponds to Data.Array[0], and in practice you will always
            use the DataArrayPtr + Start or DataArrayPtr + End, which point to the start of "active" bytes, or point to just after the "active" bytes.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.Data">
            <summary>
            The array segment describing the range of memory this block is tracking. The caller which has leased this block may only read and
            modify the memory in this range.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.#ctor(System.IntPtr)">
            <summary>
            This object cannot be instantiated outside of the static Create method
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.Pool">
            <summary>
            Back-reference to the memory pool which this block was allocated from. It may only be returned to this pool.
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.Slab">
            <summary>
            Back-reference to the slab from which this block was taken, or null if it is one-time-use memory.
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.Array">
            <summary>
            Convenience accessor
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.Start">
            <summary>
            The Start represents the offset into Array where the range of "active" bytes begins. At the point when the block is leased
            the Start is guaranteed to be equal to Array.Offset. The value of Start may be assigned anywhere between Data.Offset and
            Data.Offset + Data.Count, and must be equal to or less than End.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.End">
            <summary>
            The End represents the offset into Array where the range of "active" bytes ends. At the point when the block is leased
            the End is guaranteed to be equal to Array.Offset. The value of Start may be assigned anywhere between Data.Offset and
            Data.Offset + Data.Count, and must be equal to or less than End.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.Next">
            <summary>
            Reference to the next block of data when the overall "active" bytes spans multiple blocks. At the point when the block is
            leased Next is guaranteed to be null. Start, End, and Next are used together in order to create a linked-list of discontiguous 
            working memory. The "active" memory is grown when bytes are copied in, End is increased, and Next is assigned. The "active" 
            memory is shrunk when bytes are consumed, Start is increased, and blocks are returned to the pool.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.Reset">
            <summary>
            called when the block is returned to the pool. mutable values are re-assigned to their guaranteed initialized state.
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.ToString">
            <summary>
            ToString overridden for debugger convenience. This displays the "active" byte information in this block as ASCII characters.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolBlock.GetIterator">
            <summary>
            acquires a cursor pointing into this block at the Start of "active" byte information
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator.FindFirstEqualByte(System.Numerics.Vector{System.Byte}@)">
            <summary>
            Find first byte
            </summary>
            <param  name="byteEquals"></param >
            <returns>The first index of the result vector</returns>
            <exception cref="T:System.InvalidOperationException">byteEquals = 0</exception>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator.Put(System.Byte)">
            <summary>
            Save the data at the current location then move to the next available space.
            </summary>
            <param name="data">The byte to be saved.</param>
            <returns>true if the operation successes. false if can't find available space.</returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIteratorExtensions.GetKnownMethod(Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator,System.String@)">
            <summary>
            Checks that up to 8 bytes from <paramref name="begin"/> correspond to a known HTTP method.
            </summary>
            <remarks>
            A "known HTTP method" can be an HTTP method name defined in the HTTP/1.1 RFC.
            Since all of those fit in at most 8 bytes, they can be optimally looked up by reading those bytes as a long. Once
            in that format, it can be checked against the known method.
            The Known Methods (CONNECT, DELETE, GET, HEAD, PATCH, POST, PUT, OPTIONS, TRACE) are all less than 8 bytes
            and will be compared with the required space. A mask is used if the Known method is less than 8 bytes.
            To optimize performance the GET method will be checked first.
            </remarks>
            <param name="begin">The iterator from which to start the known string lookup.</param>
            <param name="knownMethod">A reference to a pre-allocated known string, if the input matches any.</param>
            <returns><c>true</c> if the input matches a known string, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIteratorExtensions.GetKnownVersion(Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolIterator,System.String@)">
            <summary>
            Checks 9 bytes from <paramref name="begin"/>  correspond to a known HTTP version.
            </summary>
            <remarks>
            A "known HTTP version" Is is either HTTP/1.0 or HTTP/1.1.
            Since those fit in 8 bytes, they can be optimally looked up by reading those bytes as a long. Once
            in that format, it can be checked against the known versions.
            The Known versions will be checked with the required '\r'.
            To optimize performance the HTTP/1.1 will be checked first.
            </remarks>
            <param name="begin">The iterator from which to start the known string lookup.</param>
            <param name="knownVersion">A reference to a pre-allocated known string, if the input matches any.</param>
            <returns><c>true</c> if the input matches a known string, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolSlab">
            <summary>
            Slab tracking object used by the byte buffer memory pool. A slab is a large allocation which is divided into smaller blocks. The
            individual blocks are then treated as independent array segments.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolSlab._gcHandle">
            <summary>
            This handle pins the managed array in memory until the slab is disposed. This prevents it from being
            relocated and enables any subsections of the array to be used as native memory pointers to P/Invoked API calls.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolSlab.Array">
            <summary>
            The managed memory allocated in the large object heap.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolSlab.ArrayPtr">
            <summary>
            The native memory pointer of the pinned Array. All block native addresses are pointers into the memory 
            ranging from ArrayPtr to ArrayPtr + Array.Length
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolSlab.IsActive">
            <summary>
            True as long as the blocks from this slab are to be considered returnable to the pool. In order to shrink the 
            memory pool size an entire slab must be removed. That is done by (1) setting IsActive to false and removing the
            slab from the pool's _slabs collection, (2) as each block currently in use is Return()ed to the pool it will
            be allowed to be garbage collected rather than re-pooled, and (3) when all block tracking objects are garbage
            collected and the slab is no longer references the slab will be garbage collected and the memory unpinned will
            be unpinned by the slab's Dispose.
            </summary>
        </member>
        <member name="F:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.MemoryPoolSlab._disposedValue">
            <summary>
            Part of the IDisposable implementation
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.SystemClock">
            <summary>
            Provides access to the normal system clock.
            </summary>
        </member>
        <member name="P:Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.SystemClock.UtcNow">
            <summary>
            Retrieves the current system time in UTC.
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Disposable">
            <summary>
            Summary description for Disposable
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread">
            <summary>
            Summary description for KestrelThread
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelTrace">
            <summary>
            Summary description for KestrelTrace
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvConnectRequest">
            <summary>
            Summary description for UvWriteRequest
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvMemory">
            <summary>
            Summary description for UvMemory
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvShutdownReq">
            <summary>
            Summary description for UvShutdownRequest
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.CreateIPEndpoint(Microsoft.AspNetCore.Server.Kestrel.ServerAddress)">
            <summary>
            Returns an <see cref="T:System.Net.IPEndPoint"/> for the given host an port.
            If the host parameter isn't "localhost" or an IP address, use IPAddress.Any.
            </summary>
        </member>
        <member name="T:Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvWriteReq">
            <summary>
            Summary description for UvWriteRequest
            </summary>
        </member>
        <member name="M:Microsoft.AspNetCore.Hosting.WebHostBuilderKestrelExtensions.UseKestrel(Microsoft.AspNetCore.Hosting.IWebHostBuilder)">
            <summary>
            Specify Kestrel as the server to be used by the web host.
            </summary>
            <param name="hostBuilder">
            The Microsoft.AspNetCore.Hosting.IWebHostBuilder to configure.
            </param>
            <returns>
            The Microsoft.AspNetCore.Hosting.IWebHostBuilder.
            </returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Hosting.WebHostBuilderKestrelExtensions.UseKestrel(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action{Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions})">
            <summary>
            Specify Kestrel as the server to be used by the web host.
            </summary>
            <param name="hostBuilder">
            The Microsoft.AspNetCore.Hosting.IWebHostBuilder to configure.
            </param>
            <param name="options">
            A callback to configure Kestrel options.
            </param>
            <returns>
            The Microsoft.AspNetCore.Hosting.IWebHostBuilder.
            </returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Hosting.KestrelServerOptionsConnectionLoggingExtensions.UseConnectionLogging(Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions)">
            <summary>
            Emits verbose logs for bytes read from and written to the connection.
            </summary>
            <returns>
            The Microsoft.AspNetCore.Server.KestrelServerOptions.
            </returns>
        </member>
        <member name="M:Microsoft.AspNetCore.Hosting.KestrelServerOptionsConnectionLoggingExtensions.UseConnectionLogging(Microsoft.AspNetCore.Server.Kestrel.KestrelServerOptions,System.String)">
            <summary>
            Emits verbose logs for bytes read from and written to the connection.
            </summary>
            <returns>
            The Microsoft.AspNetCore.Server.KestrelServerOptions.
            </returns>
        </member>
    </members>
</doc>