Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

Update CoreClr, CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview2-26302-01, preview2-26228-08, beta-26301-00, beta-26301-00, respectively (master) #27640

Merged
merged 6 commits into from
Mar 2, 2018

Commits on Mar 2, 2018

  1. Update CoreClr, CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview2-2…

    …6302-01, preview2-26228-08, beta-26301-00, beta-26301-00, respectively
    dotnet-maestro-bot authored and stephentoub committed Mar 2, 2018
    Configuration menu
    Copy the full SHA
    4d69cb7 View commit details
    Browse the repository at this point in the history
  2. Expose and roll out ValueTask extensibility

    This commit does several things:
    - Exposes the new `ValueTask` extensibility model being added in coreclr.  The ValueTask-related files will separately be mirrored over to corefx to enable the netstandard build of System.Threading.Tasks.Extensions.
    - Adapts all `Stream`-derived types to return `ValueTask` instead of `Task` from `WriteAsync`.
    - Changes the new `WebSocket` `SendAsync` method to return `ValueTask` instead of `Task`, and updates the `ManagedWebSocket` implementation accordingly.  Most `SendAsync`s on `ManagedWebSocket` should now return a `ValueTask` that's either completed synchronously (no allocation) or using a pooled object.  It now uses the underlying transport's new `WriteAsync` overload that returns `ValueTask`.
    - Switches more uses of `ReadAsync` and `WriteAsync` over to the new overloads, including in Process, DeflateStream, BrotliStream, File, HttpClient, SslStream, WebClient, BufferedStream, CryptoStream,
    - Removed some unnecessary array clearing from various routines using ArrayPool (after the clearing was added we changed our minds and decided clearing was only necessary in very specific circumstances)
    - Implements a custom `IValueTaskSource` in Socket, such that async receives and sends become allocation-free (ammortized).  `NetworkStream` then inherits this functionality, such that its new `ReadAsync` and `WriteAsync` are also allocation-free (in the unbounded channel implementations; we can subsequently add it in for bounded).
    - Implements a custom `IValueTaskSource` in System.Threading.Channels, such that reading and writing are ammortized allocation-free up to one concurrent reader and writer.
    - A few random things I noticed as I was going through, e.g. missing ConfigureAwait, some incorrect synchronization in tests, etc.
    - Adds a ton of new tests, mainly in System.Threading.Tasks.Extensions, System.Threading.Channels, and System.Net.Sockets.
    stephentoub committed Mar 2, 2018
    Configuration menu
    Copy the full SHA
    6d99ded View commit details
    Browse the repository at this point in the history
  3. Move MemoryExtensions.TryGetString to MemoryMarshal and remove TryGet…

    …Array (#16692)
    
    * Remove Span.NonGenerics and update leftover AsRoS -> AsSpan changes
    
    * Move MemoryExtensions.TryGetString to MemoryMarshal and remove TryGetArray
    
    * Move TryGetString to common MemoryMarshal.cs
    
    * Remove the `this` keyword, not an extension method
    
    Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
    ahsonkhan authored and stephentoub committed Mar 2, 2018
    Configuration menu
    Copy the full SHA
    9783d02 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9d21fef View commit details
    Browse the repository at this point in the history
  5. Disable uapaot builds on several projects

    This was needed to get through the change of Stream.WriteAsync's return type from Task to ValueTask.
    stephentoub authored and jkotas committed Mar 2, 2018
    Configuration menu
    Copy the full SHA
    18fa454 View commit details
    Browse the repository at this point in the history
  6. Disable UAP tests in CI

    jkotas committed Mar 2, 2018
    Configuration menu
    Copy the full SHA
    078260a View commit details
    Browse the repository at this point in the history