From f717c8e22f0bb7eee4759a67da4baac6ae2e9ade Mon Sep 17 00:00:00 2001 From: JimBobSquarePants Date: Sun, 24 Mar 2013 19:06:36 +0000 Subject: [PATCH] Async optimisation complete. Former-commit-id: a717ad1fae85e712966038efbdb99a383f1361d8 --- APACHE-2.0-LICENSE.txt | 13 + .../ImageProcessor.Tests.csproj | 3 + .../RegularExpressionUnitTests.cs | 114 ++- src/ImageProcessor.Tests/app.config | 15 + src/ImageProcessor.Web/Caching/Cache.cs | 457 ---------- src/ImageProcessor.Web/Caching/CachedImage.cs | 10 +- .../Caching/Copy of DiskCache.cs | 346 ------- src/ImageProcessor.Web/Caching/DiskCache.cs | 367 +++++--- .../Caching/PersistantDictionary.cs | 44 +- src/ImageProcessor.Web/Caching/SQLContext.cs | 142 ++- .../Config/ImageCacheSection.cs | 4 +- .../Config/ImageProcessingSection.cs | 4 +- .../Config/ImageProcessorConfig.cs | 6 +- .../Config/ImageSecuritySection.cs | 16 +- .../Helpers/AsyncIoExtensions.cs | 64 -- .../Helpers/Copy of RemoteFile.cs | 347 ------- .../Helpers/LockedDictionary.cs | 2 +- .../Helpers/ObjectFactory.cs | 52 -- .../Helpers/ProcessorFactory.cs | 20 - src/ImageProcessor.Web/Helpers/RemoteFile.cs | 81 +- src/ImageProcessor.Web/Helpers/TaskEx.cs | 174 ---- src/ImageProcessor.Web/Helpers/TaskHelpers.cs | 52 ++ .../Copy of ImageProcessingModule.cs | 342 ------- .../HttpModules/ImageProcessingModule.cs | 220 ++--- .../ImageFactoryExtensions.cs | 7 +- .../ImageProcessor.Web.csproj | 31 +- .../Properties/AssemblyInfo.cs | 4 +- src/ImageProcessor.Web/app.config | 15 + src/ImageProcessor.Web/packages.config | 3 + .../Helpers/Extensions/EnumExtensions.cs | 2 +- .../Helpers/Extensions/StringExtensions.cs | 2 +- src/ImageProcessor/ImageFactory.cs | 2 +- .../Imaging/Filters/BlackWhiteMatrixFilter.cs | 2 +- .../Imaging/Filters/ColorMatrixes.cs | 2 +- .../Imaging/Filters/ComicMatrixFilter.cs | 2 +- .../Imaging/Filters/GothamMatrixFilter.cs | 2 +- .../Imaging/Filters/GreyScaleMatrixFilter.cs | 2 +- .../Imaging/Filters/HiSatchMatrixFilter.cs | 2 +- .../Imaging/Filters/IMatrixFilter.cs | 2 +- .../Imaging/Filters/InvertMatrixFilter.cs | 2 +- .../Imaging/Filters/LoSatchMatrixFilter.cs | 2 +- .../Imaging/Filters/LomographMatrixFilter.cs | 2 +- .../Imaging/Filters/PolaroidMatrixFilter.cs | 2 +- .../Imaging/Filters/SepiaMatrixFilter.cs | 2 +- src/ImageProcessor/Imaging/ImageUtils.cs | 2 +- src/ImageProcessor/Imaging/OctreeQuantizer.cs | 2 +- src/ImageProcessor/Imaging/Quantizer.cs | 2 +- src/ImageProcessor/Imaging/ResponseType.cs | 2 +- src/ImageProcessor/Imaging/RotateLayer.cs | 2 +- src/ImageProcessor/Imaging/TextLayer.cs | 2 +- src/ImageProcessor/Processors/Alpha.cs | 2 +- src/ImageProcessor/Processors/Crop.cs | 4 +- src/ImageProcessor/Processors/Filter.cs | 2 +- src/ImageProcessor/Processors/Flip.cs | 2 +- src/ImageProcessor/Processors/Format.cs | 2 +- .../Processors/IGraphicsProcessor.cs | 2 +- src/ImageProcessor/Processors/Quality.cs | 2 +- src/ImageProcessor/Processors/Resize.cs | 2 +- src/ImageProcessor/Processors/Rotate.cs | 2 +- src/ImageProcessor/Processors/Vignette.cs | 2 +- src/ImageProcessor/Processors/Watermark.cs | 2 +- src/ImageProcessor/Properties/AssemblyInfo.cs | 4 +- src/Test/Test/Controllers/HomeController.cs | 25 +- src/Test/Test/Images/Thumbs.db.REMOVED.git-id | 2 +- ...ED.git-id => udendørs.jpg.REMOVED.git-id} | 0 src/Test/Test/Test.csproj | 4 +- .../Home/{Speed.cshtml => Collisions.cshtml} | 1 - src/Test/Test/Views/Home/Index.cshtml | 2 + src/Test/Test/Web.config | 64 +- .../License.rtf.REMOVED.git-id | 1 + ...crosoft.Bcl.1.0.16-rc.nupkg.REMOVED.git-id | 1 + .../Microsoft.Bcl.1.0.16-rc.nuspec | 44 + .../Microsoft.Bcl.1.0.16-rc/ReleaseNotes.txt | 24 + .../content/net40/app.config.transform | 15 + .../content/net40/web.config.transform | 15 + .../Microsoft.Bcl.1.0.16-rc/content/net45/_._ | 0 .../app.config.transform | 15 + .../app.config.transform | 15 + .../app.config.transform | 15 + .../app.config.transform | 15 + .../app.config.transform | 15 + .../portable-net40+win8/app.config.transform | 15 + .../content/portable-net45+win8+wp8/_._ | 0 .../sl4-windowsphone71/app.config.transform | 15 + .../Microsoft.Bcl.1.0.16-rc/content/sl4/_._ | 0 .../Microsoft.Bcl.1.0.16-rc/content/sl5/_._ | 0 .../Microsoft.Bcl.1.0.16-rc/content/win8/_._ | 0 .../Microsoft.Bcl.1.0.16-rc/content/wp8/_._ | 0 .../lib/net40/System.Runtime.dll | Bin 0 -> 12880 bytes .../lib/net40/System.Runtime.xml | 56 ++ .../lib/net40/System.Threading.Tasks.dll | Bin 0 -> 25680 bytes .../lib/net40/System.Threading.Tasks.xml | 475 ++++++++++ .../Microsoft.Bcl.1.0.16-rc/lib/net45/_._ | 0 .../System.Runtime.dll | Bin 0 -> 30272 bytes .../System.Runtime.xml | 860 ++++++++++++++++++ .../System.Threading.Tasks.dll.REMOVED.git-id | 1 + .../System.Threading.Tasks.xml.REMOVED.git-id | 1 + .../System.Runtime.dll | Bin 0 -> 12880 bytes .../System.Runtime.xml | 56 ++ .../System.Threading.Tasks.dll.REMOVED.git-id | 1 + .../System.Threading.Tasks.xml.REMOVED.git-id | 1 + .../System.Runtime.dll | Bin 0 -> 12880 bytes .../System.Runtime.xml | 56 ++ .../System.Threading.Tasks.dll.REMOVED.git-id | 1 + .../System.Threading.Tasks.xml.REMOVED.git-id | 1 + .../System.Runtime.dll | Bin 0 -> 12880 bytes .../System.Runtime.xml | 56 ++ .../System.Threading.Tasks.dll | Bin 0 -> 25680 bytes .../System.Threading.Tasks.xml | 475 ++++++++++ .../System.Runtime.dll | Bin 0 -> 12880 bytes .../System.Runtime.xml | 56 ++ .../System.Threading.Tasks.dll | Bin 0 -> 25680 bytes .../System.Threading.Tasks.xml | 475 ++++++++++ .../portable-net40+win8/System.Runtime.dll | Bin 0 -> 12880 bytes .../portable-net40+win8/System.Runtime.xml | 56 ++ .../System.Threading.Tasks.dll | Bin 0 -> 25680 bytes .../System.Threading.Tasks.xml | 475 ++++++++++ .../lib/portable-net45+win8+wp8/_._ | 0 .../lib/sl4-windowsphone71/System.Runtime.dll | Bin 0 -> 30272 bytes .../lib/sl4-windowsphone71/System.Runtime.xml | 860 ++++++++++++++++++ .../System.Threading.Tasks.dll.REMOVED.git-id | 1 + .../System.Threading.Tasks.xml.REMOVED.git-id | 1 + .../lib/sl4/System.Runtime.dll | Bin 0 -> 12880 bytes .../lib/sl4/System.Runtime.xml | 56 ++ .../System.Threading.Tasks.dll.REMOVED.git-id | 1 + .../System.Threading.Tasks.xml.REMOVED.git-id | 1 + .../lib/sl5/System.Runtime.dll | Bin 0 -> 12880 bytes .../lib/sl5/System.Runtime.xml | 56 ++ .../lib/sl5/System.Threading.Tasks.dll | Bin 0 -> 25680 bytes .../lib/sl5/System.Threading.Tasks.xml | 475 ++++++++++ .../Microsoft.Bcl.1.0.16-rc/lib/win8/_._ | 0 .../Microsoft.Bcl.1.0.16-rc/lib/wp8/_._ | 0 .../License.rtf.REMOVED.git-id | 1 + ...t.Bcl.Async.1.0.14-rc.nupkg.REMOVED.git-id | 1 + .../Microsoft.Bcl.Async.1.0.14-rc.nuspec | 39 + .../ReleaseNotes.txt | 18 + ...oft.Threading.Tasks.Extensions.Desktop.dll | Bin 0 -> 38032 bytes ...oft.Threading.Tasks.Extensions.Desktop.xml | 684 ++++++++++++++ .../Microsoft.Threading.Tasks.Extensions.dll | Bin 0 -> 22144 bytes .../Microsoft.Threading.Tasks.Extensions.xml | 275 ++++++ .../lib/net40/Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../lib/net40/Microsoft.Threading.Tasks.xml | 630 +++++++++++++ .../lib/net45/Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../lib/net45/Microsoft.Threading.Tasks.xml | 630 +++++++++++++ .../Microsoft.Threading.Tasks.Extensions.dll | Bin 0 -> 22144 bytes .../Microsoft.Threading.Tasks.Extensions.xml | 275 ++++++ .../Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../Microsoft.Threading.Tasks.xml | 630 +++++++++++++ .../Microsoft.Threading.Tasks.Extensions.dll | Bin 0 -> 22144 bytes .../Microsoft.Threading.Tasks.Extensions.xml | 275 ++++++ .../Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../Microsoft.Threading.Tasks.xml | 630 +++++++++++++ .../Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../Microsoft.Threading.Tasks.xml | 630 +++++++++++++ ...osoft.Threading.Tasks.Extensions.Phone.dll | Bin 0 -> 19592 bytes ...osoft.Threading.Tasks.Extensions.Phone.xml | 141 +++ .../Microsoft.Threading.Tasks.Extensions.dll | Bin 0 -> 22144 bytes .../Microsoft.Threading.Tasks.Extensions.xml | 275 ++++++ .../Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../Microsoft.Threading.Tasks.xml | 630 +++++++++++++ ...Threading.Tasks.Extensions.Silverlight.dll | Bin 0 -> 19608 bytes ...Threading.Tasks.Extensions.Silverlight.xml | 141 +++ .../Microsoft.Threading.Tasks.Extensions.dll | Bin 0 -> 22144 bytes .../Microsoft.Threading.Tasks.Extensions.xml | 275 ++++++ .../lib/sl4/Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../lib/sl4/Microsoft.Threading.Tasks.xml | 630 +++++++++++++ .../lib/win8/Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../lib/win8/Microsoft.Threading.Tasks.xml | 630 +++++++++++++ ...osoft.Threading.Tasks.Extensions.Phone.dll | Bin 0 -> 19592 bytes ...osoft.Threading.Tasks.Extensions.Phone.xml | 141 +++ .../Microsoft.Threading.Tasks.Extensions.dll | Bin 0 -> 22144 bytes .../Microsoft.Threading.Tasks.Extensions.xml | 275 ++++++ .../lib/wp8/Microsoft.Threading.Tasks.dll | Bin 0 -> 28264 bytes .../lib/wp8/Microsoft.Threading.Tasks.xml | 630 +++++++++++++ .../License.rtf.REMOVED.git-id | 1 + .../Microsoft.Bcl.Build.1.0.0-rc.nupkg | Bin 0 -> 21851 bytes .../Microsoft.Bcl.Build.1.0.0-rc.nuspec | 17 + .../content/net40/_._ | 0 .../content/netcore45/_._ | 0 .../content/portable-net40+win8+sl4+wp71/_._ | 0 .../content/sl4-windowsphone71/_._ | 0 .../content/sl4/_._ | 0 .../tools/Install.ps1 | 18 + .../tools/Microsoft.Bcl.Build.targets | 31 + .../tools/Uninstall.ps1 | 13 + 185 files changed, 14105 insertions(+), 2342 deletions(-) create mode 100644 APACHE-2.0-LICENSE.txt create mode 100644 src/ImageProcessor.Tests/app.config delete mode 100644 src/ImageProcessor.Web/Caching/Cache.cs delete mode 100644 src/ImageProcessor.Web/Caching/Copy of DiskCache.cs delete mode 100644 src/ImageProcessor.Web/Helpers/AsyncIoExtensions.cs delete mode 100644 src/ImageProcessor.Web/Helpers/Copy of RemoteFile.cs delete mode 100644 src/ImageProcessor.Web/Helpers/ObjectFactory.cs delete mode 100644 src/ImageProcessor.Web/Helpers/ProcessorFactory.cs delete mode 100644 src/ImageProcessor.Web/Helpers/TaskEx.cs create mode 100644 src/ImageProcessor.Web/Helpers/TaskHelpers.cs delete mode 100644 src/ImageProcessor.Web/HttpModules/Copy of ImageProcessingModule.cs create mode 100644 src/ImageProcessor.Web/app.config rename src/Test/Test/Images/{6287131503_9b1f82e4f0_b.jpg.REMOVED.git-id => udendørs.jpg.REMOVED.git-id} (100%) rename src/Test/Test/Views/Home/{Speed.cshtml => Collisions.cshtml} (86%) create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/License.rtf.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/Microsoft.Bcl.1.0.16-rc.nupkg.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/Microsoft.Bcl.1.0.16-rc.nuspec create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/ReleaseNotes.txt create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/net40/app.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/net40/web.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/net45/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8+wp71/app.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8+wp8/app.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8/app.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl5+win8+wp8/app.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+win8+wp8/app.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+win8/app.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net45+win8+wp8/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/sl4-windowsphone71/app.config.transform create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/sl4/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/sl5/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/win8/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/content/wp8/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/net45/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.dll.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.xml.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.dll.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.xml.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Threading.Tasks.xml.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net45+win8+wp8/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Threading.Tasks.dll.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Threading.Tasks.xml.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Threading.Tasks.dll.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Threading.Tasks.xml.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Runtime.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Runtime.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/win8/_._ create mode 100644 src/packages/Microsoft.Bcl.1.0.16-rc/lib/wp8/_._ create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/License.rtf.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/Microsoft.Bcl.Async.1.0.14-rc.nupkg.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/Microsoft.Bcl.Async.1.0.14-rc.nuspec create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/ReleaseNotes.txt create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net45/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net45/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/win8/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/win8/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.Extensions.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.Extensions.xml create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.dll create mode 100644 src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.xml create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/License.rtf.REMOVED.git-id create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/Microsoft.Bcl.Build.1.0.0-rc.nupkg create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/Microsoft.Bcl.Build.1.0.0-rc.nuspec create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/net40/_._ create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/netcore45/_._ create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/portable-net40+win8+sl4+wp71/_._ create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/sl4-windowsphone71/_._ create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/sl4/_._ create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Install.ps1 create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Microsoft.Bcl.Build.targets create mode 100644 src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Uninstall.ps1 diff --git a/APACHE-2.0-LICENSE.txt b/APACHE-2.0-LICENSE.txt new file mode 100644 index 000000000..a666c6e07 --- /dev/null +++ b/APACHE-2.0-LICENSE.txt @@ -0,0 +1,13 @@ +Copyright 2012 James South + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/src/ImageProcessor.Tests/ImageProcessor.Tests.csproj b/src/ImageProcessor.Tests/ImageProcessor.Tests.csproj index c8d790034..d5a7bd202 100644 --- a/src/ImageProcessor.Tests/ImageProcessor.Tests.csproj +++ b/src/ImageProcessor.Tests/ImageProcessor.Tests.csproj @@ -83,6 +83,9 @@ ImageProcessor + + + diff --git a/src/ImageProcessor.Tests/RegularExpressionUnitTests.cs b/src/ImageProcessor.Tests/RegularExpressionUnitTests.cs index 088053df6..938f3cf15 100644 --- a/src/ImageProcessor.Tests/RegularExpressionUnitTests.cs +++ b/src/ImageProcessor.Tests/RegularExpressionUnitTests.cs @@ -1,67 +1,137 @@ -namespace ImageProcessor.Tests +// ----------------------------------------------------------------------- +// +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. +// +// ----------------------------------------------------------------------- +namespace ImageProcessor.Tests { #region Using - using System; - using System.Diagnostics; using System.Drawing; - using System.IO; - using System.Text.RegularExpressions; using ImageProcessor.Imaging; using ImageProcessor.Processors; using Microsoft.VisualStudio.TestTools.UnitTesting; #endregion + /// + /// The regular expression unit tests. + /// This is a work in progress. YAWN! + /// [TestClass] public class RegularExpressionUnitTests { #region Regular Expression Tests + + /// + /// The alpha regex unit test. + /// [TestMethod] public void TestAlphaRegex() { - const string querystring = "alpha=56"; - const int expected = 56; + const string Querystring = "alpha=56"; + const int Expected = 56; Alpha alpha = new Alpha(); - alpha.MatchRegexIndex(querystring); + alpha.MatchRegexIndex(Querystring); int actual = alpha.DynamicParameter; - Assert.AreEqual(expected, actual); + Assert.AreEqual(Expected, actual); } + /// + /// The rotate regex unit test. + /// + [TestMethod] + public void TestCropRegex() + { + const string Querystring = "crop=0-0-150-300"; + Rectangle expected = new Rectangle(0, 0, 150, 300); + + Crop crop = new Crop(); + crop.MatchRegexIndex(Querystring); + + Rectangle actual = crop.DynamicParameter; + + Assert.AreEqual(expected, actual); + } + + /// + /// The filter regex unit test. + /// + [TestMethod] + public void TestFilterRegex() + { + // Should really write more for the other filters. + const string Querystring = "filter=lomograph"; + const string Expected = "lomograph"; + + Filter filter = new Filter(); + filter.MatchRegexIndex(Querystring); + + string actual = filter.DynamicParameter; + + Assert.AreEqual(Expected, actual); + } + + /// + /// The format regex unit test. + /// [TestMethod] public void TestFormatRegex() { - string querystring = "format=gif"; - string expected = "gif"; + const string Querystring = "format=gif"; + const string Expected = "gif"; Format format = new Format(); - format.MatchRegexIndex(querystring); + format.MatchRegexIndex(Querystring); string actual = format.DynamicParameter; - Assert.AreEqual(expected, actual); + Assert.AreEqual(Expected, actual); } + /// + /// The quality regex unit test. + /// [TestMethod] public void TestQualityRegex() { - string querystring = "quality=56"; - int expected = 56; + const string Querystring = "quality=56"; + const int Expected = 56; Quality quality = new Quality(); - quality.MatchRegexIndex(querystring); + quality.MatchRegexIndex(Querystring); int actual = quality.DynamicParameter; - Assert.AreEqual(expected, actual); + Assert.AreEqual(Expected, actual); + } + + /// + /// The resize regex unit test. + /// + [TestMethod] + public void TestResizeRegex() + { + const string Querystring = "width=300"; + Size expected = new Size(300, 0); + + Resize resize = new Resize(); + + resize.MatchRegexIndex(Querystring); + Size actual = resize.DynamicParameter; + + Assert.AreEqual(expected, actual); } + /// + /// The rotate regex unit test. + /// [TestMethod] public void TestRotateRegex() { - // Why does this fail? - string querystring = "rotate=270"; + const string Querystring = "rotate=270"; RotateLayer expected = new RotateLayer { Angle = 270, @@ -69,11 +139,13 @@ }; Rotate rotate = new Rotate(); - rotate.MatchRegexIndex(querystring); + rotate.MatchRegexIndex(Querystring); RotateLayer actual = rotate.DynamicParameter; - Assert.AreEqual(expected, actual); + // Can't use are equal on rotatelayer for some reason so test the two properties. + Assert.AreEqual(expected.Angle, actual.Angle); + Assert.AreEqual(expected.BackgroundColor, actual.BackgroundColor); } #endregion } diff --git a/src/ImageProcessor.Tests/app.config b/src/ImageProcessor.Tests/app.config new file mode 100644 index 000000000..80d104d02 --- /dev/null +++ b/src/ImageProcessor.Tests/app.config @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ImageProcessor.Web/Caching/Cache.cs b/src/ImageProcessor.Web/Caching/Cache.cs deleted file mode 100644 index 541173412..000000000 --- a/src/ImageProcessor.Web/Caching/Cache.cs +++ /dev/null @@ -1,457 +0,0 @@ -// ----------------------------------------------------------------------- -// -// Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. -// -// ----------------------------------------------------------------------- - -namespace ImageProcessor.Web.Caching -{ - #region Using - using System; - using System.Collections.Concurrent; - using System.Collections.Generic; - using System.Globalization; - using System.IO; - using System.Linq; - using System.Text.RegularExpressions; - using System.Threading.Tasks; - using System.Web; - using System.Web.Hosting; - using ImageProcessor.Helpers.Extensions; - using ImageProcessor.Web.Config; - #endregion - - /// - /// The cache. - /// - internal sealed class Cache - { - #region Fields - /// - /// The maximum number of days to cache files on the system for. - /// - internal static readonly int MaxFileCachedDuration = ImageProcessorConfig.Instance.MaxCacheDays; - - /// - /// The valid sub directory chars. This used in combination with the file limit per folder - /// allows the storage of 360,000 image files in the cache. - /// - private const string ValidSubDirectoryChars = "abcdefghijklmnopqrstuvwxyz0123456789"; - - /// - /// The maximum number of files allowed in the directory. - /// - /// - /// NTFS directories can handle up to 10,000 files in the directory before slowing down. - /// This will help us to ensure that don't go over that limit. - /// - /// - /// - /// - private const int MaxFilesCount = 10000; - - /// - /// The regular expression to search strings for file extensions. - /// - private static readonly Regex FormatRegex = new Regex( - @"(jpeg|png|bmp|gif)", RegexOptions.RightToLeft | RegexOptions.Compiled); - - /// - /// The regular expression to search strings for valid subfolder names. - /// We're specifically not using a shorter regex as we need to be able to iterate through - /// each match group. - /// - private static readonly Regex SubFolderRegex = - new Regex( - @"(\/(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|0|1|2|3|4|5|6|7|8|9)\/)", - RegexOptions.Compiled); - - /// - /// The absolute path to virtual cache path on the server. - /// - private static readonly string AbsoluteCachePath = - HostingEnvironment.MapPath(ImageProcessorConfig.Instance.VirtualCachePath); - - /// - /// The concurrent dictionary. - /// - private static ConcurrentDictionary concurrentDictionary = - new ConcurrentDictionary(); - - /// - /// The request path for the image. - /// - private string requestPath; - - /// - /// The image name - /// - private string imageName; - - /// - /// Whether the request is for a remote image. - /// - private bool isRemote; - #endregion - - #region Constructors - public Cache(string requestPath, string fullPath, string imageName, bool isRemote) - { - this.requestPath = requestPath; - this.imageName = imageName; - this.isRemote = isRemote; - this.CachedPath = this.GetCachePath(fullPath, imageName); - } - #endregion - - #region Properties - /// - /// Gets the cached path. - /// - internal string CachedPath { get; private set; } - #endregion - - #region Methods - #region Internal - /// - /// Converts an absolute file path - /// - /// The absolute path to convert. - /// The from the current context. - /// The virtual path to the file. - internal string GetVirtualPath(string absolutePath, HttpRequest request) - { - string applicationPath = request.PhysicalApplicationPath; - string virtualDir = request.ApplicationPath; - virtualDir = virtualDir == "/" ? virtualDir : (virtualDir + "/"); - - if (applicationPath != null) - { - return absolutePath.Replace(applicationPath, virtualDir).Replace(@"\", "/"); - } - - throw new InvalidOperationException( - "We can only map an absolute back to a relative path if the application path is available."); - } - - /// - /// Creates the cache directories for storing images. - /// - /// - /// The true if the cache directories are created successfully; otherwise, false. - /// - internal static /*async*/ Task CreateDirectoriesAsync() - { - return CreateDirectoriesAsyncTasks().ToTask(); - } - - /// - /// Adds an image to the cache. - /// - /// - /// The cached path. - /// - /// - /// The last write time. - /// - /// - /// The task. - /// - internal Task /*async*/ AddImageToCacheAsync(DateTime lastWriteTimeUtc) - { - return this.AddImageToCacheAsyncTask(lastWriteTimeUtc).ToTask(); - } - - /// - /// Returns a value indicating whether the original file is new or has been updated. - /// - /// - /// True if the the original file is new or has been updated; otherwise, false. - /// - internal /*async*/ Task isNewOrUpdatedFileAsync() - { - return this.isNewOrUpdatedFileAsyncTask().ToTask(); - } - - /// - /// Sets the LastWriteTime of the cached file to match the original file. - /// - /// The set to the last write time of the file. - /// - internal /*async*/ Task SetCachedLastWriteTimeAsync() - { - return this.SetCachedLastWriteTimeAsyncTask().ToTask(); - } - - /// - /// Purges any files from the file-system cache in the given folders. - /// - internal /*async*/ Task TrimCachedFoldersAsync() - { - return this.TrimCachedFoldersAsyncTask().ToTask(); - } - #endregion - - #region Private - /// - /// The create directories async tasks. - /// - /// - /// The . - /// - private static IEnumerable CreateDirectoriesAsyncTasks() - { - bool success = true; - - try - { - Parallel.ForEach( - ValidSubDirectoryChars.ToCharArray(), - (extension, loop) => - { - string path = Path.Combine(AbsoluteCachePath, extension.ToString(CultureInfo.InvariantCulture)); - DirectoryInfo directoryInfo = new DirectoryInfo(path); - - if (!directoryInfo.Exists) - { - directoryInfo.Create(); - } - }); - } - catch - { - success = false; - } - - yield return TaskEx.FromResult(success); - } - - /// - /// Adds an image to the cache. - /// - /// - /// The last write time. - /// - /// - /// The . - /// - private IEnumerable AddImageToCacheAsyncTask(DateTime lastWriteTimeUtc) - { - string key = Path.GetFileNameWithoutExtension(this.CachedPath); - DateTime expires = DateTime.UtcNow.AddDays(MaxFileCachedDuration).ToUniversalTime(); - CachedImage cachedImage = new CachedImage(this.CachedPath, MaxFileCachedDuration, lastWriteTimeUtc, expires); - PersistantDictionary.Instance.Add(key, cachedImage); - - yield break; - } - - /// - /// Returns a value indicating whether the original file is new or has been updated. - /// - /// - /// The . - /// - private IEnumerable isNewOrUpdatedFileAsyncTask() - { - string key = Path.GetFileNameWithoutExtension(this.CachedPath); - CachedImage cachedImage; - bool isUpdated = false; - - if (this.isRemote) - { - if (PersistantDictionary.Instance.TryGetValue(key, out cachedImage)) - { - // Can't check the last write time so check to see if the cached image is set to expire - // or if the max age is different. - if (cachedImage.ExpiresUtc < DateTime.UtcNow.AddDays(-MaxFileCachedDuration) - || cachedImage.MaxAge != MaxFileCachedDuration) - { - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) - { - isUpdated = true; - } - } - } - else - { - // Nothing in the cache so we should return true. - isUpdated = true; - } - } - - // Test now for locally requested files. - if (PersistantDictionary.Instance.TryGetValue(key, out cachedImage)) - { - FileInfo imageFileInfo = new FileInfo(this.requestPath); - - if (imageFileInfo.Exists) - { - // Check to see if the last write time is different of whether the - // cached image is set to expire or if the max age is different. - if (imageFileInfo.LastWriteTimeUtc != cachedImage.LastWriteTimeUtc - || cachedImage.ExpiresUtc < DateTime.UtcNow.AddDays(-MaxFileCachedDuration) - || cachedImage.MaxAge != MaxFileCachedDuration) - { - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) - { - isUpdated = true; - } - } - } - } - else - { - // Nothing in the cache so we should return true. - isUpdated = true; - } - - yield return TaskEx.FromResult(isUpdated); - } - - /// - /// Sets the LastWriteTime of the cached file to match the original file. - /// - /// - /// The original image path. - /// - /// - /// The cached image path. - /// - /// Whether the file is remote. - /// - /// The . - /// - private IEnumerable SetCachedLastWriteTimeAsyncTask() - { - FileInfo cachedFileInfo = new FileInfo(this.CachedPath); - DateTime lastWriteTime = DateTime.MinValue.ToUniversalTime(); - - if (isRemote) - { - if (cachedFileInfo.Exists) - { - lastWriteTime = cachedFileInfo.LastWriteTimeUtc; - } - } - else - { - FileInfo imageFileInfo = new FileInfo(this.requestPath); - - if (imageFileInfo.Exists && cachedFileInfo.Exists) - { - DateTime dateTime = imageFileInfo.LastWriteTimeUtc; - cachedFileInfo.LastWriteTimeUtc = dateTime; - - lastWriteTime = dateTime; - } - } - - yield return TaskEx.FromResult(lastWriteTime); - } - - /// - /// Purges any files from the file-system cache in the given folders. - /// - /// - /// The . - /// - private IEnumerable TrimCachedFoldersAsyncTask() - { - // Group each cache folder and clear any expired items or any that exeed - // the maximum allowable count. - var groups = PersistantDictionary.Instance.ToList() - .GroupBy(x => SubFolderRegex.Match(x.Value.Path).Value) - .Where(g => g.Count() > MaxFilesCount); - - foreach (var group in groups) - { - int groupCount = group.Count(); - - foreach (KeyValuePair pair in group.OrderBy(x => x.Value.ExpiresUtc)) - { - // If the group count is equal to the max count minus 1 then we know we - // are counting down from a full directory not simply clearing out - // expired items. - if (groupCount == MaxFilesCount - 1) - { - break; - } - - try - { - // Remove from the cache and delete each CachedImage. - FileInfo fileInfo = new FileInfo(pair.Value.Path); - string key = Path.GetFileNameWithoutExtension(fileInfo.Name); - CachedImage cachedImage; - - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) - { - fileInfo.Delete(); - groupCount -= 1; - } - } - catch (Exception) - { - // Do Nothing, skip to the next. - // TODO: Should we handle this? - continue; - } - } - } - - yield break; - } - - /// - /// Gets the full transformed cached path for the image. - /// The file names are stored as MD5 encrypted versions of the full request path. - /// This should make them unique enough to - /// - /// The original image path. - /// The original image name. - /// The full cached path for the image. - private string GetCachePath(string fullPath, string imageName) - { - string cachedPath = string.Empty; - - if (AbsoluteCachePath != null) - { - // Use an md5 hash of the full path including the querystring to create the image name. - // That name can also be used as a key for the cached image and we should be able to use - // The first character of that hash as a subfolder. - string parsedExtension = this.ParseExtension(fullPath); - string fallbackExtension = imageName.Substring(imageName.LastIndexOf(".", StringComparison.Ordinal) + 1); - string encryptedName = fullPath.ToMD5Fingerprint(); - string subpath = encryptedName.Substring(0, 1); - - string cachedFileName = string.Format( - "{0}.{1}", - encryptedName, - !string.IsNullOrWhiteSpace(parsedExtension) ? parsedExtension : fallbackExtension); - - cachedPath = Path.Combine(AbsoluteCachePath, subpath, cachedFileName); - } - - return cachedPath; - } - - /// - /// Returns the correct file extension for the given string input - /// - /// - /// The string to parse. - /// - /// - /// The correct file extension for the given string input if it can find one; otherwise an empty string. - /// - private string ParseExtension(string input) - { - Match match = FormatRegex.Match(input); - - return match.Success ? match.Value : string.Empty; - } - #endregion - #endregion - } -} diff --git a/src/ImageProcessor.Web/Caching/CachedImage.cs b/src/ImageProcessor.Web/Caching/CachedImage.cs index 7d01c168a..bc7ef15b7 100644 --- a/src/ImageProcessor.Web/Caching/CachedImage.cs +++ b/src/ImageProcessor.Web/Caching/CachedImage.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -42,21 +42,21 @@ namespace ImageProcessor.Web.Caching /// /// Gets or sets the value of the cached image. /// - public string Path { get; set; } + internal string Path { get; set; } /// /// Gets or sets the maximum age of the cached image in days. /// - public int MaxAge { get; set; } + internal int MaxAge { get; set; } /// /// Gets or sets the last write time of the cached image. /// - public DateTime LastWriteTimeUtc { get; set; } + internal DateTime LastWriteTimeUtc { get; set; } /// /// Gets or sets when the cached image should expire from the cache. /// - public DateTime ExpiresUtc { get; set; } + internal DateTime ExpiresUtc { get; set; } } } diff --git a/src/ImageProcessor.Web/Caching/Copy of DiskCache.cs b/src/ImageProcessor.Web/Caching/Copy of DiskCache.cs deleted file mode 100644 index 84fc204e3..000000000 --- a/src/ImageProcessor.Web/Caching/Copy of DiskCache.cs +++ /dev/null @@ -1,346 +0,0 @@ -// ----------------------------------------------------------------------- -// -// Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. -// -// ----------------------------------------------------------------------- - -namespace ImageProcessor.Web.Caching -{ - #region Using - using System; - using System.Collections.Generic; - using System.Globalization; - using System.IO; - using System.Linq; - using System.Text.RegularExpressions; - using System.Threading.Tasks; - using System.Web; - using System.Web.Hosting; - using ImageProcessor.Helpers.Extensions; - using ImageProcessor.Web.Config; - #endregion - - /// - /// Encapsulates methods to handle disk caching of images. - /// - internal sealed class DiskCache - { - #region Fields - /// - /// The maximum number of days to cache files on the system for. - /// - internal static readonly int MaxFileCachedDuration = ImageProcessorConfig.Instance.MaxCacheDays; - - /// - /// The valid sub directory chars. This used in combination with the file limit per folder - /// allows the storage of 360,000 image files in the cache. - /// - private const string ValidSubDirectoryChars = "abcdefghijklmnopqrstuvwxyz0123456789"; - - /// - /// The maximum number of files allowed in the directory. - /// - /// - /// NTFS directories can handle up to 10,000 files in the directory before slowing down. - /// This will help us to ensure that don't go over that limit. - /// - /// - /// - /// - private const int MaxFilesCount = 10000; - - /// - /// The regular expression to search strings for file extensions. - /// - private static readonly Regex FormatRegex = new Regex( - @"(jpeg|png|bmp|gif)", RegexOptions.RightToLeft | RegexOptions.Compiled); - - /// - /// The regular expression to search strings for valid subfolder names. - /// We're specifically not using a shorter regex as we need to be able to iterate through - /// each match group. - /// - private static readonly Regex SubFolderRegex = new Regex(@"(\/(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|0|1|2|3|4|5|6|7|8|9)\/)", RegexOptions.Compiled); - - /// - /// The absolute path to virtual cache path on the server. - /// - private static readonly string AbsoluteCachePath = - HostingEnvironment.MapPath(ImageProcessorConfig.Instance.VirtualCachePath); - - #endregion - - #region Methods - /// - /// The create cache paths. - /// - /// - /// The true if the cache directories are created successfully; otherwise, false. - /// - internal static bool CreateCacheDirectories() - { - try - { - Parallel.ForEach( - ValidSubDirectoryChars.ToCharArray(), - (extension, loop) => - { - string path = Path.Combine(AbsoluteCachePath, extension.ToString(CultureInfo.InvariantCulture)); - DirectoryInfo directoryInfo = new DirectoryInfo(path); - - if (!directoryInfo.Exists) - { - directoryInfo.Create(); - } - }); - } - catch - { - return false; - } - - return true; - } - - /// - /// Gets the full transformed cached path for the image. - /// The file names are stored as MD5 encrypted versions of the full request path. - /// This should make them unique enough to - /// - /// The original image path. - /// The original image name. - /// The full cached path for the image. - internal static string GetCachePath(string imagePath, string imageName) - { - string cachedPath = string.Empty; - - if (AbsoluteCachePath != null) - { - // Use an md5 hash of the full path including the querystring to create the image name. - // That name can also be used as a key for the cached image and we should be able to use - // The first character of that hash as a subfolder. - string parsedExtension = ParseExtension(imagePath); - string fallbackExtension = imageName.Substring(imageName.LastIndexOf(".", StringComparison.Ordinal) + 1); - string encryptedName = imagePath.ToMD5Fingerprint(); - string subpath = encryptedName.Substring(0, 1); - - string cachedFileName = string.Format( - "{0}.{1}", - encryptedName, - !string.IsNullOrWhiteSpace(parsedExtension) ? parsedExtension : fallbackExtension); - - cachedPath = Path.Combine(AbsoluteCachePath, subpath, cachedFileName); - } - - return cachedPath; - } - - /// - /// Adds an image to the cache. - /// - /// - /// The cached path. - /// - /// - /// The last write time. - /// - internal static void AddImageToCache(string cachedPath, DateTime lastWriteTimeUtc) - { - string key = Path.GetFileNameWithoutExtension(cachedPath); - DateTime expires = DateTime.UtcNow.AddDays(MaxFileCachedDuration).ToUniversalTime(); - CachedImage cachedImage = new CachedImage(cachedPath, MaxFileCachedDuration, lastWriteTimeUtc, expires); - PersistantDictionary.Instance.Add(key, cachedImage); - } - - /// - /// Converts an absolute file path - /// - /// The absolute path to convert. - /// The from the current context. - /// The virtual path to the file. - internal static string GetVirtualPath(string absolutePath, HttpRequest request) - { - string applicationPath = request.PhysicalApplicationPath; - string virtualDir = request.ApplicationPath; - virtualDir = virtualDir == "/" ? virtualDir : (virtualDir + "/"); - - if (applicationPath != null) - { - return absolutePath.Replace(applicationPath, virtualDir).Replace(@"\", "/"); - } - - throw new InvalidOperationException("We can only map an absolute back to a relative path if the application path is available."); - } - - /// - /// Returns a value indicating whether the original file has been updated. - /// - /// The original image path. - /// The cached image path. - /// Whether the file is a remote request. - /// - /// True if the the original file has been updated; otherwise, false. - /// - internal static bool IsUpdatedFile(string imagePath, string cachedImagePath, bool isRemote) - { - string key = Path.GetFileNameWithoutExtension(cachedImagePath); - CachedImage cachedImage; - - if (isRemote) - { - if (PersistantDictionary.Instance.TryGetValue(key, out cachedImage)) - { - // Can't check the last write time so check to see if the cached image is set to expire - // or if the max age is different. - if (cachedImage.ExpiresUtc < DateTime.UtcNow.AddDays(-MaxFileCachedDuration) - || cachedImage.MaxAge != MaxFileCachedDuration) - { - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) - { - // We can jump out here. - return true; - } - } - - return false; - } - - // Nothing in the cache so we should return true. - return true; - } - - // Test now for locally requested files. - if (PersistantDictionary.Instance.TryGetValue(key, out cachedImage)) - { - FileInfo imageFileInfo = new FileInfo(imagePath); - - if (imageFileInfo.Exists) - { - // Check to see if the last write time is different of whether the - // cached image is set to expire or if the max age is different. - if (imageFileInfo.LastWriteTimeUtc != cachedImage.LastWriteTimeUtc - || cachedImage.ExpiresUtc < DateTime.UtcNow.AddDays(-MaxFileCachedDuration) - || cachedImage.MaxAge != MaxFileCachedDuration) - { - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) - { - return true; - } - } - } - } - else - { - // Nothing in the cache so we should return true. - return true; - } - - return false; - } - - /// - /// Sets the LastWriteTime of the cached file to match the original file. - /// - /// - /// The original image path. - /// - /// - /// The cached image path. - /// - /// Whether the file is remote. - /// - /// The set to the last write time of the file. - /// - internal static DateTime SetCachedLastWriteTime(string imagePath, string cachedImagePath, bool isRemote) - { - FileInfo cachedFileInfo = new FileInfo(cachedImagePath); - - if (isRemote) - { - if (cachedFileInfo.Exists) - { - return cachedFileInfo.LastWriteTimeUtc; - } - } - - FileInfo imageFileInfo = new FileInfo(imagePath); - - if (imageFileInfo.Exists && cachedFileInfo.Exists) - { - DateTime dateTime = imageFileInfo.LastWriteTimeUtc; - cachedFileInfo.LastWriteTimeUtc = dateTime; - - return dateTime; - } - - return DateTime.MinValue.ToUniversalTime(); - } - - /// - /// Purges any files from the file-system cache in the given folders. - /// - internal static void TrimCachedFolders() - { - // Group each cache folder and clear any expired items or any that exeed - // the maximum allowable count. - var groups = PersistantDictionary.Instance.ToList() - .GroupBy(x => SubFolderRegex.Match(x.Value.Path).Value) - .Where(g => g.Count() > MaxFilesCount); - - foreach (var group in groups) - { - int groupCount = group.Count(); - - foreach (KeyValuePair pair in group.OrderBy(x => x.Value.ExpiresUtc)) - { - // If the group count is equal to the max count minus 1 then we know we - // are counting down from a full directory not simply clearing out - // expired items. - if (groupCount == MaxFilesCount - 1) - { - break; - } - - try - { - // Remove from the cache and delete each CachedImage. - FileInfo fileInfo = new FileInfo(pair.Value.Path); - string key = Path.GetFileNameWithoutExtension(fileInfo.Name); - CachedImage cachedImage; - - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) - { - fileInfo.Delete(); - groupCount -= 1; - } - } - catch (Exception) - { - // Do Nothing, skip to the next. - // TODO: Should we handle this? - continue; - } - } - } - } - - /// - /// Returns the correct file extension for the given string input - /// - /// - /// The string to parse. - /// - /// - /// The correct file extension for the given string input if it can find one; otherwise an empty string. - /// - private static string ParseExtension(string input) - { - Match match = FormatRegex.Match(input); - - return match.Success ? match.Value : string.Empty; - } - - #endregion - } -} diff --git a/src/ImageProcessor.Web/Caching/DiskCache.cs b/src/ImageProcessor.Web/Caching/DiskCache.cs index 84fc204e3..5ad38d051 100644 --- a/src/ImageProcessor.Web/Caching/DiskCache.cs +++ b/src/ImageProcessor.Web/Caching/DiskCache.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -10,6 +10,7 @@ namespace ImageProcessor.Web.Caching #region Using using System; using System.Collections.Generic; + using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using System.Linq; @@ -19,10 +20,11 @@ namespace ImageProcessor.Web.Caching using System.Web.Hosting; using ImageProcessor.Helpers.Extensions; using ImageProcessor.Web.Config; + using ImageProcessor.Web.Helpers; #endregion /// - /// Encapsulates methods to handle disk caching of images. + /// The disk cache. /// internal sealed class DiskCache { @@ -61,7 +63,10 @@ namespace ImageProcessor.Web.Caching /// We're specifically not using a shorter regex as we need to be able to iterate through /// each match group. /// - private static readonly Regex SubFolderRegex = new Regex(@"(\/(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|0|1|2|3|4|5|6|7|8|9)\/)", RegexOptions.Compiled); + private static readonly Regex SubFolderRegex = + new Regex( + @"(\/([a-z]|[0-9])\/(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|0|1|2|3|4|5|6|7|8|9)\/)", + RegexOptions.Compiled); /// /// The absolute path to virtual cache path on the server. @@ -69,125 +74,176 @@ namespace ImageProcessor.Web.Caching private static readonly string AbsoluteCachePath = HostingEnvironment.MapPath(ImageProcessorConfig.Instance.VirtualCachePath); + /// + /// The request for the image. + /// + private readonly HttpRequest request; + + /// + /// The request path for the image. + /// + private readonly string requestPath; + + /// + /// The full path for the image. + /// + private readonly string fullPath; + + /// + /// The image name + /// + private readonly string imageName; + + /// + /// Whether the request is for a remote image. + /// + private readonly bool isRemote; + #endregion + + #region Constructors + /// + /// Initializes a new instance of the class. + /// + /// + /// The request for the image. + /// + /// + /// The request path for the image. + /// + /// + /// The full path for the image. + /// + /// + /// The image name. + /// + /// + /// Whether the request is for a remote image. + /// + public DiskCache(HttpRequest request, string requestPath, string fullPath, string imageName, bool isRemote) + { + this.request = request; + this.requestPath = requestPath; + this.fullPath = fullPath; + this.imageName = imageName; + this.isRemote = isRemote; + this.CachedPath = this.GetCachePath(); + } + #endregion + + #region Properties + /// + /// Gets the cached path. + /// + internal string CachedPath { get; private set; } #endregion #region Methods + #region Internal /// - /// The create cache paths. + /// Creates the series of directories required to house our cached images. + /// The images are stored in paths that are based upon the MD5 of their full request path + /// taking the first and last characters of the hash to determine their location. + /// ~/cache/a/1/ab04g67p91.jpg + /// This allows us to store 36 folders within 36 folders giving us a total of 12,960,000 images. /// /// - /// The true if the cache directories are created successfully; otherwise, false. + /// True if the directories are successfully created; otherwise, false. /// - internal static bool CreateCacheDirectories() + [SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "Reviewed. Suppression is OK here.")] + internal static bool CreateDirectories() { + bool success = true; + try { + // Split up our characters into an array to loop though. + char[] characters = ValidSubDirectoryChars.ToCharArray(); + + // Loop through and create the first level. Parallel.ForEach( - ValidSubDirectoryChars.ToCharArray(), - (extension, loop) => + characters, + (character, loop) => { - string path = Path.Combine(AbsoluteCachePath, extension.ToString(CultureInfo.InvariantCulture)); - DirectoryInfo directoryInfo = new DirectoryInfo(path); + string firstSubPath = Path.Combine(AbsoluteCachePath, character.ToString(CultureInfo.InvariantCulture)); + DirectoryInfo directoryInfo = new DirectoryInfo(firstSubPath); if (!directoryInfo.Exists) { directoryInfo.Create(); + + // Loop through and create the second level. + Parallel.ForEach( + characters, + (subCharacter, subLoop) => + { + string secondSubPath = Path.Combine(firstSubPath, subCharacter.ToString(CultureInfo.InvariantCulture)); + DirectoryInfo subDirectoryInfo = new DirectoryInfo(secondSubPath); + + if (!subDirectoryInfo.Exists) + { + subDirectoryInfo.Create(); + } + }); } }); } catch { - return false; + success = false; } - return true; + return success; } /// - /// Gets the full transformed cached path for the image. - /// The file names are stored as MD5 encrypted versions of the full request path. - /// This should make them unique enough to + /// Gets the virtual path to the cached processed image. /// - /// The original image path. - /// The original image name. - /// The full cached path for the image. - internal static string GetCachePath(string imagePath, string imageName) + /// The virtual path to the cached processed image. + internal string GetVirtualCachedPath() { - string cachedPath = string.Empty; + string applicationPath = this.request.PhysicalApplicationPath; + string virtualDir = this.request.ApplicationPath; + virtualDir = virtualDir == "/" ? virtualDir : (virtualDir + "/"); - if (AbsoluteCachePath != null) + if (applicationPath != null) { - // Use an md5 hash of the full path including the querystring to create the image name. - // That name can also be used as a key for the cached image and we should be able to use - // The first character of that hash as a subfolder. - string parsedExtension = ParseExtension(imagePath); - string fallbackExtension = imageName.Substring(imageName.LastIndexOf(".", StringComparison.Ordinal) + 1); - string encryptedName = imagePath.ToMD5Fingerprint(); - string subpath = encryptedName.Substring(0, 1); - - string cachedFileName = string.Format( - "{0}.{1}", - encryptedName, - !string.IsNullOrWhiteSpace(parsedExtension) ? parsedExtension : fallbackExtension); - - cachedPath = Path.Combine(AbsoluteCachePath, subpath, cachedFileName); + return this.CachedPath.Replace(applicationPath, virtualDir).Replace(@"\", "/"); } - return cachedPath; + throw new InvalidOperationException( + "We can only map an absolute back to a relative path if the application path is available."); } /// /// Adds an image to the cache. /// - /// - /// The cached path. - /// /// /// The last write time. /// - internal static void AddImageToCache(string cachedPath, DateTime lastWriteTimeUtc) + /// + /// The . + /// + internal async Task AddImageToCacheAsync(DateTime lastWriteTimeUtc) { - string key = Path.GetFileNameWithoutExtension(cachedPath); + string key = Path.GetFileNameWithoutExtension(this.CachedPath); DateTime expires = DateTime.UtcNow.AddDays(MaxFileCachedDuration).ToUniversalTime(); - CachedImage cachedImage = new CachedImage(cachedPath, MaxFileCachedDuration, lastWriteTimeUtc, expires); - PersistantDictionary.Instance.Add(key, cachedImage); + CachedImage cachedImage = new CachedImage(this.CachedPath, MaxFileCachedDuration, lastWriteTimeUtc, expires); + await PersistantDictionary.Instance.AddAsync(key, cachedImage); } /// - /// Converts an absolute file path + /// Returns a value indicating whether the original file is new or has been updated. /// - /// The absolute path to convert. - /// The from the current context. - /// The virtual path to the file. - internal static string GetVirtualPath(string absolutePath, HttpRequest request) - { - string applicationPath = request.PhysicalApplicationPath; - string virtualDir = request.ApplicationPath; - virtualDir = virtualDir == "/" ? virtualDir : (virtualDir + "/"); - - if (applicationPath != null) - { - return absolutePath.Replace(applicationPath, virtualDir).Replace(@"\", "/"); - } - - throw new InvalidOperationException("We can only map an absolute back to a relative path if the application path is available."); - } - - /// - /// Returns a value indicating whether the original file has been updated. - /// - /// The original image path. - /// The cached image path. - /// Whether the file is a remote request. /// - /// True if the the original file has been updated; otherwise, false. + /// True if the the original file is new or has been updated; otherwise, false. /// - internal static bool IsUpdatedFile(string imagePath, string cachedImagePath, bool isRemote) + internal async Task IsNewOrUpdatedFileAsync() { - string key = Path.GetFileNameWithoutExtension(cachedImagePath); + string key = Path.GetFileNameWithoutExtension(this.CachedPath); CachedImage cachedImage; + bool isUpdated = false; - if (isRemote) + if (this.isRemote) { if (PersistantDictionary.Instance.TryGetValue(key, out cachedImage)) { @@ -196,91 +252,114 @@ namespace ImageProcessor.Web.Caching if (cachedImage.ExpiresUtc < DateTime.UtcNow.AddDays(-MaxFileCachedDuration) || cachedImage.MaxAge != MaxFileCachedDuration) { - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) + if (await PersistantDictionary.Instance.TryRemoveAsync(key)) { - // We can jump out here. - return true; + isUpdated = true; } } - - return false; } - - // Nothing in the cache so we should return true. - return true; + else + { + // Nothing in the cache so we should return true. + isUpdated = true; + } } - - // Test now for locally requested files. - if (PersistantDictionary.Instance.TryGetValue(key, out cachedImage)) + else { - FileInfo imageFileInfo = new FileInfo(imagePath); - - if (imageFileInfo.Exists) + // Test now for locally requested files. + if (PersistantDictionary.Instance.TryGetValue(key, out cachedImage)) { - // Check to see if the last write time is different of whether the - // cached image is set to expire or if the max age is different. - if (imageFileInfo.LastWriteTimeUtc != cachedImage.LastWriteTimeUtc - || cachedImage.ExpiresUtc < DateTime.UtcNow.AddDays(-MaxFileCachedDuration) - || cachedImage.MaxAge != MaxFileCachedDuration) + FileInfo imageFileInfo = new FileInfo(this.requestPath); + + if (imageFileInfo.Exists) { - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) + // Check to see if the last write time is different of whether the + // cached image is set to expire or if the max age is different. + if (imageFileInfo.LastWriteTimeUtc != cachedImage.LastWriteTimeUtc + || cachedImage.ExpiresUtc < DateTime.UtcNow.AddDays(-MaxFileCachedDuration) + || cachedImage.MaxAge != MaxFileCachedDuration) { - return true; + if (await PersistantDictionary.Instance.TryRemoveAsync(key)) + { + isUpdated = true; + } } } } - } - else - { - // Nothing in the cache so we should return true. - return true; + else + { + // Nothing in the cache so we should return true. + isUpdated = true; + } } - return false; + return isUpdated; } /// /// Sets the LastWriteTime of the cached file to match the original file. /// - /// - /// The original image path. - /// - /// - /// The cached image path. - /// - /// Whether the file is remote. /// - /// The set to the last write time of the file. + /// The set to the last write time of the file. + /// + internal async Task SetCachedLastWriteTimeAsync() + { + // Create Action delegate for IsNewOrUpdatedFile. + return await TaskHelpers.Run(() => this.SetCachedLastWriteTime()); + } + + /// + /// Purges any files from the file-system cache in the given folders. + /// + /// + /// The . + /// + internal async Task TrimCachedFoldersAsync() + { + // Create Action delegate for TrimCachedFolders. + await TaskHelpers.Run(this.TrimCachedFolders); + } + #endregion + + #region Private + /// + /// Sets the LastWriteTime of the cached file to match the original file. + /// + /// + /// The of the original and cached file. /// - internal static DateTime SetCachedLastWriteTime(string imagePath, string cachedImagePath, bool isRemote) + private DateTime SetCachedLastWriteTime() { - FileInfo cachedFileInfo = new FileInfo(cachedImagePath); + FileInfo cachedFileInfo = new FileInfo(this.CachedPath); + DateTime lastWriteTime = DateTime.MinValue.ToUniversalTime(); - if (isRemote) + if (this.isRemote) { if (cachedFileInfo.Exists) { - return cachedFileInfo.LastWriteTimeUtc; + lastWriteTime = cachedFileInfo.LastWriteTimeUtc; } } - - FileInfo imageFileInfo = new FileInfo(imagePath); - - if (imageFileInfo.Exists && cachedFileInfo.Exists) + else { - DateTime dateTime = imageFileInfo.LastWriteTimeUtc; - cachedFileInfo.LastWriteTimeUtc = dateTime; + FileInfo imageFileInfo = new FileInfo(this.requestPath); - return dateTime; + if (imageFileInfo.Exists && cachedFileInfo.Exists) + { + DateTime dateTime = imageFileInfo.LastWriteTimeUtc; + cachedFileInfo.LastWriteTimeUtc = dateTime; + + lastWriteTime = dateTime; + } } - return DateTime.MinValue.ToUniversalTime(); + return lastWriteTime; } /// /// Purges any files from the file-system cache in the given folders. /// - internal static void TrimCachedFolders() + private async void TrimCachedFolders() { // Group each cache folder and clear any expired items or any that exeed // the maximum allowable count. @@ -307,24 +386,58 @@ namespace ImageProcessor.Web.Caching // Remove from the cache and delete each CachedImage. FileInfo fileInfo = new FileInfo(pair.Value.Path); string key = Path.GetFileNameWithoutExtension(fileInfo.Name); - CachedImage cachedImage; - if (PersistantDictionary.Instance.TryRemove(key, out cachedImage)) + if (await PersistantDictionary.Instance.TryRemoveAsync(key)) { fileInfo.Delete(); groupCount -= 1; } } - catch (Exception) + // ReSharper disable EmptyGeneralCatchClause + catch + // ReSharper restore EmptyGeneralCatchClause { - // Do Nothing, skip to the next. - // TODO: Should we handle this? - continue; + // Do nothing; skip to the next file. } } } } + /// + /// Gets the full transformed cached path for the image. + /// The images are stored in paths that are based upon the MD5 of their full request path + /// taking the first and last characters of the hash to determine their location. + /// ~/cache/a/1/ab04g67p91.jpg + /// This allows us to store 36 folders within 36 folders giving us a total of 12,960,000 images. + /// + /// The full cached path for the image. + [SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "Reviewed. Suppression is OK here.")] + private string GetCachePath() + { + string cachedPath = string.Empty; + + if (AbsoluteCachePath != null) + { + // Use an md5 hash of the full path including the querystring to create the image name. + // That name can also be used as a key for the cached image and we should be able to use + // The first character of that hash as a subfolder. + string parsedExtension = this.ParseExtension(this.fullPath); + string fallbackExtension = this.imageName.Substring(this.imageName.LastIndexOf(".", StringComparison.Ordinal) + 1); + string encryptedName = this.fullPath.ToMD5Fingerprint(); + string firstSubpath = encryptedName.Substring(0, 1); + string secondSubpath = encryptedName.Substring(31, 1); + + string cachedFileName = string.Format( + "{0}.{1}", + encryptedName, + !string.IsNullOrWhiteSpace(parsedExtension) ? parsedExtension : fallbackExtension); + + cachedPath = Path.Combine(AbsoluteCachePath, firstSubpath, secondSubpath, cachedFileName); + } + + return cachedPath; + } + /// /// Returns the correct file extension for the given string input /// @@ -334,13 +447,13 @@ namespace ImageProcessor.Web.Caching /// /// The correct file extension for the given string input if it can find one; otherwise an empty string. /// - private static string ParseExtension(string input) + private string ParseExtension(string input) { Match match = FormatRegex.Match(input); return match.Success ? match.Value : string.Empty; } - + #endregion #endregion } } diff --git a/src/ImageProcessor.Web/Caching/PersistantDictionary.cs b/src/ImageProcessor.Web/Caching/PersistantDictionary.cs index f20efdf82..cd868f03c 100644 --- a/src/ImageProcessor.Web/Caching/PersistantDictionary.cs +++ b/src/ImageProcessor.Web/Caching/PersistantDictionary.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -10,9 +10,8 @@ namespace ImageProcessor.Web.Caching #region Using using System; using System.Collections.Generic; - + using System.Threading.Tasks; using ImageProcessor.Web.Helpers; - #endregion /// @@ -63,32 +62,24 @@ namespace ImageProcessor.Web.Caching /// /// The key of the item to remove. /// - /// - /// The value to assign the returned value to. - /// /// /// true if the removes an element with /// the specified key; otherwise, false. /// - public bool TryRemove(string key, out CachedImage value) + public async Task TryRemoveAsync(string key) { // No CachedImage to remove. if (!this.ContainsKey(key)) { - value = default(CachedImage); return false; } // Remove the CachedImage. - lock (SyncRoot) - { - value = this[key]; - this.Remove(key); - - this.SaveCache(key, value, true); + CachedImage value = this[key]; + this.Remove(key); - return true; - } + await this.SaveCacheAsync(key, value, true); + return true; } /// @@ -103,18 +94,15 @@ namespace ImageProcessor.Web.Caching /// /// The value of the item to add or get. /// - public new CachedImage Add(string key, CachedImage cachedImage) + public async Task AddAsync(string key, CachedImage cachedImage) { - lock (SyncRoot) + // Add the CachedImage. + if (await this.SaveCacheAsync(key, cachedImage, false)) { - // Add the CachedImage. - if (this.SaveCache(key, cachedImage, false)) - { - this[key] = cachedImage; - } - - return cachedImage; + this.Add(key, cachedImage); } + + return cachedImage; } #endregion @@ -133,16 +121,16 @@ namespace ImageProcessor.Web.Caching /// /// true, if the dictionary is saved to the file-system; otherwise, false. /// - private bool SaveCache(string key, CachedImage cachedImage, bool remove) + private async Task SaveCacheAsync(string key, CachedImage cachedImage, bool remove) { try { if (remove) { - return SQLContext.RemoveImage(key); + return await SQLContext.RemoveImageAsync(key); } - return SQLContext.AddImage(key, cachedImage); + return await SQLContext.AddImageAsync(key, cachedImage); } catch { diff --git a/src/ImageProcessor.Web/Caching/SQLContext.cs b/src/ImageProcessor.Web/Caching/SQLContext.cs index 05cd31aa1..70d62c1cd 100644 --- a/src/ImageProcessor.Web/Caching/SQLContext.cs +++ b/src/ImageProcessor.Web/Caching/SQLContext.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -12,8 +12,11 @@ namespace ImageProcessor.Web.Caching using System.Collections.Generic; using System.Data.SQLite; using System.IO; + using System.Threading.Tasks; using System.Web.Hosting; using ImageProcessor.Web.Config; + using ImageProcessor.Web.Helpers; + #endregion /// @@ -21,6 +24,7 @@ namespace ImageProcessor.Web.Caching /// internal sealed class SQLContext { + #region Fields /// /// The default path for cached folders on the server. /// @@ -34,12 +38,15 @@ namespace ImageProcessor.Web.Caching /// /// The connection string. /// - private static readonly string ConnectionString = string.Format("Data Source={0};Version=3;", IndexLocation); + private static readonly string ConnectionString = string.Format("Data Source={0};Version=3;", IndexLocation); + #endregion + #region Methods + #region Internal /// /// Creates the database if it doesn't already exist. /// - public static void CreateDatabase() + internal static void CreateDatabase() { if (!File.Exists(IndexLocation)) { @@ -84,6 +91,85 @@ namespace ImageProcessor.Web.Caching } } + /// + /// Gets all the images from the database. + /// + /// + /// The . + /// + internal static Dictionary GetImages() + { + Dictionary dictionary = new Dictionary(); + + try + { + using (SQLiteConnection connection = new SQLiteConnection(ConnectionString)) + { + connection.Open(); + + using (SQLiteCommand command = new SQLiteCommand(connection)) + { + command.CommandText = "SELECT * FROM names;"; + + SQLiteDataReader reader = command.ExecuteReader(); + + while (reader.Read()) + { + string key = reader["Key"].ToString(); + CachedImage image = new CachedImage( + reader["Path"].ToString(), + int.Parse(reader["MaxAge"].ToString()), + DateTime.Parse(reader["LastWriteTimeUtc"].ToString()).ToUniversalTime(), + DateTime.Parse(reader["ExpiresUtc"].ToString()).ToUniversalTime()); + + dictionary.Add(key, image); + } + } + } + + return dictionary; + } + catch + { + return new Dictionary(); + } + } + + /// + /// Adds a cached image to the database. + /// + /// + /// The key for the cached image. + /// + /// + /// The cached image to add. + /// + /// + /// The true if the addition of the cached image is added; otherwise, false. + /// + internal static async Task AddImageAsync(string key, CachedImage image) + { + // Create Action delegate for AddImage. + return await TaskHelpers.Run(() => AddImage(key, image)); + } + + /// + /// Removes a cached image from the database. + /// + /// + /// The key for the cached image. + /// + /// + /// The true if the addition of the cached image is removed; otherwise, false. + /// + internal static async Task RemoveImageAsync(string key) + { + // Create Action delegate for RemoveImage. + return await TaskHelpers.Run(() => RemoveImage(key)); + } + #endregion + + #region Private /// /// Adds a cached image to the database. /// @@ -96,7 +182,7 @@ namespace ImageProcessor.Web.Caching /// /// The true if the addition of the cached image is added; otherwise, false. /// - public static bool AddImage(string key, CachedImage image) + private static bool AddImage(string key, CachedImage image) { try { @@ -144,7 +230,7 @@ namespace ImageProcessor.Web.Caching /// /// The true if the addition of the cached image is removed; otherwise, false. /// - public static bool RemoveImage(string key) + private static bool RemoveImage(string key) { try { @@ -172,49 +258,7 @@ namespace ImageProcessor.Web.Caching return false; } } - - /// - /// Gets all the images from the database. - /// - /// - /// The . - /// - public static Dictionary GetImages() - { - Dictionary dictionary = new Dictionary(); - - try - { - using (SQLiteConnection connection = new SQLiteConnection(ConnectionString)) - { - connection.Open(); - - using (SQLiteCommand command = new SQLiteCommand(connection)) - { - command.CommandText = "SELECT * FROM names;"; - - SQLiteDataReader reader = command.ExecuteReader(); - - while (reader.Read()) - { - string key = reader["Key"].ToString(); - CachedImage image = new CachedImage( - reader["Path"].ToString(), - int.Parse(reader["MaxAge"].ToString()), - DateTime.Parse(reader["LastWriteTimeUtc"].ToString()).ToUniversalTime(), - DateTime.Parse(reader["ExpiresUtc"].ToString()).ToUniversalTime()); - - dictionary.Add(key, image); - } - } - } - - return dictionary; - } - catch - { - return new Dictionary(); - } - } + #endregion + #endregion } } diff --git a/src/ImageProcessor.Web/Config/ImageCacheSection.cs b/src/ImageProcessor.Web/Config/ImageCacheSection.cs index 012178f06..6a28d3229 100644 --- a/src/ImageProcessor.Web/Config/ImageCacheSection.cs +++ b/src/ImageProcessor.Web/Config/ImageCacheSection.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -15,7 +15,7 @@ namespace ImageProcessor.Web.Config /// /// Represents an image cache section within a configuration file. /// - public class ImageCacheSection : ConfigurationSection + public sealed class ImageCacheSection : ConfigurationSection { /// /// Gets or sets the virtual path of the cache folder. diff --git a/src/ImageProcessor.Web/Config/ImageProcessingSection.cs b/src/ImageProcessor.Web/Config/ImageProcessingSection.cs index 524cb7b49..ec20a7d14 100644 --- a/src/ImageProcessor.Web/Config/ImageProcessingSection.cs +++ b/src/ImageProcessor.Web/Config/ImageProcessingSection.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace ImageProcessor.Web.Config /// Represents an image processing section within a configuration file. /// Nested syntax adapted from /// - public class ImageProcessingSection : ConfigurationSection + public sealed class ImageProcessingSection : ConfigurationSection { #region Properties /// diff --git a/src/ImageProcessor.Web/Config/ImageProcessorConfig.cs b/src/ImageProcessor.Web/Config/ImageProcessorConfig.cs index 94320e7a3..2ae42b659 100644 --- a/src/ImageProcessor.Web/Config/ImageProcessorConfig.cs +++ b/src/ImageProcessor.Web/Config/ImageProcessorConfig.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -18,7 +18,7 @@ namespace ImageProcessor.Web.Config /// Encapsulates methods to allow the retrieval of ImageProcessor settings. /// /// - public class ImageProcessorConfig + public sealed class ImageProcessorConfig { #region Fields /// @@ -111,7 +111,7 @@ namespace ImageProcessor.Web.Config { get { - return GetImageSecuritySection().WhiteList.Cast().Select(x => x.Url).ToArray(); + return GetImageSecuritySection().WhiteList.Cast().Select(x => x.Url).ToArray(); } } diff --git a/src/ImageProcessor.Web/Config/ImageSecuritySection.cs b/src/ImageProcessor.Web/Config/ImageSecuritySection.cs index aefb90779..ac20ff498 100644 --- a/src/ImageProcessor.Web/Config/ImageSecuritySection.cs +++ b/src/ImageProcessor.Web/Config/ImageSecuritySection.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -13,9 +13,9 @@ namespace ImageProcessor.Web.Config #endregion /// - /// Represents an imagecache section within a configuration file. + /// Represents an image security section within a configuration file. /// - public class ImageSecuritySection : ConfigurationSection + public sealed class ImageSecuritySection : ConfigurationSection { #region Properties /// @@ -122,11 +122,11 @@ namespace ImageProcessor.Web.Config /// /// The index of the whitelist item to get. /// The whitelist item at the given index. - public SafeURL this[int index] + public SafeUrl this[int index] { get { - return this.BaseGet(index) as SafeURL; + return this.BaseGet(index) as SafeUrl; } set @@ -148,7 +148,7 @@ namespace ImageProcessor.Web.Config /// protected override ConfigurationElement CreateNewElement() { - return new SafeURL(); + return new SafeUrl(); } /// @@ -158,14 +158,14 @@ namespace ImageProcessor.Web.Config /// The element key for a specified whitelist configuration element. protected override object GetElementKey(ConfigurationElement element) { - return ((SafeURL)element).Url; + return ((SafeUrl)element).Url; } } /// /// Represents a whitelist configuration element within the configuration. /// - public class SafeURL : ConfigurationElement + public class SafeUrl : ConfigurationElement { /// /// Gets or sets the url of the whitelisted file. diff --git a/src/ImageProcessor.Web/Helpers/AsyncIoExtensions.cs b/src/ImageProcessor.Web/Helpers/AsyncIoExtensions.cs deleted file mode 100644 index 977416786..000000000 --- a/src/ImageProcessor.Web/Helpers/AsyncIoExtensions.cs +++ /dev/null @@ -1,64 +0,0 @@ -// License: CPOL at http://www.codeproject.com/info/cpol10.aspx -using System.Collections.Generic; -using System.Net; -using System.Threading; -using System.Threading.Tasks; - -namespace System.IO -{ - public static class AsyncIoExtensions - { - public static Task GetRequestStreamAsync(this WebRequest webRequest) - { - return Task.Factory.FromAsync( - webRequest.BeginGetRequestStream, - ar => webRequest.EndGetRequestStream(ar), - null); - } - - public static Task GetResponseAsync(this WebRequest webRequest) - { - return Task.Factory.FromAsync( - webRequest.BeginGetResponse, - ar => webRequest.EndGetResponse(ar), - null); - } - - public static Task ReadAsync(this Stream input, Byte[] buffer, int offset, int count) - { - return Task.Factory.FromAsync( - input.BeginRead, - (Func)input.EndRead, - buffer, offset, count, - null); - } - - public static Task WriteAsync(this Stream input, Byte[] buffer, int offset, int count) - { - return Task.Factory.FromAsync( - input.BeginWrite, - input.EndWrite, - buffer, offset, count, - null); - } - - public static /*async*/ Task CopyToAsync(this Stream input, Stream output, CancellationToken cancellationToken = default(CancellationToken)) - { - return CopyToAsyncTasks(input, output, cancellationToken).ToTask(); - } - private static IEnumerable CopyToAsyncTasks(Stream input, Stream output, CancellationToken cancellationToken) - { - byte[] buffer = new byte[0x1000]; // 4 KiB - while (true) - { - cancellationToken.ThrowIfCancellationRequested(); - var readTask = input.ReadAsync(buffer, 0, buffer.Length); - yield return readTask; - if (readTask.Result == 0) break; - - cancellationToken.ThrowIfCancellationRequested(); - yield return output.WriteAsync(buffer, 0, readTask.Result); - } - } - } -} diff --git a/src/ImageProcessor.Web/Helpers/Copy of RemoteFile.cs b/src/ImageProcessor.Web/Helpers/Copy of RemoteFile.cs deleted file mode 100644 index aa17b0f4e..000000000 --- a/src/ImageProcessor.Web/Helpers/Copy of RemoteFile.cs +++ /dev/null @@ -1,347 +0,0 @@ -// ----------------------------------------------------------------------- -// -// Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. -// -// ----------------------------------------------------------------------- - -namespace ImageProcessor.Web.Helpers -{ - #region Using - using System; - using System.Diagnostics.Contracts; - using System.Globalization; - using System.IO; - using System.Linq; - using System.Net; - using System.Security; - using System.Text; - using ImageProcessor.Web.Config; - #endregion - - /// - /// Encapsulates methods used to download files from a website address. - /// - /// - /// - /// The purpose of this class is so there's one core way of downloading remote files with url[s] that are from - /// outside users. There's various areas in application where an attacker could supply an external url to the server - /// and tie up resources. - /// - /// For example, the ImageProcessingModule accepts off-server addresses as a path. An attacker could, for instance, pass the url - /// to a file that's a few gigs in size, causing the server to get out-of-memory exceptions or some other errors. An attacker - /// could also use this same method to use one application instance to hammer another site by, again, passing an off-server - /// address of the victims site to the ImageProcessingModule. - /// This class will not throw an exception if the Uri supplied points to a resource local to the running application instance. - /// - /// There shouldn't be any security issues there, as the internal WebRequest instance is still calling it remotely. - /// Any local files that shouldn't be accessed by this won't be allowed by the remote call. - /// - /// Adapted from BlogEngine.Net - /// - internal sealed class RemoteFile - { - #region Fields - /// - /// The white-list of url[s] from which to download remote files. - /// - private static readonly Uri[] RemoteFileWhiteList = ImageProcessorConfig.Instance.RemoteFileWhiteList; - - /// - /// The length of time, in milliseconds, that a remote file download attempt can last before timing out. - /// - private static readonly int TimeoutMilliseconds = ImageProcessorConfig.Instance.Timeout; - - /// - /// The maximum size, in bytes, that a remote file download attempt can download. - /// - private static readonly int MaxBytes = ImageProcessorConfig.Instance.MaxBytes; - - /// - /// Whether to allow remote downloads. - /// - private static readonly bool AllowRemoteDownloads = ImageProcessorConfig.Instance.AllowRemoteDownloads; - - /// - /// Whether this RemoteFile instance is ignoring remote download rules set in the current application - /// instance. - /// - private readonly bool ignoreRemoteDownloadSettings; - - /// - /// The Uri of the remote file being downloaded. - /// - private readonly Uri url; - - /// - /// The maximum allowable download size in bytes. - /// - private readonly int maxDownloadSize; - - /// - /// The length of time, in milliseconds, that a remote file download attempt can last before timing out. - /// - private int timeoutLength; - - /// - /// The WebResponse object used internally for this RemoteFile instance. - /// - private WebRequest webRequest; - #endregion - - #region Constructors - /// - /// Initializes a new instance of the RemoteFile class. - /// - /// The url of the file to be downloaded. - /// - /// If set to , then RemoteFile should ignore the current the applications instance's remote download settings; otherwise,. - /// - internal RemoteFile(Uri filePath, bool ignoreRemoteDownloadSettings) - { - Contract.Requires(filePath != null); - - this.url = filePath; - this.ignoreRemoteDownloadSettings = ignoreRemoteDownloadSettings; - this.timeoutLength = TimeoutMilliseconds; - this.maxDownloadSize = MaxBytes; - } - #endregion - - #region Properties - /// - /// Gets a value indicating whether this RemoteFile instance is ignoring remote download rules set in the - /// current application instance. - /// - /// This should only be set to true if the supplied url is a verified resource. Use at your own risk. - /// - /// - /// - /// if this RemoteFile instance is ignoring remote download rules set in the current - /// application instance; otherwise, . - /// - public bool IgnoreRemoteDownloadSettings - { - get - { - return this.ignoreRemoteDownloadSettings; - } - } - - /// - /// Gets the Uri of the remote file being downloaded. - /// - public Uri Uri - { - get - { - return this.url; - } - } - - /// - /// Gets or sets the length of time, in milliseconds, that a remote file download attempt can - /// last before timing out. - /// - /// - /// This value can only be set if the instance is supposed to ignore the remote download settings set - /// in the current application instance. - /// - /// - /// Set this value to 0 if there should be no timeout. - /// - /// - /// - public int TimeoutLength - { - get - { - return this.IgnoreRemoteDownloadSettings ? this.timeoutLength : TimeoutMilliseconds; - } - - set - { - if (!this.IgnoreRemoteDownloadSettings) - { - throw new SecurityException("Timeout length can not be adjusted on remote files that are abiding by remote download rules"); - } - - if (value < 0) - { - throw new ArgumentOutOfRangeException("TimeoutLength"); - } - - this.timeoutLength = value; - } - } - - /// - /// Gets or sets the maximum download size, in bytes, that a remote file download attempt can be. - /// - /// - /// This value can only be set if the instance is supposed to ignore the remote download settings set - /// in the current application instance. - /// - /// - /// Set this value to 0 if there should be no timeout. - /// - /// - /// - public int MaxDownloadSize - { - get - { - return this.IgnoreRemoteDownloadSettings ? this.maxDownloadSize : MaxBytes; - } - - set - { - if (!this.IgnoreRemoteDownloadSettings) - { - throw new SecurityException("Max Download Size can not be adjusted on remote files that are abiding by remote download rules"); - } - - if (value < 0) - { - throw new ArgumentOutOfRangeException("MaxDownloadSize"); - } - - this.timeoutLength = value; - } - } - #endregion - - #region Methods - #region Public - /// - /// Returns the WebResponse used to download this file. - /// - /// - /// This method is meant for outside users who need specific access to the WebResponse this class - /// generates. They're responsible for disposing of it. - /// - /// - /// - /// The WebResponse used to download this file. - public WebResponse GetWebResponse() - { - WebResponse response = this.GetWebRequest().GetResponse(); - - long contentLength = response.ContentLength; - - // WebResponse.ContentLength doesn't always know the value, it returns -1 in this case. - if (contentLength == -1) - { - // Response headers may still have the Content-Length inside of it. - string headerContentLength = response.Headers["Content-Length"]; - - if (!string.IsNullOrWhiteSpace(headerContentLength)) - { - contentLength = long.Parse(headerContentLength, CultureInfo.InvariantCulture); - } - } - - // We don't need to check the url here since any external urls are available only from the web.config. - if ((this.MaxDownloadSize > 0) && (contentLength > this.MaxDownloadSize)) - { - response.Close(); - throw new SecurityException("An attempt to download a remote file has been halted because the file is larger than allowed."); - } - - return response; - } - - /// - /// Returns the remote file as a String. - /// - /// This returns the resulting stream as a string as passed through a StreamReader. - /// - /// - /// The remote file as a String. - public string GetFileAsString() - { - using (WebResponse response = this.GetWebResponse()) - { - Stream responseStream = response.GetResponseStream(); - - if (responseStream != null) - { - // Pipe the stream to a stream reader with the required encoding format. - using (StreamReader reader = new StreamReader(responseStream, Encoding.UTF8)) - { - return reader.ReadToEnd(); - } - } - - return string.Empty; - } - } - #endregion - - #region Private - /// - /// Performs a check to see whether the application is able to download remote files. - /// - private void CheckCanDownload() - { - if (!this.IgnoreRemoteDownloadSettings && !AllowRemoteDownloads) - { - throw new SecurityException("application is not configured to allow remote file downloads."); - } - } - - /// - /// Creates the WebRequest object used internally for this RemoteFile instance. - /// - /// - /// - /// The WebRequest should not be passed outside of this instance, as it will allow tampering. Anyone - /// that needs more fine control over the downloading process should probably be using the WebRequest - /// class on its own. - /// - /// - private WebRequest GetWebRequest() - { - // Check downloads are allowed. - this.CheckCanDownload(); - - // Check the url is from a whitelisted location. - this.CheckSafeUrlLocation(); - - if (this.webRequest == null) - { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create(this.Uri); - request.Headers["Accept-Encoding"] = "gzip"; - request.Headers["Accept-Language"] = "en-us"; - request.Credentials = CredentialCache.DefaultNetworkCredentials; - request.AutomaticDecompression = DecompressionMethods.GZip; - - if (this.TimeoutLength > 0) - { - request.Timeout = this.TimeoutLength; - } - - this.webRequest = request; - } - - return this.webRequest; - } - - /// - /// Returns a value indicating whether the current url is in a list of safe download locations. - /// - private void CheckSafeUrlLocation() - { - bool validUrl = RemoteFileWhiteList.Any(item => item.Host.ToUpperInvariant().Equals(this.url.Host.ToUpperInvariant())); - - if (!validUrl) - { - throw new SecurityException("application is not configured to allow remote file downloads from this domain."); - } - } - #endregion - #endregion - } -} - - diff --git a/src/ImageProcessor.Web/Helpers/LockedDictionary.cs b/src/ImageProcessor.Web/Helpers/LockedDictionary.cs index 3f41d25cc..8cc26c06b 100644 --- a/src/ImageProcessor.Web/Helpers/LockedDictionary.cs +++ b/src/ImageProcessor.Web/Helpers/LockedDictionary.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- diff --git a/src/ImageProcessor.Web/Helpers/ObjectFactory.cs b/src/ImageProcessor.Web/Helpers/ObjectFactory.cs deleted file mode 100644 index e13a6885a..000000000 --- a/src/ImageProcessor.Web/Helpers/ObjectFactory.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace ImageProcessor.Web.Helpers -{ - using System.Linq.Expressions; - using System.Reflection; - - public class ObjectFactory - { - public delegate T ObjectActivator(params object[] args); - - public static ObjectActivator GetActivator(ConstructorInfo ctor) - { - Type type = ctor.DeclaringType; - ParameterInfo[] paramsInfo = ctor.GetParameters(); - - // Create a single param of type object[] - ParameterExpression param = Expression.Parameter(typeof(object[]), "args"); - - Expression[] argsExp = new Expression[paramsInfo.Length]; - - // Pick each arg from the params array - // and create a typed expression for them - for (int i = 0; i < paramsInfo.Length; i++) - { - Expression index = Expression.Constant(i); - Type paramType = paramsInfo[i].ParameterType; - - Expression paramAccessorExp = Expression.ArrayIndex(param, index); - - Expression paramCastExp = Expression.Convert(paramAccessorExp, paramType); - - argsExp[i] = paramCastExp; - } - - // Make a NewExpression that calls the - // ctor with the args we just created - NewExpression newExp = Expression.New(ctor, argsExp); - - // Create a lambda with the New - // Expression as body and our param object[] as arg - LambdaExpression lambda = Expression.Lambda(typeof(ObjectActivator), newExp, param); - - // Compile it - ObjectActivator compiled = (ObjectActivator)lambda.Compile(); - return compiled; - } - } -} diff --git a/src/ImageProcessor.Web/Helpers/ProcessorFactory.cs b/src/ImageProcessor.Web/Helpers/ProcessorFactory.cs deleted file mode 100644 index 922767b8f..000000000 --- a/src/ImageProcessor.Web/Helpers/ProcessorFactory.cs +++ /dev/null @@ -1,20 +0,0 @@ - - -namespace ImageProcessor.Web.Helpers -{ - using System; - using System.Linq.Expressions; - using ImageProcessor.Processors; - - public static class ProcessorFactory - { - public static T New() where T:IGraphicsProcessor - { - Type t = typeof(T); - Func method = Expression.Lambda>(Expression.Block(t, new Expression[] { Expression.New(t) })).Compile(); - - return method(); - } - } - -} diff --git a/src/ImageProcessor.Web/Helpers/RemoteFile.cs b/src/ImageProcessor.Web/Helpers/RemoteFile.cs index 794e6e98a..211d8e1f2 100644 --- a/src/ImageProcessor.Web/Helpers/RemoteFile.cs +++ b/src/ImageProcessor.Web/Helpers/RemoteFile.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -9,16 +9,15 @@ namespace ImageProcessor.Web.Helpers { #region Using using System; - using System.Diagnostics.Contracts; + using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; using System.Net; using System.Security; using System.Text; - using ImageProcessor.Web.Config; using System.Threading.Tasks; - using System.Collections.Generic; + using ImageProcessor.Web.Config; #endregion /// @@ -231,9 +230,32 @@ namespace ImageProcessor.Web.Helpers /// /// The . /// - internal /*async*/ Task GetWebResponseAsync() + internal async Task GetWebResponseAsync() { - return this.GetWebResponseAsyncTask().ToTask(); + WebResponse response = await this.GetWebRequest().GetResponseAsync(); + + long contentLength = response.ContentLength; + + // WebResponse.ContentLength doesn't always know the value, it returns -1 in this case. + if (contentLength == -1) + { + // Response headers may still have the Content-Length inside of it. + string headerContentLength = response.Headers["Content-Length"]; + + if (!string.IsNullOrWhiteSpace(headerContentLength)) + { + contentLength = long.Parse(headerContentLength, CultureInfo.InvariantCulture); + } + } + + // We don't need to check the url here since any external urls are available only from the web.config. + if ((this.MaxDownloadSize > 0) && (contentLength > this.MaxDownloadSize)) + { + response.Close(); + throw new SecurityException("An attempt to download a remote file has been halted because the file is larger than allowed."); + } + + return response; } /// @@ -243,7 +265,7 @@ namespace ImageProcessor.Web.Helpers /// /// /// The remote file as a String. - public string GetFileAsString() + internal string GetFileAsString() { Task responseTask = this.GetWebResponseAsync(); @@ -266,49 +288,6 @@ namespace ImageProcessor.Web.Helpers #endregion #region Private - /// - /// Returns the WebResponse used to download this file. - /// - /// - /// This method is meant for outside users who need specific access to the WebResponse this class - /// generates. They're responsible for disposing of it. - /// - /// - /// - /// - /// The . - /// - private IEnumerable GetWebResponseAsyncTask() - { - Task responseTask = this.GetWebRequest().GetResponseAsync(); - yield return responseTask; - - WebResponse response = responseTask.Result; - - long contentLength = response.ContentLength; - - // WebResponse.ContentLength doesn't always know the value, it returns -1 in this case. - if (contentLength == -1) - { - // Response headers may still have the Content-Length inside of it. - string headerContentLength = response.Headers["Content-Length"]; - - if (!string.IsNullOrWhiteSpace(headerContentLength)) - { - contentLength = long.Parse(headerContentLength, CultureInfo.InvariantCulture); - } - } - - // We don't need to check the url here since any external urls are available only from the web.config. - if ((this.MaxDownloadSize > 0) && (contentLength > this.MaxDownloadSize)) - { - response.Close(); - throw new SecurityException("An attempt to download a remote file has been halted because the file is larger than allowed."); - } - - yield return TaskEx.FromResult(response); - } - /// /// Performs a check to see whether the application is able to download remote files. /// @@ -373,5 +352,3 @@ namespace ImageProcessor.Web.Helpers #endregion } } - - diff --git a/src/ImageProcessor.Web/Helpers/TaskEx.cs b/src/ImageProcessor.Web/Helpers/TaskEx.cs deleted file mode 100644 index 6d85c45c1..000000000 --- a/src/ImageProcessor.Web/Helpers/TaskEx.cs +++ /dev/null @@ -1,174 +0,0 @@ -// License: CPOL at http://www.codeproject.com/info/cpol10.aspx - - -namespace System.Threading.Tasks -{ - using System.Collections.Generic; - - /// - /// Extensions related to the classes. - /// Supports implementing "async"-style methods in C#4 using iterators. - /// - /// - /// I would call this TaskExtensions, except that clients must name the class to use methods like . - /// Based on work from Await Tasks in C#4 using Iterators by Keith L Robertson. - /// - /// - public static class TaskEx - { - /// - /// Return a Completed with a specific value. - /// - /// - /// The result - /// - /// - /// The result Value. - /// - /// - /// The . - /// - public static Task FromResult(TResult resultValue) - { - var completionSource = new TaskCompletionSource(); - completionSource.SetResult(resultValue); - return completionSource.Task; - } - - /// - /// Transform an enumeration of into a single non-Result . - /// - /// - /// The tasks. - /// - /// - /// The . - /// - public static Task ToTask(this IEnumerable tasks) - { - return ToTask(tasks); - } - - /// - /// Transform an enumeration of into a single . - /// The final in must be a . - /// - /// - /// The task results - /// - /// - /// The tasks. - /// - /// - /// The . - /// - public static Task ToTask(this IEnumerable tasks) - { - var taskScheduler = - SynchronizationContext.Current == null - ? TaskScheduler.Default : TaskScheduler.FromCurrentSynchronizationContext(); - var taskEnumerator = tasks.GetEnumerator(); - var completionSource = new TaskCompletionSource(); - - // Clean up the enumerator when the task completes. - completionSource.Task.ContinueWith(t => taskEnumerator.Dispose(), taskScheduler); - - ToTaskDoOneStep(taskEnumerator, taskScheduler, completionSource, null); - return completionSource.Task; - } - - /// - /// If the previous task Canceled or Faulted, complete the master task with the same . - /// Obtain the next from the . - /// If none, complete the master task, possibly with the of the last task. - /// Otherwise, set up the task with a continuation to come do this again when it completes. - /// - private static void ToTaskDoOneStep( - IEnumerator taskEnumerator, TaskScheduler taskScheduler, - TaskCompletionSource completionSource, Task completedTask) - { - // Check status of previous nested task (if any), and stop if Canceled or Faulted. - TaskStatus status; - if (completedTask == null) - { - // This is the first task from the iterator; skip status check. - } - else if ((status = completedTask.Status) == TaskStatus.Canceled) - { - completionSource.SetCanceled(); - return; - } - else if (status == TaskStatus.Faulted) - { - completionSource.SetException(completedTask.Exception); - return; - } - - // Check for cancellation before looking for the next task. - // This causes a problem where the ultimate Task does not complete and fire any continuations; I don't know why. - // So cancellation from the Token must be handled within the iterator itself. - //if (cancellationToken.IsCancellationRequested) { - // completionSource.SetCanceled(); - // return; - //} - - // Find the next Task in the iterator; handle cancellation and other exceptions. - Boolean haveMore; - try - { - haveMore = taskEnumerator.MoveNext(); - - } - catch (OperationCanceledException cancExc) - { - //if (cancExc.CancellationToken == cancellationToken) completionSource.SetCanceled(); - //else completionSource.SetException(cancExc); - completionSource.SetCanceled(); - return; - } - catch (Exception exc) - { - completionSource.SetException(exc); - return; - } - - if (!haveMore) - { - // No more tasks; set the result from the last completed task (if any, unless no result is requested). - // We know it's not Canceled or Faulted because we checked at the start of this method. - if (typeof(TResult) == typeof(VoidResult)) - { // No result - completionSource.SetResult(default(TResult)); - } - else if (!(completedTask is Task)) - { // Wrong result - completionSource.SetException(new InvalidOperationException( - "Asynchronous iterator " + taskEnumerator + - " requires a final result task of type " + typeof(Task).FullName + - (completedTask == null ? ", but none was provided." : - "; the actual task type was " + completedTask.GetType().FullName))); - } - else - { - completionSource.SetResult(((Task)completedTask).Result); - } - } - else - { - // When the nested task completes, continue by performing this function again. - // Note: This is NOT a recursive call; the current method activation will complete - // almost immediately and independently of the lambda continuation. - taskEnumerator.Current.ContinueWith( - nextTask => ToTaskDoOneStep(taskEnumerator, taskScheduler, completionSource, nextTask), - taskScheduler); - } - } - - /// - /// Internal marker type for using to implement . - /// - private abstract class VoidResult - { - } - } -} diff --git a/src/ImageProcessor.Web/Helpers/TaskHelpers.cs b/src/ImageProcessor.Web/Helpers/TaskHelpers.cs new file mode 100644 index 000000000..d1975c0dd --- /dev/null +++ b/src/ImageProcessor.Web/Helpers/TaskHelpers.cs @@ -0,0 +1,52 @@ +// ----------------------------------------------------------------------- +// +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. +// +// ----------------------------------------------------------------------- + +namespace ImageProcessor.Web.Helpers +{ + #region Using + using System; + using System.Threading.Tasks; + #endregion + + /// + /// Provides some syntactic sugar to run tasks. + /// + public sealed class TaskHelpers + { + /// + /// Queues the specified work to run on the ThreadPool and returns a Task handle for that work. + /// + /// The work to execute asynchronously + /// A Task that represents the work queued to execute in the ThreadPool. + /// + /// The parameter was null. + /// + public static Task Run(Action action) + { + Task task = new Task(action); + task.Start(); + return task; + } + + /// + /// Queues the specified work to run on the ThreadPool and returns a proxy for the + /// Task(TResult) returned by . + /// + /// The type of the result returned by the proxy Task. + /// The work to execute asynchronously + /// A Task(TResult) that represents a proxy for the Task(TResult) returned by . + /// + /// The parameter was null. + /// + public static Task Run(Func function) + { + Task task = new Task(function); + task.Start(); + return task; + } + } +} diff --git a/src/ImageProcessor.Web/HttpModules/Copy of ImageProcessingModule.cs b/src/ImageProcessor.Web/HttpModules/Copy of ImageProcessingModule.cs deleted file mode 100644 index 409181289..000000000 --- a/src/ImageProcessor.Web/HttpModules/Copy of ImageProcessingModule.cs +++ /dev/null @@ -1,342 +0,0 @@ -// ----------------------------------------------------------------------- -// -// Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. -// -// ----------------------------------------------------------------------- - -namespace ImageProcessor.Web.HttpModules -{ - #region Using - using System; - using System.IO; - using System.Net; - using System.Reflection; - using System.Web; - using System.Web.Hosting; - using ImageProcessor.Helpers.Extensions; - using ImageProcessor.Imaging; - using ImageProcessor.Web.Caching; - using ImageProcessor.Web.Config; - using ImageProcessor.Web.Helpers; - #endregion - - /// - /// Processes any image requests within the web application. - /// - public class ImageProcessingModule : IHttpModule - { - #region Fields - /// - /// The key for storing the response type of the current image. - /// - private const string CachedResponseTypeKey = "CACHED_IMAGE_RESPONSE_TYPE"; - - /// - /// The value to prefix any remote image requests with to ensure they get captured. - /// - private static readonly string RemotePrefix = ImageProcessorConfig.Instance.RemotePrefix; - - /// - /// The object to lock against. - /// - private static readonly object SyncRoot = new object(); - - /// - /// The assembly version. - /// - private static readonly string AssemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); - - /// - /// A value indicating whether the application has started. - /// - private static bool hasModuleInitialized; - #endregion - - /// - /// The delegate void representing the ProcessImage method. - /// - /// - /// the HttpContext object that provides - /// references to the intrinsic server objects - /// - private delegate void ProcessImageDelegate(HttpContext context); - - #region IHttpModule Members - /// - /// Initializes a module and prepares it to handle requests. - /// - /// - /// An that provides - /// access to the methods, properties, and events common to all - /// application objects within an ASP.NET application - /// - public void Init(HttpApplication context) - { - if (!hasModuleInitialized) - { - lock (SyncRoot) - { - if (!hasModuleInitialized) - { - DiskCache.CreateCacheDirectories(); - hasModuleInitialized = true; - } - } - } - - context.AddOnBeginRequestAsync(this.OnBeginAsync, this.OnEndAsync); - context.PreSendRequestHeaders += this.ContextPreSendRequestHeaders; - } - - /// - /// Disposes of the resources (other than memory) used by the module that implements . - /// - public void Dispose() - { - // Nothing to dispose. - } - #endregion - - /// - /// The that starts asynchronous processing - /// of the . - /// - /// The source of the event. - /// - /// An EventArgs that contains - /// the event data. - /// - /// - /// The delegate to call when the asynchronous method call is complete. - /// If the callback is null, the delegate is not called. - /// - /// - /// Any additional data needed to process the request. - /// - /// - /// The status of the asynchronous operation. - /// - private IAsyncResult OnBeginAsync(object sender, EventArgs e, AsyncCallback callBack, object state) - { - HttpContext context = ((HttpApplication)sender).Context; - - ProcessImageDelegate processImage = this.ProcessImage; - - return processImage.BeginInvoke(context, callBack, state); - } - - /// - /// The method that handles asynchronous events such as application events. - /// - /// - /// The that is the result of the - /// operation. - /// - private void OnEndAsync(IAsyncResult result) - { - // Ensure our ProcessImage has completed in the background. - while (!result.IsCompleted) - { - System.Threading.Thread.Sleep(1); - } - } - - /// - /// Occurs just before ASP.NET send HttpHeaders to the client. - /// - /// The source of the event. - /// An EventArgs that contains the event data. - private void ContextPreSendRequestHeaders(object sender, EventArgs e) - { - HttpContext context = ((HttpApplication)sender).Context; - - object responseTypeObject = context.Items[CachedResponseTypeKey]; - - if (responseTypeObject != null) - { - string responseType = (string)responseTypeObject; - - // Set the headers - this.SetHeaders(context, responseType); - - context.Items[CachedResponseTypeKey] = null; - } - } - - #region Private - /// - /// Processes the image. - /// - /// - /// the HttpContext object that provides - /// references to the intrinsic server objects - /// - private void ProcessImage(HttpContext context) - { - // Is this a remote file. - bool isRemote = context.Request.Path.Equals(RemotePrefix, StringComparison.OrdinalIgnoreCase); - string path = string.Empty; - string queryString = string.Empty; - - if (isRemote) - { - // We need to split the querystring to get the actual values we want. - string urlDecode = HttpUtility.UrlDecode(context.Request.QueryString.ToString()); - - if (urlDecode != null) - { - string[] paths = urlDecode.Split('?'); - - path = paths[0]; - - if (paths.Length > 1) - { - queryString = paths[1]; - } - } - } - else - { - path = HostingEnvironment.MapPath(context.Request.Path); - queryString = HttpUtility.UrlDecode(context.Request.QueryString.ToString()); - } - - // Only process requests that pass our sanitizing filter. - if (ImageUtils.IsValidImageExtension(path) && !string.IsNullOrWhiteSpace(queryString)) - { - if (this.FileExists(path, isRemote)) - { - string fullPath = string.Format("{0}?{1}", path, queryString); - string imageName = Path.GetFileName(path); - string cachedPath = DiskCache.GetCachePath(fullPath, imageName); - bool isUpdated = DiskCache.IsUpdatedFile(path, cachedPath, isRemote); - - // Only process if the file has been updated. - if (isUpdated) - { - // Process the image. - using (ImageFactory imageFactory = new ImageFactory()) - { - if (isRemote) - { - Uri uri = new Uri(path); - RemoteFile remoteFile = new RemoteFile(uri, false); - - using (MemoryStream memoryStream = new MemoryStream()) - { - using (Stream responseStream = remoteFile.GetWebResponse().GetResponseStream()) - { - if (responseStream != null) - { - //lock (SyncRoot) - //{ - // Trim the cache. - DiskCache.TrimCachedFolders(); - - responseStream.CopyTo(memoryStream); - - imageFactory.Load(memoryStream) - .AddQueryString(queryString) - .Format(ImageUtils.GetImageFormat(imageName)) - .AutoProcess().Save(cachedPath); - - // Ensure that the LastWriteTime property of the source and cached file match. - DateTime dateTime = DiskCache.SetCachedLastWriteTime(path, cachedPath, true); - - // Add to the cache. - DiskCache.AddImageToCache(cachedPath, dateTime); - //} - } - } - } - } - else - { - //lock (SyncRoot) - //{ - // Trim the cache. - DiskCache.TrimCachedFolders(); - - imageFactory.Load(fullPath).AutoProcess().Save(cachedPath); - - // Ensure that the LastWriteTime property of the source and cached file match. - DateTime dateTime = DiskCache.SetCachedLastWriteTime(path, cachedPath, false); - - // Add to the cache. - DiskCache.AddImageToCache(cachedPath, dateTime); - //} - } - } - } - - context.Items[CachedResponseTypeKey] = ImageUtils.GetResponseType(imageName).ToDescription(); - - // The cached file is valid so just rewrite the path. - context.RewritePath(DiskCache.GetVirtualPath(cachedPath, context.Request), false); - } - } - } - - /// - /// returns a value indicating whether a file exists. - /// - /// The path to the file to check. - /// Whether the file is remote. - /// True if the file exists, otherwise false. - /// If the file is remote the method will always return true. - private bool FileExists(string path, bool isRemote) - { - if (isRemote) - { - return true; - } - - FileInfo fileInfo = new FileInfo(path); - return fileInfo.Exists; - } - - /// - /// This will make the browser and server keep the output - /// in its cache and thereby improve performance. - /// See http://en.wikipedia.org/wiki/HTTP_ETag - /// - /// - /// the HttpContext object that provides - /// references to the intrinsic server objects - /// - /// The HTTP MIME type to to send. - private void SetHeaders(HttpContext context, string responseType) - { - HttpResponse response = context.Response; - - response.ContentType = responseType; - - response.AddHeader("Image-Served-By", "ImageProcessor/" + AssemblyVersion); - - HttpCachePolicy cache = response.Cache; - - cache.VaryByHeaders["Accept-Encoding"] = true; - - int maxDays = DiskCache.MaxFileCachedDuration; - - cache.SetExpires(DateTime.Now.ToUniversalTime().AddDays(maxDays)); - cache.SetMaxAge(new TimeSpan(maxDays, 0, 0, 0)); - cache.SetRevalidation(HttpCacheRevalidation.AllCaches); - - string incomingEtag = context.Request.Headers["If-None-Match"]; - - cache.SetCacheability(HttpCacheability.Public); - - if (incomingEtag == null) - { - return; - } - - response.Clear(); - response.StatusCode = (int)HttpStatusCode.NotModified; - response.SuppressContent = true; - } - #endregion - } -} \ No newline at end of file diff --git a/src/ImageProcessor.Web/HttpModules/ImageProcessingModule.cs b/src/ImageProcessor.Web/HttpModules/ImageProcessingModule.cs index 431582a76..59e85afa8 100644 --- a/src/ImageProcessor.Web/HttpModules/ImageProcessingModule.cs +++ b/src/ImageProcessor.Web/HttpModules/ImageProcessingModule.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -12,6 +12,8 @@ namespace ImageProcessor.Web.HttpModules using System.IO; using System.Net; using System.Reflection; + using System.Threading; + using System.Threading.Tasks; using System.Web; using System.Web.Hosting; using ImageProcessor.Helpers.Extensions; @@ -19,20 +21,18 @@ namespace ImageProcessor.Web.HttpModules using ImageProcessor.Web.Caching; using ImageProcessor.Web.Config; using ImageProcessor.Web.Helpers; - using System.Threading.Tasks; - using System.Collections.Generic; #endregion /// /// Processes any image requests within the web application. /// - public class ImageProcessingModule : IHttpModule + public sealed class ImageProcessingModule : IHttpModule { #region Fields /// /// The key for storing the response type of the current image. /// - private const string CachedResponseTypeKey = "CACHED_IMAGE_RESPONSE_TYPE"; + private const string CachedResponseTypeKey = "CACHED_IMAGE_RESPONSE_TYPE_054F217C-11CF-49FF-8D2F-698E8E6EB58F"; /// /// The value to prefix any remote image requests with to ensure they get captured. @@ -40,19 +40,19 @@ namespace ImageProcessor.Web.HttpModules private static readonly string RemotePrefix = ImageProcessorConfig.Instance.RemotePrefix; /// - /// The object to lock against. + /// The assembly version. /// - private static readonly object SyncRoot = new object(); + private static readonly string AssemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); /// - /// The assembly version. + /// The value that acts as a basis to check that the startup code has only been ran once. /// - private static readonly string AssemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); + private static int initCheck; /// /// A value indicating whether the application has started. /// - private static bool hasModuleInitialized; + private readonly bool hasModuleInitialized = initCheck == 1; #endregion #region IHttpModule Members @@ -66,17 +66,11 @@ namespace ImageProcessor.Web.HttpModules /// public void Init(HttpApplication context) { - if (!hasModuleInitialized) + if (!this.hasModuleInitialized) { - lock (SyncRoot) - { - if (!hasModuleInitialized) - { - Cache.CreateDirectoriesAsync(); - //DiskCache.CreateCacheDirectories(); - hasModuleInitialized = true; - } - } + Interlocked.CompareExchange(ref initCheck, 1, 0); + + DiskCache.CreateDirectories(); } context.BeginRequest += this.ContextBeginRequest; @@ -97,10 +91,10 @@ namespace ImageProcessor.Web.HttpModules /// /// The source of the event. /// An EventArgs that contains the event data. - private void ContextBeginRequest(object sender, EventArgs e) + private async void ContextBeginRequest(object sender, EventArgs e) { HttpContext context = ((HttpApplication)sender).Context; - this.ProcessImage(context); + await this.ProcessImageAsync(context); } /// @@ -126,30 +120,6 @@ namespace ImageProcessor.Web.HttpModules } #region Private - /// - /// Processes the image. - /// - /// - /// the HttpContext object that provides - /// references to the intrinsic server objects - /// - private void ProcessImage(HttpContext context) - { - this.ProcessImageAsync(context); - } - - /// - /// Processes the image. - /// - /// - /// the HttpContext object that provides - /// references to the intrinsic server objects - /// - private /*async*/ Task ProcessImageAsync(HttpContext context) - { - return this.ProcessImageAsyncTask(context).ToTask(); - } - /// /// Processes the image. /// @@ -158,19 +128,19 @@ namespace ImageProcessor.Web.HttpModules /// references to the intrinsic server objects /// /// - /// The . + /// The . /// - private IEnumerable ProcessImageAsyncTask(HttpContext context) + private async Task ProcessImageAsync(HttpContext context) { - // Is this a remote file. - bool isRemote = context.Request.Path.Equals(RemotePrefix, StringComparison.OrdinalIgnoreCase); + HttpRequest request = context.Request; + bool isRemote = request.Path.Equals(RemotePrefix, StringComparison.OrdinalIgnoreCase); string requestPath = string.Empty; string queryString = string.Empty; if (isRemote) { // We need to split the querystring to get the actual values we want. - string urlDecode = HttpUtility.UrlDecode(context.Request.QueryString.ToString()); + string urlDecode = HttpUtility.UrlDecode(request.QueryString.ToString()); if (urlDecode != null) { @@ -186,129 +156,87 @@ namespace ImageProcessor.Web.HttpModules } else { - requestPath = HostingEnvironment.MapPath(context.Request.Path); - queryString = HttpUtility.UrlDecode(context.Request.QueryString.ToString()); + requestPath = HostingEnvironment.MapPath(request.Path); + queryString = HttpUtility.UrlDecode(request.QueryString.ToString()); } // Only process requests that pass our sanitizing filter. if (ImageUtils.IsValidImageExtension(requestPath) && !string.IsNullOrWhiteSpace(queryString)) { - if (this.FileExists(requestPath, isRemote)) - { + string fullPath = string.Format("{0}?{1}", requestPath, queryString); + string imageName = Path.GetFileName(requestPath); - string fullPath = string.Format("{0}?{1}", requestPath, queryString); - string imageName = Path.GetFileName(requestPath); + // Create a new cache to help process and cache the request. + DiskCache cache = new DiskCache(request, requestPath, fullPath, imageName, isRemote); - // Create a new cache to help process and cache the request. - Cache cache = new Cache(requestPath, fullPath, imageName, isRemote); + // Is the file new or updated? + bool isNewOrUpdated = await cache.IsNewOrUpdatedFileAsync(); - // Is the file new or updated? - Task isUpdatedTask = cache.isNewOrUpdatedFileAsync(); - yield return isUpdatedTask; - bool isNewOrUpdated = isUpdatedTask.Result; - - // Only process if the file has been updated. - if (isNewOrUpdated) + // Only process if the file has been updated. + if (isNewOrUpdated) + { + // Process the image. + using (ImageFactory imageFactory = new ImageFactory()) { - // Process the image. - using (ImageFactory imageFactory = new ImageFactory()) + if (isRemote) { - if (isRemote) - { - Uri uri = new Uri(requestPath); - - HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri); + Uri uri = new Uri(requestPath); - Task responseTask = webRequest.GetResponseAsync(); - yield return responseTask; - //RemoteFile remoteFile = new RemoteFile(uri, false); + RemoteFile remoteFile = new RemoteFile(uri, false); - //Task getWebResponseTask = remoteFile.GetWebResponseAsync(); - //yield return getWebResponseTask; + // Prevent response blocking. + WebResponse webResponse = await remoteFile.GetWebResponseAsync().ConfigureAwait(false); - using (MemoryStream memoryStream = new MemoryStream()) + using (MemoryStream memoryStream = new MemoryStream()) + { + using (WebResponse response = webResponse) { - using (WebResponse response = responseTask.Result) + using (Stream responseStream = response.GetResponseStream()) { - using (Stream responseStream = response.GetResponseStream()) + if (responseStream != null) { - if (responseStream != null) - { - // Trim the cache. - Task trimCachedFoldersTask = cache.TrimCachedFoldersAsync(); - yield return trimCachedFoldersTask; - - responseStream.CopyTo(memoryStream); - - imageFactory.Load(memoryStream) - .AddQueryString(queryString) - .Format(ImageUtils.GetImageFormat(imageName)) - .AutoProcess().Save(cache.CachedPath); - - // Ensure that the LastWriteTime property of the source and cached file match. - Task setCachedLastWriteTimeTask = cache.SetCachedLastWriteTimeAsync(); - yield return setCachedLastWriteTimeTask; - DateTime dateTime = setCachedLastWriteTimeTask.Result; - - // Add to the cache. - Task addImageToCacheTask = cache.AddImageToCacheAsync(dateTime); - yield return addImageToCacheTask; - } - } + // Trim the cache. + await cache.TrimCachedFoldersAsync(); - } - } - } - else - { - // Trim the cache. - Task trimCachedFoldersTask = cache.TrimCachedFoldersAsync(); - yield return trimCachedFoldersTask; + responseStream.CopyTo(memoryStream); - imageFactory.Load(fullPath).AutoProcess().Save(cache.CachedPath); + imageFactory.Load(memoryStream) + .AddQueryString(queryString) + .Format(ImageUtils.GetImageFormat(imageName)) + .AutoProcess().Save(cache.CachedPath); - // Ensure that the LastWriteTime property of the source and cached file match. - Task setCachedLastWriteTimeTask = cache.SetCachedLastWriteTimeAsync(); - yield return setCachedLastWriteTimeTask; - DateTime dateTime = setCachedLastWriteTimeTask.Result; - - // Add to the cache. - Task addImageToCacheTask = cache.AddImageToCacheAsync(dateTime); - yield return addImageToCacheTask; + // Ensure that the LastWriteTime property of the source and cached file match. + DateTime dateTime = await cache.SetCachedLastWriteTimeAsync(); + // Add to the cache. + await cache.AddImageToCacheAsync(dateTime); + } + } + } } } - } + else + { + // Trim the cache. + await cache.TrimCachedFoldersAsync(); - context.Items[CachedResponseTypeKey] = ImageUtils.GetResponseType(imageName).ToDescription(); + imageFactory.Load(fullPath).AutoProcess().Save(cache.CachedPath); - // The cached file is valid so just rewrite the path. - context.RewritePath(cache.GetVirtualPath(cache.CachedPath, context.Request), false); - yield break; + // Ensure that the LastWriteTime property of the source and cached file match. + DateTime dateTime = await cache.SetCachedLastWriteTimeAsync(); + // Add to the cache. + await cache.AddImageToCacheAsync(dateTime); + } + } } - } - - yield break; - } + // Store the response type in the context for later retrieval. + context.Items[CachedResponseTypeKey] = ImageUtils.GetResponseType(imageName).ToDescription(); - /// - /// returns a value indicating whether a file exists. - /// - /// The path to the file to check. - /// Whether the file is remote. - /// True if the file exists, otherwise false. - /// If the file is remote the method will always return true. - private bool FileExists(string path, bool isRemote) - { - if (isRemote) - { - return true; + // The cached file is valid so just rewrite the path. + context.RewritePath(cache.GetVirtualCachedPath(), false); } - - FileInfo fileInfo = new FileInfo(path); - return fileInfo.Exists; } /// @@ -327,7 +255,7 @@ namespace ImageProcessor.Web.HttpModules response.ContentType = responseType; - response.AddHeader("Image-Served-By", "ImageProcessor/" + AssemblyVersion); + response.AddHeader("Image-Served-By", "ImageProcessor.Web/" + AssemblyVersion); HttpCachePolicy cache = response.Cache; diff --git a/src/ImageProcessor.Web/ImageFactoryExtensions.cs b/src/ImageProcessor.Web/ImageFactoryExtensions.cs index 93e383fae..2a6eb26a9 100644 --- a/src/ImageProcessor.Web/ImageFactoryExtensions.cs +++ b/src/ImageProcessor.Web/ImageFactoryExtensions.cs @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------- // // Copyright (c) James South. -// Dual licensed under the MIT or GPL Version 2 licenses. +// Licensed under the Apache License, Version 2.0. // // ----------------------------------------------------------------------- @@ -38,17 +38,18 @@ namespace ImageProcessor.Web { if (factory.ShouldProcess) { + // It's faster to lock and run through our activated list than to create new instances. lock (SyncRoot) { // Get a list of all graphics processors that have parsed and matched the querystring. - List list = + List graphicsProcessors = ImageProcessorConfig.Instance.GraphicsProcessors .Where(x => x.MatchRegexIndex(factory.QueryString) != int.MaxValue) .OrderBy(y => y.SortOrder) .ToList(); // Loop through and process the image. - foreach (IGraphicsProcessor graphicsProcessor in list) + foreach (IGraphicsProcessor graphicsProcessor in graphicsProcessors) { factory.Image = graphicsProcessor.ProcessImage(factory); } diff --git a/src/ImageProcessor.Web/ImageProcessor.Web.csproj b/src/ImageProcessor.Web/ImageProcessor.Web.csproj index 8ea6cfe26..51aff4acc 100644 --- a/src/ImageProcessor.Web/ImageProcessor.Web.csproj +++ b/src/ImageProcessor.Web/ImageProcessor.Web.csproj @@ -66,6 +66,18 @@ MinimumRecommendedRules.ruleset + + False + ..\packages\Microsoft.Bcl.Async.1.0.14-rc\lib\net40\Microsoft.Threading.Tasks.dll + + + False + ..\packages\Microsoft.Bcl.Async.1.0.14-rc\lib\net40\Microsoft.Threading.Tasks.Extensions.dll + + + False + ..\packages\Microsoft.Bcl.Async.1.0.14-rc\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + @@ -78,6 +90,14 @@ ..\packages\System.Data.SQLite.x86.1.0.84.0\lib\net40\System.Data.SQLite.Linq.dll + + + ..\packages\Microsoft.Bcl.1.0.16-rc\lib\net40\System.Runtime.dll + + + ..\packages\Microsoft.Bcl.1.0.16-rc\lib\net40\System.Threading.Tasks.dll + False + @@ -87,10 +107,8 @@ - - - + @@ -110,9 +128,16 @@ + + + + + xcopy /y "$(TargetPath)" "$(SolutionDir)\Test\Test\bin" +xcopy /y "$(TargetDir)$(TargetName).pdb" "$(SolutionDir)\Test\Test\bin" + -
-
-
+
+
+
- - - + + + - - - - - + + + + + - + - - - - - - + + + + + + - + - - + + - - + + + + + + + + + + - + - + - - + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/License.rtf.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/License.rtf.REMOVED.git-id new file mode 100644 index 000000000..f8589ed0b --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/License.rtf.REMOVED.git-id @@ -0,0 +1 @@ +30ff7aa1ad2a7eedde4972dee464f229d4459439 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/Microsoft.Bcl.1.0.16-rc.nupkg.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/Microsoft.Bcl.1.0.16-rc.nupkg.REMOVED.git-id new file mode 100644 index 000000000..1e6cabeae --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/Microsoft.Bcl.1.0.16-rc.nupkg.REMOVED.git-id @@ -0,0 +1 @@ +168ac0ce88f1c4eeb97a4ad4665e4f0f3bfc4fd6 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/Microsoft.Bcl.1.0.16-rc.nuspec b/src/packages/Microsoft.Bcl.1.0.16-rc/Microsoft.Bcl.1.0.16-rc.nuspec new file mode 100644 index 000000000..5e1b53ed7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/Microsoft.Bcl.1.0.16-rc.nuspec @@ -0,0 +1,44 @@ + + + + Microsoft.Bcl + 1.0.16-rc + BCL Portability Pack for .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5 + Microsoft + Microsoft + http://go.microsoft.com/fwlink/?LinkID=261998&clcid=0x409 + true + This packages enables projects targeting .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5 (including any portable library combinations) to use new types from later versions of .NET including: + +CallerMemberNameAttribute +CallerLineNumberAttribute +CallerFilePathAttribute +Tuple<T1, T2, ...> +IProgress<T> +IStructuralComparable +IStructuralEquatable +Task + +These types are "unified" to their later version equivalent. For example, when running on .NET Framework 4.5, IProgress<T> from this package will be seen by the runtime as the same type as the one already in the platform. + +This package is not required for projects targeting .NET Framework 4.5 or .NET for Windows Store apps. For known issues, please see: http://blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx. + Adds support for types from later versions to .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5. + Copyright © Microsoft Corporation + BCL Microsoft System Task IProgress + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/ReleaseNotes.txt b/src/packages/Microsoft.Bcl.1.0.16-rc/ReleaseNotes.txt new file mode 100644 index 000000000..1bb9317db --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/ReleaseNotes.txt @@ -0,0 +1,24 @@ +Changes in 1.0.16-rc +- Fixed: Adding empty content to .NET 4.5, Windows Phone 8, Windows 8 and portable combinations, so that app.config transforms + are not applied to projects targeting them. + +Changes in 1.0.15-rc + +- Fixed: System.Runtime is missing a type forward for Tuple + +Changes in 1.0.14-rc + +- Fixed: System.Runtime now has a fixed version for Phone 7.x due to the lack of a way to redirect them to a later version. + +Changes in 1.0.13-rc + +- Fixed: First-chance exceptions when running on Phone 7.x + +Changes in 1.0.12-rc + +- Fixed: Microsoft.Bcl.targets are not imported when using NuGet 2.0 to install Microsoft.Bcl +- Changed: Pulled build targets into a separate package (Microsoft.Bcl.Build) so other BCL packages can depend on it. + +Changes in 1.0.11-beta + +- Initial release \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/net40/app.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/net40/app.config.transform new file mode 100644 index 000000000..f9f9fa9b5 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/net40/app.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/net40/web.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/net40/web.config.transform new file mode 100644 index 000000000..f9f9fa9b5 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/net40/web.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/net45/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/net45/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8+wp71/app.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8+wp71/app.config.transform new file mode 100644 index 000000000..5fb1d8a00 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8+wp71/app.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8+wp8/app.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8+wp8/app.config.transform new file mode 100644 index 000000000..1aca32200 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8+wp8/app.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8/app.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8/app.config.transform new file mode 100644 index 000000000..1aca32200 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl4+win8/app.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl5+win8+wp8/app.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl5+win8+wp8/app.config.transform new file mode 100644 index 000000000..f9f9fa9b5 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+sl5+win8+wp8/app.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+win8+wp8/app.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+win8+wp8/app.config.transform new file mode 100644 index 000000000..f9f9fa9b5 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+win8+wp8/app.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+win8/app.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+win8/app.config.transform new file mode 100644 index 000000000..f9f9fa9b5 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net40+win8/app.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net45+win8+wp8/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/portable-net45+win8+wp8/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/sl4-windowsphone71/app.config.transform b/src/packages/Microsoft.Bcl.1.0.16-rc/content/sl4-windowsphone71/app.config.transform new file mode 100644 index 000000000..5fb1d8a00 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/sl4-windowsphone71/app.config.transform @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/sl4/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/sl4/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/sl5/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/sl5/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/win8/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/win8/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/content/wp8/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/content/wp8/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a79fae2ff2afd6ea5cf286d76fad081990b95883 GIT binary patch literal 12880 zcmeHtcU)6R_xIc+^eQMI0tQe-fp7z;prZ7mfCz}FD1;Cp5|Wq%gcX${Sg|3BVgY*t zRB#u?x^`5s_lmfvVD}LPk>8n1S9YI${&?Pf-}mzyKKIO=nKNh3oO|YbXNLGrT8`)l zAqG6n%?Oo3j*}Bb|C%I2vwGjd>ZnBNvT-TlbJ;j3nlELFC88(^Czi?O2!$dUGlIvI z#0i;vA=7PaATw4J$z!RhDfeqt?eC6|4?#yd3yE=Uqdh@1V--RLAx)@}Z>inLf}9DD z6Fj(u36$1iH?F|;Qz;oJ)Z1S}Ft6}*N(t73l~H+nhAWX5=ncdLCxotGN3L~v6Gx4@LrvGmW-Dm1AePI5NM-p1G_sXCXCLKNF`jTq-=A7 z0-mTAJe`sgSkIF11R@Z`wql#H50DN#osttmE}dAan2h}j3EM_Pa;Tp%LUrJJC91ZA z_%jho?qL74RGc(#*S+{*Q)&zDFKFO?RH}G#^fc4v^h&$uCA*5oA29c<$&Ps8XA#An z68BPbg`cK^QN2Qs`3t`Vt-hhMYMs*An*KNPPZ{l5b2%g=F}UcV{n0)BOKqpBh(;=IZ!6y3!|i1f&^#cSTG$Qi0q+^!_d@oytf8e4No6O0h=H)AY$5(AGYp=cV^;M8Ib_GvzFhG-yFhj~pzA`kE>0W%>8O*9QSRVp$umqNACKp*CE zTR8=aJJ`x8QrzX%e%N1{s20f)a-aqKA)3Jc!s)D>C4p9=#{Fca*JTmsX4igqry z)Et0%8p!lU_5=$VQ*qDLRg#6Di7}D4(J;D4Iyo6ri?f1yBdH7HB_s z7xu&xh%j8ZM2uGypw;dJ9BA z*%l1}IvkAyItwKM9YaY5QZQ@O z=J4eJ=b%MIU+@qe{s_bX%1CZOGrZDp`$#kf))HPDa`50P0`kaUwY~PDj7Csq>}@cw8A@Bt$_dR>~Dg1pElpAr`lqlvQ78k}rQ9M~#=fS8ZX?K+)eiR!S6Bg#e;l=>4d+>RJ$S$6x^u%)naXcjL zw*cRU}T7@S~z-KWoP!!4W3@+z`Z<2|B&>HZ$FLQm%wA#smJ`$5kYp#*d1Fcin9> zL~Udow;LmZB%DZIET=oSxW)-&agt7kw8w;06eqzk?8l3fNjQQ4UTcL9M;H~yiR#qF zBTmQ-AA*A7!~$Lmg>^%5;Wn+gZEJ4Vnh$QxTYH5MZRPEeH+=MA5->>t`a&CN1lu#s<@wrmu#*2uHio&fO4sEG}xB(D=DYmRz%Bul9 z0VjbfNjt<_v4OHj#*g3&__9uKw9R8J0MfB;#!I_+sa;)5sJ4yDlX&ukc=_@o+a)lX z(p!*g*45El@*_w2?0<5Eym{%$D5RKFmwx-$j>M&MOoGrxm})68m`F>BE)NBBTwo$X zj!7fb)fv#LjzxO7SeuWW?9x?763(&eU9X zR$=DYfiG;-SH6;~tA1g8V%ysn?;}HfRI^U*S!+He!g4py(y-x{qil-E>iPRQQ;RfC zuXZ#uSfu63(__Y-$g=aDbS;ZAcDxyZoWM333Zf}_3!`}wKDY-MHD`f9G}9MimXBkN zfuXz?5ZDg-%uAH%e(jxyeU$54k)XZWPnmXD%ZTdq4= zR&Z+tWNz>fpp}Cppob6VZyx9r!dX#73H8Gt1lSHrKtc#75&`5gkP`vdlJ+rffKmc% zl7SQ->Z7{Rw2zV@QQMy#ihwfQSHVe~K(3%K7Ky1b5@ALh;CPgJU(m<}y&@P}1Xjr) zh_SQ;q%rMmjTh1YU2U^)0}WEDFCSz(+Z>1zp+yGmu?U~9;=pFy-ZrKkoZC9|1cRIe z&^%-fdVD}f6r};r zRSfoG&qkqW(2me9@WJ2r3k#%~$e9{}*-4KSY9%m^l(IJ-Xe7)ACx2=#V_RkM8^v>J z^DE|BJoR_yb(`>?0pN7w#8zLoCY$q1^SGt3arF%}|D z03$IW+Pl8d?)p-W_)iJ5x)3ybtZZOImP+0o$ zjy<3XaHLwhVT2r*kVsiXAJ352ri~9|Ym+_Xfl<^}p1_g96-SgzBxGxn>bO!tTOoiK z87mS-vW-XsT%)Yr{brJFN*d#Ky0(7j&1NKz8OV>qr*x*jt21e&tH!n=9Y{MHwjJb? zfQ5VDc9u*@`>)uhMyg=jRJ0ksWBmi#rb7RdsgS9JNoSwI%_lvT(12G=DAQ620v+D! zEzoQu_q7=zy%$ZLpvI374$1RtGD&=5cut?QwBg&99{qLB zp9ryJFIrG&W3=G@+>x>g_32xO1eQC$<(Kj|#s=34s}Gp@O0P!FDCv8PGj9Phej6Q< zHrabw$>ZyTZ(Y1gZVLSNOU$}?7QY!s$!>g3_?0t1XI0Xm%BYvUkKH}YeLcc&CI@%yD!iq8hN*3KmEjOZfaoOr4D<*AE$cWDsT=uEc zI%w}ngBT^Yq!Mc25hYR^Tx-~$p-L*tD?(_?$tlq3q#>?UXXr3`J{tF+&j+K?a-*~i zP98Z`%(Gk}mqYf&&87@JQYX3R#U3xpua)S85Eq8BY;|-F`K(j!O9o?szKpS?FF7X9 zJI^!2Jz6Fc53{!BN(8Lfw(}2*D~h!i$MA8jH5>=<4T#hl;?GqS31J5j7e?A!*|M!{ zNH)m=A#zfijRe8)BYnuxZ9GZK7}+|+%$YO08-geKOWm^0Ap^?{LWV$tw${HnamwtM zvzS{^hZ|o|L`z)cme{ zZ~j8ft3JK*-t}m{x4JU2GNs9O$Ek#@>ZF^o^Jm;L;8b1mi~LPG>g%ilcAo=AdAgoZ zPZ0;6Tup2qQ+9k1eda7-;}wrZy5{U{a?f-YmA)U%?={8t>*KkrMtHg#7M3qQSHHmM z)%O*uo5m_Ay*67ZEMC={_!5>zuEXm`!XVLc%ixqR{Kk(=~F8k7{ zi2Q@+!fG$@Luahml^M*m9OjqRlqm%&6F6Bo*m#{haKY;%h5i;lc#WL-UjYDPD&hc~^g6&P2yT3>;D$0*{3A56 zZEWo*XacMPq@q|drTD*M*$>b(fb0*E4@hMsbmfcT@`LFX=+1Nx^c&_%de~XnlJ-Na z+}u6v+5JgVEJ)Wj=ypb}x6uC<%C`SXs?&Le{*y9d(l>eK8(lc@W~#SB`V;Z$q+^G| zBEsa&t}k{d(=*w|T3K*s%z|P1MY(B(=chU>`Q2ugPQvS<_QT#sG)AY=qU&nQoEGi> zo^LrMB3$ec9--cNR?l9vZ{;l~wdCz;35$osWGph%)ob2Y>wCCtp!Of3UQ5LuL(IP0 z4c=q-wEo_m&{u0`vw!pLJE1n|R<_zSRU>s9-I10zlk+QT>vLAn9-ItovQPfvFn3C1 z`Owhe<0el@534XTXtX;P_S}5DIB0!oT@o7aG1)xFJlN;y`@>4TSEqOlBG1>`G6gmK zQ^hw<`BjoeLvQ2++}LI6exNYa*?VkBM08dglqrFy0Ml`g1dYWL-CfQMN5wNqn!W3k1)Q-g~&$em4~YPrm1>$7+HPR!Z;h4!El0 zaJJ-f!|m@zyn{7fA9Fnx$W5DWmNE7F{E!D{xl8SnKPh@7SxEP*A9vn;@!alJTZg`j zba;B^=GO{^iapi+-|-7?cvO9#W;5dUnlm=W4R7@O=S@|0vFu?xEH$m^wPEqGiWOT| z^q+BPk7VD*qUuT%u~59LbhQ7HH`XSR+jjop8D-?M0Hqb&QW zotEWNg>Qss5)F#AvL?f%`a>40Qn zXm2v|xZ%2RCevkYe4t=tpIf3!7vH~%`MyR+^U333vNZkQtn+N@njih{;%9nOg6#DUG!exF`3(rCXShr>#1s*memOC63kh$#u-}+u}mG3KM1FPb# zgC6!ICw{q>8PRm{LYN2J|Ih&KYA3Q%GEmdpX^0$=Uoi z=Jr@_%{8lt_wJ50dlk`VkNk~SCoeGzeDTZf(H}f2hmNq{STZwoo9@QUi#?VFk2twk zDU5!-4Qi$W)J!5ZFjQz0L^DHz27>{+{0ve{Ua9pE(TiZnQHtSn z&|XKw`>v*|Y`^Pfi?W~Qgb&}z7HuDK7M7B=bSO>?}J-=yh|Xoxe(bDum!aN833CX z=|Q@+@c?Z0{|T_+1%uZMX#IH`MkCNfhmmv5Jc?>XPWx>RPOnwB7Vh+}uMLZP?K9l! zwrhdP_lqyB*jr35CHdzh8&BEmXzg=&^UmP)&%|Y=C0`N`dQ0j@zH**h{!~?$e{tJ- zrd5NA|LNe%R?kLXJ0h;xskWKEE%-_4qA?RbWV@_?|MBgcXBmC%MwAAxdlzV$K4@#I zK~~i&1;YXJ!wsNvo z+dS^_*OyyDf*OptiaCA;EiT4eKh6a;K{}nIp>t#q^mC( z8>_DE=a@9mYrW*^M?v|?I`NhXD<{lem6_Mai$1Boa!Zu5Y}=66R@S=b|BwvT`Xt&v zA}aN3z=2F#9iEZ;qKBG~B0q^LJZ@aqeVKTgQF6V}@^Rlq8}}+VY7cNKsQ&tN*IbV> zg>X+^xRc*LmpZ@K#qo)ElizU+)w45e z$C>&UR6Nx4>!W-^E1u~M^qgLT&PS%QG9?E0wNHExNMLg|YeTc0pFuZSw~n zf%`J9JU91X4cMD8c6@+pHQlmt`ts$ZaQ?@MyVBoZ!YpSoyr;OhGb>5C1o;{UPH_dxJKH)pD&d^^m9chvtuYY@F>QQ#u zDri%YQGzpj=B3=n!_%_zIkba@YWu&{=N=#`OvVH?f0aA+J5!|%z4rim@Axb9?sj9? z1-&)fK^V{*@EnmTIT%|_87a%jl+5Iw-NA1@cPr<=zP(7*Of1mJADy?Yz(*SLNkN;% z`+o-YySatB4ck^!iU9I>V^|m+IE~EuMR3u*K9Z z$7_$wR&kkiBT!=ehAb~j;Dt^mbd`ImU%S^c=U*cZO$#Zuvab1>o^feh@QV%NRf4?^ zJ~uum9^b9^OT@spn{x-+$9 zX7MT`0+!5}CDOT$+;;jgvR_BB#A@(VD7%exr%;71x&*FUvl8U9!A! z$0pgwY>-#Kut~3i-)?`jc0>6v(b1FvGWi~F;*F2zrk)%S^y~iVjtleSIVHk;?d`{R zd%n{WH7&9c9Qgit-1#M@7p5KEU^rhZlICbtG;vvJwejHz2OYZlV|Cnk0r&YdwvfiI<&pLlm;o_8$N+6+L@Wh3ujDCH5 zRkpEO(WpEj_jJ#m{f(#cU03NwU#!{de?JUf*Jhe}!xDhikWV_*H282s@@u2T$7A@w?}rn6Pr83h6&usz1)*c#ML zKKzb_?O;O=hKS3hnu!$?Rwta)HkVftiX*aj+F`0eZLESo%;3A z4&6E9TyhVeywT_2<*(t3@15?wqdsGH@THihEx*oU93Sr6I7BbYd-;Qb1vj5J@ANir zy#KlU%$Lkt(G1IVeMTId{x)r&%;=QK39bCgqRK6+ZJtfHjv2T7?)}u$SG5I7O%BQ* z=~FE-X_5^&Q%+bciLTlGEXVr#q#OLW*)fGF`OZ0C9;2Uk7l7yXtFr|ifPU43xkG#-p^lbd#LWft=iADQ63FupJK?3GgdC& z6Ei%zEO~o~mRnYY)+JY;U7JSJg6zC@A2K#xT{ZGuIXh+Y3Hx5vJ@#naiyZgO`|>&T EKWEp + + + System.Runtime + + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8ea84fcc95d9999df5b997c1c6d9bfd39b9bcf1 GIT binary patch literal 25680 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 literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Threading.Tasks.xml new file mode 100644 index 000000000..b47921e5d --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net40/System.Threading.Tasks.xml @@ -0,0 +1,475 @@ + + + + System.Threading.Tasks + + + + Holds state related to the builder's IAsyncStateMachine. + This is a mutable struct. Be very delicate with it. + + + A reference to the heap-allocated state machine object associated with this builder. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument is null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + + Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method. + On first invocation, the supplied state machine will be boxed. + + Specifies the type of the method builder used. + Specifies the type of the state machine used. + The builder. + The state machine. + An Action to provide to the awaiter. + + + Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext. + + + The context with which to run MoveNext. + + + The state machine whose MoveNext method should be invoked. + + + Initializes the runner. + The context with which to run MoveNext. + + + Invokes MoveNext under the provided context. + + + Cached delegate used with ExecutionContext.Run. + + + Invokes the MoveNext method on the supplied IAsyncStateMachine. + The IAsyncStateMachine machine instance. + + + Provides a base class used to cache tasks of a specific return type. + Specifies the type of results the cached tasks return. + + + + A singleton cache for this result type. + This may be null if there are no cached tasks for this TResult. + + + + Creates a non-disposable task. + The result for the task. + The cacheable task. + + + Creates a cache. + A task cache for this result type. + + + Gets a cached task if one exists. + The result for which we want a cached task. + A cached task if one exists; otherwise, null. + + + Provides a cache for Boolean tasks. + + + A true task. + + + A false task. + + + Gets a cached task for the Boolean result. + true or false + A cached task for the Boolean result. + + + Provides a cache for zero Int32 tasks. + + + The minimum value, inclusive, for which we want a cached task. + + + The maximum value, exclusive, for which we want a cached task. + + + The cache of Task{Int32}. + + + Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX). + + + Gets a cached task for the zero Int32 result. + The integer value + A cached task for the Int32 result or null if not cached. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + Represents an asynchronous method builder. + + + A cached VoidTaskResult task used for builders that complete synchronously. + + + The generic builder object to which this non-generic instance delegates. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state. + + The builder is not initialized. + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + + Gets the for this builder. + The representing the builder's asynchronous operation. + The builder is not initialized. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + A cached task for default(TResult). + + + State related to the IAsyncStateMachine. + + + The lazily-initialized task. + Must be named m_task for debugger step-over to work correctly. + + + The lazily-initialized task completion source. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state with the specified result. + + The result to use to complete the task. + The task has already completed. + + + + Completes the builder by using either the supplied completed task, or by completing + the builder's previously accessed task using default(TResult). + + A task already completed with the value default(TResult). + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + This should only be invoked from within an asynchronous method, + and only by the debugger. + + + + + Gets a task for the specified result. This will either + be a cached or new task, never null. + + The result for which we need a task. + The completed task containing the result. + + + Gets the lazily-initialized TaskCompletionSource. + + + Gets the for this builder. + The representing the builder's asynchronous operation. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return void. + This type is intended for compiler use only. + + + + The synchronization context associated with this operation. + + + State related to the IAsyncStateMachine. + + + An object used by the debugger to uniquely identify this builder. Lazily initialized. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Registers with UnobservedTaskException to suppress exception crashing. + + + Non-zero if PreventUnobservedTaskExceptions has already been invoked. + + + Initializes a new . + The initialized . + + + Initializes the . + The synchronizationContext associated with this operation. This may be null. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument was null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + Completes the method builder successfully. + + + Faults the method builder with an exception. + The exception that is the cause of this fault. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + + + Notifies the current synchronization context that the operation completed. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger and only in a single-threaded manner. + + + + + Represents state machines generated for asynchronous methods. + This type is intended for compiler use only. + + + + Moves the state machine to its next state. + + + Configures the state machine with a heap-allocated replica. + The heap-allocated replica. + + + + Represents an awaiter used to schedule continuations when an await operation completes. + + + + + Represents an operation that will schedule continuations when the operation completes. + + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information. + + + Used with Task(of void) + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net45/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/net45/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..5ecd561ad385a0e452fa99430a8502886712fbf5 GIT binary patch literal 30272 zcmeHv30M?I6KK!u$)X4>;Dx$)AR^!{g5rUS$fbw~cm`t@SOHyjad%Pih=@njXuRXC zctuUT;t`D+jnNo2-Z91)O}r9~8jtAj8TD25^v>=A$shCH|Ni&B_eQ6t>*(&P>gt-F zo>{u~olYc#5GkCmUJt_(#I99sty(hCbEgq%c2 z*pE!`K`lVa2&n>>k%ff#+j)QIsv$(_B&P&C(FqT;8HU*a_elc)JZdZG?R;nmc`M9f zwPXX4>Q({;G_)t2PDck&HOyi#nn4hCMV-+Hq%WLKM+ZVWI-#_95A4SSb>oSQ+-pzB z6fGfclnSb~Bjh+oNUFx}ddB#Z%kMK+ovAnSV7<|OmPJ3lexmuARUb_^^CiZoeuaJB zSIjGn>|J)c?B$N{g08;n-%0kgph5i>xf4HlZ@FRGh@8ZXM^!8j8V)X;)JHW}dFbn_ z>#aM3V;V*3I_}#2?D9+V+QTD0{?~=JYqJ;M^SIq>?;F(Oob?FxQ3(!Hk;kN^Q*t)demu3G#wE(8LG`D`{|jUNXvF z2&yJV1*u4Sk(&dR|N<15~(!+OTkc*S?gml9E%=OYXd}D3y6oz+7Qu> zcGN>|ZG?n39Rv@BH4sSF#z?Qv*UsX5OZ3=45Hu^7QW%_OM`aWji1FA+5Og5-U}9NL z6c1<7fi4UWc@StR7h18DV|gfOlL8aG7KD0%GjTY_>NEk|tUw2>C zB?;yIf+a;NLTanzSe6PcOo0heTTUCJMRPDVi|sVUb|B2L9T|b?j(HHW6@ z7-uu(fi4)on0{cods!inAv`T7pc``plmmIW8KPMp{Ju*gk;sx*z7fSFRLfvhb&SFm z*aci$;N!Dc*MdSQe3onsK4yZqB3u7N`v1vcWf6}z^^t3@1Y zWW!J+mzRyA%yJ`+aVH^0&6la41{-s+D2#a<@GCaW##}5qA_9Ay0!a}f zLM&Du5vYfZEC)ScKGG98ELR3~xy(HuUmzWS0mOIRFjT%vDXZk1&F*h0Xhh%JzIdA8f!(GiiT%@j3_NU>OXL}EN103G25V~(GWTHXC?6{8Y6d@=o*irLGlq| z(N#h;NmYFXY@cU^6`N*yG>FIsUOt7XM;Vh~c3S|JW6af3YZVadw~vEdIr!z{Pxx zda?Kyivkz#;Hd2sUphO)BIO2`zk>_;`WLVPmRt7u!EE?v^FuULPDh}U`5_uBceubc z`bC4~4mY?;h(^mDu5gtQ4VOFIQP~WVXyxP$upbYY45Iq>>C(YIN_K*%oSh)*Vkd}Q zQ$i4|-<|FduQQ((Q?1JBRoR?yC|McTp>btghx(Oq9kwuT#YJjuoNb-JO?ZuC*LZeK zVAn);O~UJGan@lqm~~hSW*t_-S%;Ny)?p>yLq3XDDmVM^-g6lIQ`Ir|{G8_=w#??9 zSfq2H)f}h=lLY%@(@!i4QwS#~s=}t9SQNN8IZ;72{lucc#mR|kv*{-m1ujlbG-gV5 zIyuE6$=jRyOk-idV*USWy|*VNzvWhkccC9mX z%C7JLO8MQ`H5ISFi!&dq!_3FpF!Ql8&U~zlGaoDC%*V>Shhh}1TrL9$_ure~OL$nd z-+ya3=K$=3mNdj$P zX+SIrTuc&Z8A}6VQQ%^dKzpauq)9?7Qf`GLfjJ@=a)hTNM=&4!vm7BhN=`?(k{ls= zO78HV>+BU>B_AOcT_r?!$sJB~l@MJfcR12jLUfzl;Y?Qv(RFf%L#af$EF#e=$tW0b zJYZgmF0jvk(PBHnVHI0Li}u(hMD^_iQCmAfRE`pY8kb8duai^07gTrEy|TIOFr+fB z!>Y=-4ihWmI_#~C>oC4DuEP_ITQTF*!Hm-#CIw#8*fpJ9GuX8UyY^()UhLW%uefj1 zkNHVRLLSN~wPA)8RfUbnQ1>7?41l!{hz^HMOY91=6ZQnz2|L2If`~vE=%D$#U19Smm^2ja?VlM6U$LzkthxE9DY% z4NORN1xg=xMHOZBK5+^dC>fj$-~{)PnQ&f(GY$rB2b@tYp=HRRqQW${vBrcQSKx{U z+f!lX;?Rja7{o;n+Qt87{f4Z*V_?F;A^#H%HewArVu3aIzpMwkvIGsmx5AvaoBW^a zlHPZqOL4x~yZqm%Ll8RF*RkpJI`_U`A^h-gF(DHC2QO5qx;LM_@W0KXP{uT*wSK zjp@Z!o1q{q&0sYbS+WgQv6N=e=NK#@ngVOK*<#Gk3eog5SgiSGQ*=a_7XO84VvCHn zB8wr~WGJ#(^u`cPYEhOkKf8;eIKw>1V2aLa*-{^w9oa(Hs(FM#8`Y{o#m$mlchZCKAVcpJ?0hi@L-p`32B zC}D$%ehID(dZd#Km~imCKpG_UNP-7uk^^{<67Y^ja~9xu!0>RrsxNnU!+ig& zQFG!)-^r5@K&!(E&5>1bo`O>YC#;-E0Gw(#p=$!Ekwm~51t+LQHOC=G3t%}2hl*Jv zCp)=D@DA}Dg|{huL}5MNgO`(3z74=MNesvgrEsPM<(E=;gu*Ckh*VCz6;I@H(p0gO zlao#q>M4AO!sQh1qVP0@cPaExqI_ctJ5u`Cg7MnncQjw}OS2t*v@Ie5c|SO&w~2nUr0f}|VpRFpRuFqHIwnx61v zGYfXfB=D5Xah_xgVE*uS+M8m>DNhQchP)dL^Pw2eVLd7FrC2S%u$~_&gSMk!eDEE2 zbutF(wFgWFSS{LL9K)JWtSiN2B$8r1D5ikVSx~cn6jPB@iWw;80n-_I1r$@mOhc@Q zVl_z##YRy~Lzf?(WIVT&t4e|(8ofv}UIj3dN6Vi|-i3%9Cf&x_;S$-Ya^+8C*DIwQ zm%aK6`Y*DYylb06J3=ji`%)J9H)Z_f>8~XjCb#k@HQ;_SwuX_1aU|y`HcM&Y{Q#>T zfV^4C34Cq9>N0F5uK_HOVN3WxnBi?1_7%mj79j^^Ig%(bF&~r-lC+1B6^?_lF_JhU zqlkn|fZmhweKQ;qa*%shlE%J1LTtT6kNcL4_o>7RaU>iEW&0(=A&$~$@7PKS#F1XW zlqVz;NDY!tu`$YPk`llyPLegr2odv!h#TvIz3YO_60s8cO$PRVP!=zpO*4{!p?#1p z>2a`XH|YYHb&F`d_enqLa==!K*alLUtQWC8L_@ZV*lAc4e<5NwAwQlFF*z4PeiX4l zE}YyIvCdp8qM&!YStM6Fgo`1bA~uqXCG|vXEEi8AMC@IzGl>_m*<3f$U&NMhJ;-no zTgzpVxfGkAERlZ7<&dQU2A&^Ia>xdX9V9uDJ)D8;rr2d}vNVbeAdeXKsdPV=N2Iv! zCzrXi(m1&F8Yy;=43aD$gGe#sxyjlCHico)fEmd=CK)e1#1)V|jMqyx8*b{?1kBAO zTL8E2>l738G?BXu`#|#`vEBqF+P;@48HTp+C7ujJ+xLTPq_nV zc@RJeDFi4bMF3@FI6#j46<1D1gN%Y;YaE$Kq0sxZ3T1&(M(Kh+D`*)ZPu7+zOUTAb zDN?fSFX%F|>)&$aWZ&PEQIM}*OHxUWQTcBG^5kr}vV?qJDMd;y`~_V`e)_juIl1yT zWfbJ+*OF9{8&qBxsav${97Po=!pI6x7;ES8ttelS@>ea`qoQK1ij;rfjy;wt)~!hS zyRF$Huwn}pDX-V2J#H(uQ<3sdTDC`f#nviP{(1XKa+gL?#WpKaD)#aa>cY3i@@lZ( zQw^ShtHG0PH4*`(DsbXIFE}FrR-q*?fL?%m1MUqRZ@|0(R|BpFTn)Gya38>Z0QUjh z2XJ4&eF66c+!t^^!2JOC1Kbbr05V3hpM&*2zmOkHVKIecD4ay$3<~E{xQxQJ6n;$M zrxfm^@Gym^0G9EW0e-;$3ecO}2RMg+O3NIF6gPl#csELMBV}&KC4I;jZf5{qbh{vF z0`w~YZ@S%;1c2lti4LG#T9e9G0XQ72!)FD5fcLnD0F`_Q!1{ayz;=9FfSG(JfWt{L zz>$0g-7Ux@(^TI`TfvjXC8-h0kEA;CfvPq<+wM|L0EqYN?%a75k?E<1G30?tC2Ivw z6#F?nwBt?mD%i~xX_YB}!0`@0nQ_5^2P;eJvC8e*V^p%vp zk_dF%UD!&wTPb%dpCABYeWsC9wn-hm9z#Eu9AC-qIxi$IFg#guE+rlsCz)R7yD{d-fOfOEMq6vUY@8 z0{4jwUVT^6S4A05dCF@^2FXqTK)#)PI;+J)ev^Q2rQlmEA(VlCdGNCvKu_37=D^eL zP_7By=SdUrKMy&{3t%Mpo+mB9^E~W@RtMM-r0~}nwE=d5of}vYl6nABA&2p#JH#hX z(qM0thiGdI@J(oshyBK;0N)~^0QK;Y!;>tc1DFl5%EO*SBtSDPvw3)p&wu;L(e=soyP$jLlOX%k|cm*A;Nih-tG!;JZQv|37`uP&#UPGXObQO zXTfh7c`_Sz(RnflzDMN=>^=dU3)=By9_YoB`JfR`R>G@{YNR*ptyP1c3F5A9Cd6Si z&>!y*SwstP0Q|bD8p(q_cuz7MPEXKK0&ob8SPRtkBqKr66SNHjSPGI}laXtsv=5J^@K@vJ)h|;YrT}#^)%7 z$3ap}P6Aa;&VZzvoCQfWIS-O*asgWNA&-FWL+*j35BVJ=eaIcC>qDM^q!0N6Bz?$B zkn|0o{+Z21!5C79{;h2dL{uI)bDh zi3dqPk_eKWrQM}{r3R@*Iz~EEx=OlE`la-!^rG~xG(;9D>n_Wbjg(E2t(WbVU6cJw z79fw1=g5oY(h__QkkPjtFh$8n{Cy?fv4vOUz=HoDBcmLRZu%e@MF{Usi?DOQ4>$7R zdVs?=ROBnr8?Q$=DZL)!Wb}HHwpoSTq}RGo56DEr>T94r;`JF`pS4#X+CzFnMsLXI z4Ou@8p&#T2GJYWA2Qq#j(<6`^qjEt^E{MqmF}WZn7X)&sZxG?p9LS70eKm%7sBd=uzDe^UI?of!s>;vdLd9x0rf+OlGcxe`q+O<)=o=k2k}-6 zZ^hbe1??ie4WqYV^fs)&HqamPqZvP%@uL|(n&}hG{L`MvwP$kenOu7&*PiJO`Ge{i z!{lR_d<>J1Ve&Cd9x@H}PYm-cz5pv8-M!s|UG>){ABSi6uE0R)n7aeR&Cpe!otJMi#Mt0vWmb_*Y%z@~f=%Qb4VH9+ zWk^1}xF#{yVpDeIRb%y_g{7;ZAj@D$(HA&1DsYmaqm&}#I=T}$@z6!8-j?T}C)o@Z zz0GW?yr(4kVwN~Tu!mxAg|lmOc8y@yNOo<(t}WR$3M{gM%EscZ2Ae(y{OVA`J}8C( z%)7+?nx1sa8VC+28PF~C2%SMc&;`6=hqv{lD}elLc-!0w-ZtlgoAHgI=;9=&amfIE zKozKGvk#{IHNBPCOI`IQeXarCsh%{MWzI8zQQr5Os%76=5pADjc0649d-h;7SL+70U8 zza#VlUkt?O8;m(Fvy-;Nf-wXC0)mhlIu_*{;o}jKVHR*Y4(a*BVG<*VwHRpRMWK~h zF!${CTS-BGm|q1tT0tnW)}0bbSY-((jCqrZJ4JGs!2FsN^Ie$pDB5+P zA@vs=(LJseFuJLqTpS=|mN3c?yc8~aDV(5aIP+d}k=~rrn=^WZNROcO2u6<->5-Hk z$>=RaI;3Z4zXhYW6zMG~y(Q2gE^U-d3lt2|8;cCYY|Dc{$fo%o3T7cY6&P%J<{YB8 zWUy!bl2RP}q{fD3YfmdEq3l zImwG4d66Wq1<7kk@}f{BOi4B}$WUxgUiO;|`{W5?pJaey23x!ZZXZLj>UVX*~22&&jRjapN2MMg%x&FFNev#Z(3V9mDV(~McM zPORB9AU_xGrJ^ua2Ih% zu<6h#U!Q9-Tj73XC7ldeMY*{+HyvUE4aNqRDscZtN8}r+=4l3_ei$uT9pY?EslROb zS^1cY9bDEY6SBtvCgo1%0-6tSu>r~2gtvb~4ssl|1yx{iVK()!8Z53%K{10xtm~*( z(NgFN8aC;T#nyZ)NiQlagxIuph111FX@&s?i@}s_U}=x(jdLSWZ_0rM7$hXb;w|O^ zMzKc#ou?uKax6(RWl&wS3BFfDw;D-YPCne8J6g;`t*-7b$DsEO$6BI?tG=Si!ZZTQ zgzpZW(>nD}eztI5bh=T(3JOzVC&K_e-uvhPS_~FOhP$2KlCL+}?6+=aIJ*^*qFaIKr}VA^h|=FXK&Ih2{~8_|nOdeMYEI3oC2FacM&aGafqFObmuon+ z%)1d(<z$!+;k!!9n|dmhzTUl+t};~f^7Rz3>!nn}w}cXaN(GVPMX4k*;p#@@LP4n_3RY6O z!{(~}kjT{pT!w(-{Q)Tb!CUYLet-l#4tbmcMg#qhR1T;-Qh7Ixgi-+oIuCRS(k1R1 zDWd}cI1=DUkt40Dk%=520Z$4%8S-S+G;${%5P>TLt{k~?7vM!oG_OPPb48@YCHbZJ(CR z8GYdLP|s-x6+^o7=s(#z)=)!J@cFEWu6<9>>cElaEVYPtz_1Ln*=P-eRAV;f8jCS) z=h&HSDXm~1U4wDB-_V*PzFqUPEoQ5EfGsT5V4;f$xE<7sjnPHvbgg5CnDcXbm~b6s z$Vs*24}p6Y-dS)L3TCChg20sWDw!mMSyeI>#Gu#fc^~t*G&5(~I)e1TH1ZIDa=nXaTm0F~6WklnRPa?VA=u$37ogi1Kp;hMSp46M z6qR-Sso6rl6ze1r@MKO`GdUb4| zJQ14k!EtjHRV#S4!Vep%$f=3VR3t+~a)rb@LaD4Nd@POe=Ng$@CP$ivrNm{V!ox8x zXhPVcI~qTo4}oRE09fcnvujiowBX?*uKGLWTMLc)V%$UW!A3OpRy65FS@1kvm4ok^ z!Xm?TEyCbqCs4vG)dIh6FdFn$`y&9K7E4GCj;QF&PS$4`j7nW|tu8zw48C*HaKxQ5 zI$HFm?7V8MZf3{WB6}Nfw3hX_IxDltU-#PTbc@(`34hAW3UMm0NhLIeD>>Q(HFu(S6n$|V- zBWC8CV2iE5kdqHNE7MiCup#K(Y-^##Jg|R6c=M7d2|Dztj-$+2RA*96B z0YY+wY*K-aa*1&E296D1G_k`*-&Oa7XPy4==St(?eQ7$p#q35>08auK&wjo0ne^^U zyzR^2#9tHHukZ(S=mD!Rww_=FxO9S(gI4wMG!lmr3Z*R|jnG+}M0mr>iB@z1ORThRKFB)j?D_HWom{89`$WL_1pS7*R)EED7U@{l4~5DEto4lYXcC z+O_|Gh5ySv&;kBB0zBXmZD}o?+%0%Q;)KUlIR#%hc_?bJx1bWlcRKd@UK# zCd*Y#<(!l&ZOL=evUb|G+Uib}YFal5N6Mtj`4XZHaH=QuA%QC{eSSZ6RAikySI@01 zo0NF}?VV+%zJc0O>3nUeWK5Za=XhR?pTsY&JGJqK9S_b$K~@1wTUAtylYt7wR3k|b zDeOP=NY|;gUUEQ`YE>_ID+ar}HnU0Rsr5jjLaj(MyiLWs=eJdHqF(<$m+pe67!V zW^1y3s=Vgu!M$rvezRBA{47(8vXmF~i!asrs+Rt}XMe2lYUFq5^WGu4$rCq(*PZyo z=ytYVkH@cUk$xoRZvKw^B?UcinXYXP>}oxgGk9ygv-)upNx~iZ*5cBjpA=T7`^dCwe4fx ze)#;x;~9y&rbSOVq?qOZ;IpD@e`IT#EN%55CL^kDMox#V<34P;;Q^U)rRuX~o2%8| zwtDS`v(-P<-s2l+Jf98fQ|;3FrAyu#GfR?ObzxS`ExX>|J)`dj!zK(_XgrpD+k0D7 z0uM3DttjQHf=Ar6uzA#@P9td*txB$h(3Z&*5{b4B5N>t@ZeEyl0{aU&+%T+pm=P(D(d!6OR3E3r0%_=BAn2s?#qD|Izw&PlULOa&Q(4j*s>%w69%eHOKAp_G4LWU#3D<9wae1G8Z zv01f-Eqde27q@*6tRAL5RXsh(y$b2rKC0TJ3pq8%MUGDV^u(>3`)Gx)5({>ssmobA^3Pe(M4c$C&Y zA@*~RF@@>--shHg*|j%VGIWIL`N{an)q`}aWLNzr@3`MN-?v}$r$3FJ-8Lbv&W0oJ ze)V`_-J36GR9V_h;r3hLOw*RxHMuAK$6ViVe$uqjecv3{f7_ms@joYQeA&C{jM490 zh_Bau&e8o@%eH;h|JLFB%)v9(PVK1)X`M3b#X|YC^^>3Ez1?PKamQJ$lKyq_&D(`j zI~ILe+GBd{Z9VjmoOVKTS}r6fm7agEBhB~q$~j9r^glB118AT@PO9O^Ng4SChERBS zQc&oWk#yQt;o;$tkx@cMiV#ulm@WSi&B|q@#@a>@@Q|SDnqu<{VUthODLqaTm!8r( zJ~A94xMj?O&-y?Ax4wo59|{{a!-Xj4v|hlzf-s9=&&N?EWrS z-^%rB#&xZ7?o@m;&kjGjuS`wzp6DJsJhc6tMALw;X8a;KV!B`mwhh;~|NP+YzMT)ZoI4gZ?Rmh5(W-*+)lVL|K0)$%^Re3+ z9XQ%|(SiNvvl?|xZ{(w&_Pq9`+m90tmc;!Mnckqq&?B2J&THE0^P>11r zJSB5VR?Tk2AIkg2)NQloqkz1;1 zGlXOXsY(l}sw{3o>}w?}VN)67l7=N@Et;x&+fx&yDo9k?L^}?ts_oxPRh71Et1M$H z%S}j{y{xZBg)Kfdbz;+zqprT`JNVbUtb58&VtXFQ>>QeR?rEaej0awe#^3fnlTlW* zHfmX)(M5L-{wv~K#>y)vkB*%C(X1lvTtyvedPs}Wqwja9TV-L%6>pWMweE98QSPN@ z5sPk5eBR6d=iXVG>2b~a#jQQ`-j9wNy5&scbi7ua)-f)jSXvd+;n+&RN?2bP=U;n;AH1 z*6$%XTuna-+?jMWac$>BbQ5n}x=?LXVIDVh%;Pk(*`|qw+f4od_+rdv(8LtMM;ox; zUrg6cT5VKwU3fVBZI^J!QsE2@NA$nBr2BV^rOlQ;nKiXJd+RKCOQY#He@MEqUG1~x zqhH^@Iq2nFKhH})wYH6|wY^zc`0ZCee$g?d!M7IjLu4=2q$3+NNe}Pkt?Sxl>Z;F* zy9{2Kpg8}c(NBwuCZ71v+G+H6V}5w>+3zh@9?p!ruyK9#rJ%gIwN|gPSbN^DKKt5> z$k~>%vqSpV9U3=we3aiw>l?D2xoJ~ZZO(6YzNY)jnYJcZhBV8#=%elP!Z%heHzcKv7&cDZ>XxTPu$=0EntEw-V`nA`zo^AK7bL%hp#-3{4gjCa4 zTMbi%n&VzcWm*YboN`a4>mXdW)~P0y!s32{)?4nzo*jHSsf;!Zw*!&J<8tf8DP77p zfs^N4p7&OpH9GSLZFipw)z%b+e0XVR3W(~X%n<@WwB*36Wag%?;#+OhRX@wOz(<90V=MjyFcrF#C?s}^ZOpSh5weDKOr|5;aN zE9(4yCFRMKWk+tPSItN{RQvQa%beiB1q*9E@xPaTHuq@#SDAH=EuZpPcyIm>|62acJJ8J# zHT(YXdYyNjy4>@|$zku;$UGeB*Z<Xhh_O%fMbPCYOl*>}5eMX#B?M$MjDRy$GB_wk7pxhmVL7QclytA6MgOH1#E z=8xOvmOf3}Jhi!>p{~c|i=IE`JTxDVKl4rXUyBb&w|?_HJnPJ^wkubA8UdSE+tsBlpSz zhF_Tz(>Q?{{xH`+xVu*T~qbnB5;<(eeq`M~MZwWfC-^wBPU_V(Gi zTW$o*ef!C2^#kSh^n$dlanqM3lFkVOyc#zdux9SHZ{%Y-FMm32wO4|VTj|nqzx5dQ zl3P$GRXLt`YU6*~{$qpqT?axlmTs&&EJio<=)#}cjGeVi&u^uiqu( z)l=F2FEsA79D`pd|sZ?4#TYxgMkjw8;bTLSKAkL(&|$b5sV zuJZ9Xecor@zuJB}p!b&0X4jvNpK!E$&l`&iXB*eGNH-j zS%;(R7St=f=l)g5t`o6aetvp;)V8ZD*VrO=qXvmp!;U&p|!HEs~_r2Nk?gu~4 zUwovs`Li*NZE~+WLjv|LEZx^Q5+i@-6=WUygWN#goAv+Tjmbz~Crd7i}+EVs@QLXQ1zN0Rx z-zS1A)i;Z>yah{Y%8?u%2b`wCZT0 ziVl`vWq~CP|IT}zWwlCb{Mqu%`Hl+vrP5N4Y@T$i^OxI$hE19=pVUd~-gd+M(%iFk z_DIv;)yc+x{KJb&hc-<5vc+KK8qY_Ir3E9KbnW}&4@IHPmJbQCt@-2Ox`Qg)oZaJp zS&$pHyZ@X9=Nm8oIqpHA`_v}tm{XJVJ3leH@AjOvI(5*Lp<{w>Y`%Nw_d^#4OgC5g z{zhc?Uvi6ECG?!>+i=W`@z#>8PqqSx-DNAma0>)++-ZNsd~ zP1mQTe^q;6-*;2YgW{e(O*`}PFME4@5P8=Y`DO6Q_Md+KX`f$g#~#GZ8QEo@a@woV zXLrXhn%ebvl`GwrzZ?_))61yQbMs$JT>G}qkzU^}(Inh?YuLq3@7KF}p~Wdqx&B0I zxc`IL#O^=XW*+U;K5hH+?G5ja=zHLkf+hO1&ql~I3?Wsf)$DU1V#CKVM%^aGl!xtV zZhrhCGt_#*e64Bjk?pSrJpOI>nSEn_c(%Y>|6!wFYma>7f5CI;n2gT;qfcGA)b#X; zp*t3L{;lDWeghYb@;$${Zn4|N%NrkTSX52*hqYnepznrsyf=S$(wD81Zq6E{dAq89 L{r9Kf)gk#G_OSDa literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Runtime.xml b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Runtime.xml new file mode 100644 index 000000000..53f5bef44 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Runtime.xml @@ -0,0 +1,860 @@ + + + + System.Runtime + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Argument must be of type {0}.. + + + + + Looks up a localized string similar to The last element of an eight element tuple must be a Tuple.. + + + + + Defines methods to support the comparison of objects for structural equality. + + + + + Determines whether an object is structurally equal to the current instance. + + The object to compare with the current instance. + An object that determines whether the current instance and other are equal. + true if the two objects are equal; otherwise, false. + + + + Returns a hash code for the current instance. + + An object that computes the hash code of the current object. + The hash code for the current instance. + + + + Supports the structural comparison of collection objects. + + + + + Determines whether the current collection object precedes, occurs in the same position as, or follows another object in the sort order. + + The object to compare with the current instance. + An object that compares members of the current collection object with the corresponding members of other. + An integer that indicates the relationship of the current collection object to other. + + This instance and other are not the same type. + + + + + Encapsulates a method that has five parameters and returns a value of the type specified by the TResult parameter. + + The type of the first parameter of the method that this delegate encapsulates. + The type of the second parameter of the method that this delegate encapsulates. + The type of the third parameter of the method that this delegate encapsulates. + The type of the fourth parameter of the method that this delegate encapsulates. + The type of the fifth parameter of the method that this delegate encapsulates. + The type of the return value of the method that this delegate encapsulates. + The first parameter of the method that this delegate encapsulates. + The second parameter of the method that this delegate encapsulates. + The third parameter of the method that this delegate encapsulates. + The fourth parameter of the method that this delegate encapsulates. + The fifth parameter of the method that this delegate encapsulates. + The return value of the method that this delegate encapsulates. + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + + Helper so we can call some tuple methods recursively without knowing the underlying types. + + + + + Provides static methods for creating tuple objects. + + + + + Creates a new 1-tuple, or singleton. + + The type of the only component of the tuple. + The value of the only component of the tuple. + A tuple whose value is (item1). + + + + Creates a new 3-tuple, or pair. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + An 2-tuple (pair) whose value is (item1, item2). + + + + Creates a new 3-tuple, or triple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + An 3-tuple (triple) whose value is (item1, item2, item3). + + + + Creates a new 4-tuple, or quadruple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + An 4-tuple (quadruple) whose value is (item1, item2, item3, item4). + + + + Creates a new 5-tuple, or quintuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + An 5-tuple (quintuple) whose value is (item1, item2, item3, item4, item5). + + + + Creates a new 6-tuple, or sextuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + An 6-tuple (sextuple) whose value is (item1, item2, item3, item4, item5, item6). + + + + Creates a new 7-tuple, or septuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + An 7-tuple (septuple) whose value is (item1, item2, item3, item4, item5, item6, item7). + + + + Creates a new 8-tuple, or octuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + The type of the eighth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + The value of the eighth component of the tuple. + An 8-tuple (octuple) whose value is (item1, item2, item3, item4, item5, item6, item7, item8). + + + + Represents a 1-tuple, or singleton. + + The type of the tuple's only component. + + + + Initializes a new instance of the class. + + The value of the current tuple object's single component. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the tuple object's single component. + + + The value of the current tuple object's single component. + + + + + Represents an 2-tuple, or pair. + + The type of the first component of the tuple. + The type of the second component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Represents an 3-tuple, or triple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Represents an 4-tuple, or quadruple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Represents an 5-tuple, or quintuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Gets the value of the current tuple object's fifth component. + + + The value of the current tuple object's fifth component. + + + + + Represents an 6-tuple, or sextuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Gets the value of the current tuple object's fifth component. + + + The value of the current tuple object's fifth component. + + + + + Gets the value of the current tuple object's sixth component. + + + The value of the current tuple object's sixth component. + + + + + Represents an 7-tuple, or septuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Gets the value of the current tuple object's fifth component. + + + The value of the current tuple object's fifth component. + + + + + Gets the value of the current tuple object's sixth component. + + + The value of the current tuple object's sixth component. + + + + + Gets the value of the current tuple object's seventh component. + + + The value of the current tuple object's seventh component. + + + + + Represents an n-tuple, where n is 8 or greater. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + Any generic Tuple object that defines the types of the tuple's remaining components. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + Any generic Tuple object that contains the values of the tuple's remaining components. + + rest is not a generic Tuple object. + + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Gets the value of the current tuple object's fifth component. + + + The value of the current tuple object's fifth component. + + + + + Gets the value of the current tuple object's sixth component. + + + The value of the current tuple object's sixth component. + + + + + Gets the value of the current tuple object's seventh component. + + + The value of the current tuple object's seventh component. + + + + + Gets the current tuple object's remaining components. + + + The value of the current tuple object's remaining components. + + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.dll.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.dll.REMOVED.git-id new file mode 100644 index 000000000..eeeb938bd --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.dll.REMOVED.git-id @@ -0,0 +1 @@ +9962594785f41f62455059efef8b8007e719a054 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.xml.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.xml.REMOVED.git-id new file mode 100644 index 000000000..5db91daf8 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp71/System.Threading.Tasks.xml.REMOVED.git-id @@ -0,0 +1 @@ +6c770122e85766385d4408b770fac43f117b065a \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a79fae2ff2afd6ea5cf286d76fad081990b95883 GIT binary patch literal 12880 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 EKWEp + + + System.Runtime + + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.dll.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.dll.REMOVED.git-id new file mode 100644 index 000000000..eeeb938bd --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.dll.REMOVED.git-id @@ -0,0 +1 @@ +9962594785f41f62455059efef8b8007e719a054 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.xml.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.xml.REMOVED.git-id new file mode 100644 index 000000000..5db91daf8 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8+wp8/System.Threading.Tasks.xml.REMOVED.git-id @@ -0,0 +1 @@ +6c770122e85766385d4408b770fac43f117b065a \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a79fae2ff2afd6ea5cf286d76fad081990b95883 GIT binary patch literal 12880 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 EKWEp + + + System.Runtime + + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll.REMOVED.git-id new file mode 100644 index 000000000..eeeb938bd --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll.REMOVED.git-id @@ -0,0 +1 @@ +9962594785f41f62455059efef8b8007e719a054 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Threading.Tasks.xml.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Threading.Tasks.xml.REMOVED.git-id new file mode 100644 index 000000000..5db91daf8 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl4+win8/System.Threading.Tasks.xml.REMOVED.git-id @@ -0,0 +1 @@ +6c770122e85766385d4408b770fac43f117b065a \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a79fae2ff2afd6ea5cf286d76fad081990b95883 GIT binary patch literal 12880 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 EKWEp + + + System.Runtime + + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8ea84fcc95d9999df5b997c1c6d9bfd39b9bcf1 GIT binary patch literal 25680 zcmeIa33yXQ_dh;&Nz$fk(v3n}QVOMXBVE|EEM1|{meQ7jP$+2|+CZC>Bn8S^$|53* z$RYx2*+fwg1r%9S1QZbj#03`+Sp)=;P1ywgpP75p1@L|S{+{Q3-v96U{sK97&Y3f3 z&YU@O=FGh}%^dU`5eOk7z7HM{vK3eQ>A~Q?1~sU5Z@JB#Y<4~vyp_v17@SvTvgsP9-FR6G+=#XVaFVDS3USrpI}Be!JXx8S^ri%=Kl{`Hg8t%Yf^iL-PFd;yhO3NH5DYp2kWLpHvCxBr2i1@7tbwZHGVrun7cC{exoQgyr6ns48GyJz~J zEuY}Sya-YA!bBKA4A0>OD@RDB80HPCA`In-@T?}pFfc|iMtEF3Bi2Mj_#j>ot(2-@ z&E3T?c*x_(3Q8tkdXcn-S4{HUuhT?2IJZS@2FpH)! zPY8JE@V&#)fd}mXv!ixVN%{(;3);X$8h$+W70M?l!dgNnwL}q>7KlXysVYkFj!^Oz z2vVx37RvD9ywK2}sGy#wl$D~ki-3HXRwHCbdGn$I?xUf?1*LZwB2q-CkUa_2Vi@e8 zjuM3IaPRO~-#M5St_Ch4!cQl`7$S9AB^(;6iZI}KcBS&61A&<}JU;m1xD_D#NtkR?D1>PeJD4iuus6-Xm3$Fd1T$(iVo+ z<3xsq1<`>V4uz_0KKz;1ZqB}}$x3HG#2``Qvx(o09Y^pb!d2RG=*_QYckavmQ#kudb1(cz!6|Bfw#cq zYTgnF7#0N}`B^N+14C+f3xbqE=cu(%xYP@9;mZxzxt! zKv@G%5UtzmQRhXDS2@eOweLB1x%pCBtgq?aHyp6M64XqDZF6|!78QpYJs(8L;p|)v4RpK3nyXS zhzKrTFg2V`X+uxyHtHHmmUyDvmHc=r(UO3w2tTH|ROP5>frckq$|7B)D~*rJALW+J zP=rI5JR((}Tmsi5B$l^RieyIM)IK24ug2CDov9I~y5SnCWVQo|&GlhSmJ~nL%EOp! z$qnONY{)^>c8sn?xbkqPM)V%_bnoyWAuJJScyw42E;Y%t93*YF;b}q?OqfDR{PSlAOI2V;K53Q6dRkke9Jqea2b~ULv zJXUGzOPf;?qw`_ez(d37{Lx)Bv>j2L?aZ@J_18$wPF2fn=}cT1VN>%Vb}zfbc_Y43k}Db69_gO8mBb;1j@pTVVIZ*Y@c!zDWzRwclHj0 z&niz4+0KLn24bIqI{!chT;X5Kp!;SU=t0*OKYj@Gz@qo(*)nURo=6G2(t^W*dLlAu zH4Q~A9* zqW_T~^AlPDz3+oGgy+2{A_|FgSx{nwQ%V?fN;aoWeTmk>AF z!9*%~I*CfyQt|<6%!lSsV)PND7SbYdmzw=3NQ)+1-dlW$duy6LV}U{*oj(i>K1I8- zl*48xFprO{GdDMBosHnfQzJ&X@HQ-QHM6KhqHbXZDV!wb_D~U9TN2<>H_HD3gWtMQ9f&&}MVLFK?`H6TJEfmtF)H_&`l-d$6+Bg_Z+cseNAcq~%L4wCtv#w-AoOIgI%n*56f0nu3vzQOU}a=7GIS3TiooPaUV%gfq_xArhm#oC23Kldc>a0fUyjKBolJa}K69-H$m zNJp}Xe+L%X!M_W*m%%R>JPH_0e&V-5e}Ca!WNIppU1CR4F3?uf8C=ZZtAGMIBs>6r zr1*|p){u^32p324#r9kX*&^lx?f}fK*&_}IJO&s?E{QfyLk@YgQ)q~{XS5=QR4JBo z9C=!?8nqLZU!y!f0mBr>g;j&F$( z{Ul+eJ>LfF_J)jg=3_8tP7nl6lE6QS;1^hrrD4wEWh{-)CGI3c#xfyAOD4!ze@O8m ztLw30@T3FvoVnNoZ`5ODxRVmlO6spapGI1dUiH|Mn3b^%TS$udG0d+h=N^TLpG?BZ z9#%J>OyH*iyT!06WH$di?l5#k3tTd}A!F|fw@EVb4W;cQ&J>czu&LyPAaE&U9K&XiYk~`xN>%<{k1{u(ZGn0&!ILS?MJeNt<)^kn+_C+Jk zEb_6$$>uMMTw&M(@`PdzmqqL}Fp&i$Rk4W6Cf`V$6aQaixhgnc~z>IhhP5>=u?hw}Xj} z)k*doObQrAwf>D8Osou(v>r@qWQ=NEK;|+`(s~G4BG*x^hmap-jA~s-bP=@osZO6M z|KtoLk6|+~h6lhZC5-qhop=M;A#nn8=ZnZ+avdE}F-fDz0g*;jLV7Vw8j+D?OBgw! z?86y}ong|5hLhC{TR_^YE^x!iHw>fWi{^)uQ&Ky4Rva)D+vKFtmJ%NsqoXY&Aq0PX%^PF*4v3vz6QVekLZC;R6e~^?&vY_Z_1KnS}T(HMm&w_-9T56^uMWX+=|K( zWI1_^-^L&vI}gA2^c2X9MsgmdP)>nyiZZ9tjgI0u1{bil6!K&>pg`6$$|gqH!pa|` z7hY~F*<9*f8qrb4^F4#78^J3m^F*TDYDA~EFgbQ3vnf=8&Jzu*ZONddi3A%<4q==U zrE!@`;7A06|Ab%CB#!YnZY$9f|FImY?MfUqU_(Go9`!&bL4rnC` z8Sp5EMWKe<>Uy7VO+ImLBLp*gI?6|pmww`!C&UBR3JHKtd>6S@h}$+H1#LeS61kCX z2LY{azX=)OaTbHgn{GkkQ`|ncP?XQPMT;4XGnoA8mMWS!SND9e9SLwR6Gt&=!6eOn zA}IOp(*aA|CnJloxW9-p-N%E;IQN&uL~gG8YQP16!DNa1PQZ2U+k`3Hw^fGLhwL^>|*c;gSP>raRzZyMw10(pema57RI97TX-Ju zS>)K!$T&x!9LHd9;SH3ZBnJSK35VJ~BmfX6bilz37Bk97Rvu5ffj*U_sS>##NGe~$ zQ#h3$DO^|7v2w6LDTxdY6KQz`gCB{zxm3Qj!V46giqd;9Sf`@&9?ldFbD^-tmDaLI zM7&72&_yT^W((^CPqCAjC02^n;zvSS5TY5b=n3T)Zf93Q^&LlfS=WfMTfP z6NOkqAcLMZr7;!o!$eA9Pg)s?BPXES!?gEYD2)&ugY?|2sK@BZxdDrE(JC6S?oF^E zO)z>dqJfj%lW4%IaQ1G%=zWX^?Aa!DtD0cDfgyy-dVblY?nD!ep6(lD-f4nqa2KGV zj@}bcU>=m11t(YHKAff*JwTQdDC5EMwT*mjCtoAvYbH4( z(DC#mfg)9`pNx-}uT#iH1*K1s@u@OCRmK;|*JUz&nT)?A<1fkhd-8RsOy4QvAIkWL zz}<1{)Dz$4_%!qMX_-2?Y&dXSbRh3Ie%#+{N@xQ5`{8niaJ zhJw}>*D!qBffkNy1Za`C;**eRDXA(qb|bmfHoLJRIS^s!ExKq>eQfSJ_P#bF#%uU*B<5%hz0^b+oD2Xmd2ntFAPXL|e7FIMZk^vy>!N znaWFy)?|y-=;$=3%4|1P7^9Od6_uuPqqSZ{re(A-3tfQ0Y_v9(LbXda6qgx?#WW@- zSuEv7gSo!8ab3FE9vAyiO?^-4k7_8jr45=W{x@WY9{CniNmG7FbgtcCH)cX(li5hp zvn+Pg@M=2Vaw9b*Nl&(#?51Kv`6D${AXOsAXsar>qj#IJqNuzYeHcm%c0-~acZZ9r z>VvDuhR7Cm~jR1+{8_KJUY(DZF(&}3?a%x4Ty_%M6q|i?1ExOol zv62*Hxv>=LlRRs6Poo`g0#KMsOX(yppOP73txh(;Ul_>Ck3m%|Nrpe6B^sogZFYmX z*htc<%*DeTHHlDlw1M^_aZ0vJEQSZ!Kt#KTDD`3rOH8&(i_J(1iw%|bD!5Z2-mnA4 zdQ7%dR+B>GL%s^#Bvz?2#zZx+m@$9wGLj<8#5AN?s>~%M$5>fzC^il-*~=O!V=b+! zFq-X>snTtd2xdY_+jR4Ai#(uu<7FH0I-t>Rw3@~lOQdxMr?A=|Sx`h?Sk#V1hT@T= zZ>7;{uwzk5iAst~pc>zzN>Qe`cs3)wL#Y*iRb z95`L(B+Y86ke#-o&~B|VLZ9J=a!h}ER&qxF-1Pj^!t|`XxY)wX^emD(@F7~_Kqx7% zf15105g~PKv9Xe^nTIvT5X{A8R*Ts*4pUGc^av)5927#QgQ2y5^hCP0cd=_RO5 zF&0&omZH9wT7btFsVp$Y>h#A9gEvz7b6IyIQu_E9}=yiq(h!Yi9cgfv-z(tf3UsP>gLT+6W7IiB_wjx&ON}Id*!P_tAVfjtg zOxS*6BU#2OyVX!$PslKsORKOz8k!`QmReb6Q@@5Cdo2Pz%~der4OJ4QoQ)w5+n*WP z1m$T&$uX9iZ0MA2C6Cm~A&WZBqtY3*k=yiTrnE_WB~58yIR{N1D$Ajz5M(!+sY6NZ zX;>5%Yc*>smk~!PV=moykndZYVhv+tOju`CHu5)7E|o^WL~E(d;nOK5L#f$fL-uMz zrby#GT__DkmS}Kw95s+wQok}uCd)CF8^*GM*&5j8t&h2%-Be^MH`yCGq4X{U&5*DI zNttAfoPN*?HrWz6Te6rNMkOUQ$T{Ug97&LJjc!GSg?iklmy|MEdm3@hK$IzI(1&g! zG!>R@o?$YNBB^Gie^xq72RYeNE@$1gXePu|Owt?JVE$Y<6LRo83yX&i1*k$S{iT}3 z5Jzyd(PWgKiD=io4CWH_Br8G_A(>L&xIUplu%j6^%mXjPin3T)CW@wwNK}%P+R>cI zXvHrkM$&AHE_jy4lwqM5iKVhIbyO8BYOf~Qm@pbouy5s7RaRQ8Fj0efGYun+@}QZi zQmPTwO~uk?C+8G2$g!f_Gjx!fz?WDu4TlXG&06?TVt6G{IrV{<8TvAs*qyJ zQyNbs!ASKG@OZ#en0i-B?M}#j4V>2DfsII;*O@yg@7J zBqilTL_W+)i7QEH$T%gXbB*SbzSeB4y!wN}KN?5u!=hpcOX3{c>^~9`M`*`13&!n& zY@E7Dzba#uu|LwH0ocXTaW6qW7Ct;UN8}?3|0bJ~Mrp$v9xUWYK5u0!$=+Aazlfov zr0{P76`QW)DytRosv)eyDX8-{5UAVZumV#3s zFyxUkxpfKn%%l{wY{<9bTfurXqHH4LP%df0oeLS1&yIUMI`G{0aS`0nyXk$U|RC_biZS3F4#T#k=PXDG-sI|)RuL##-GV<}-CN`DY7xtp#rZ$zV z(zyPyBW zw3q}F(}9k`F$;Kv+ub2EkI5L>NE+p&eqlgAR0f@u3P>#nje1B4W|(*xVf$iW)Q=?F z)7x~fKHawFi}x>PY^&~nKWb6JD&jQZ()4dXSX(_;;iJ`YJcCZ6GEl1#lv<5K$8lN> zUN9ASPpyx;XAp7Lb9@k?h#FLm7J`VYo)>8`h`0xF6rtP%%JpL}&*Y>te9EXvyvG%|VpuDyX zP|qNaQCyWuCRZfrOog(J^TJJVsN4<(FM2mzrs?Wwv`IUTcakVP&nun82l%jC^D1Q^ zt#v{}xgfDQIpI+Ur;XCaD4|=FHi~xEj?-k|s_Bd?9#m-J)zFV>3-##8J1`xis3q_M zEpXfuW?E9^1f`}K71D*4@oE=j0~F5D21g4XTdZ8L(%= zcUM+LPh01);hx)t^Y=zvn)mcwVRZS_j2E8|dgsY=OTYX2$6d#le%aA0n19a2nsB>j z(d0cpkMW%MiE2#WcIRW=pZ`^H>CE}ykJkKt{%T1^yvs9u!56{4h-n4~8b7Pz@!l8q>Al?OZN7)&!OS!#x zH^%RvJJA+_R5R(~L~9w2^`g}C*Ws9G9vA?J*4DfY2C$*vU~|&(+F*B( zRjjo(*wvFQT?`igXg@xXz*ZzRn~$L80t6LS6U1rI3_cSO7~rN-&=sro0VR+PFIb_Y z5kZUJZ`F^7sqUmuaj3vbr{RFjg$4uQG&KkLAkIl8XkE1d+BOJg2nZ_4Z~<&JF;C~= z_>@Rj0LrLnjS?<&Y2y-x3)*6hI%7brfRL!I`I&;Vbb3(^pdAKcmC}*boJBXhHVQaK zsEL&dd5Qkq%Y1?R{)GCZmiY71x#JH*iiJ+~y$}?4|W;8qm zXlwp(hKe<}p~D||vERwl2_FZ+h0p~oRbq`Hl&E=40zw7M9>pv)Md2^Kugj4<-Yv1b z+%hH;2VfIY7p?$rg+yni=4B%-r)QE#`MBSezFi)Pv-NP?DCjC*<2pftyLbKl271H0 z+`#S?c~c=ehZJ3I6_PBw8%LaCqdP>$bd1*H_Y54-AZ^3J&4@f(?uXAwCZrjD$iwaw zXBdi%}O^3TR?5-R3$>tpKd29>3ON^iOJ$x5edYXl&pB$nYQE`OF z=^bwevq#9RAUz!oqDIc+eFs<#m068WkSzDMvBvek(Wiki0HlxvRohV!~Oo;PJ{vkEUiXw&8Bx zh{8@Cj4{QXVmlQ$toJuT z&#{a~_Arw2KWKyY^i_cW(1&Bf@%xXOrX5Ht5H9-&o$~d-iQNde>_mFD_s zEPutb5ag`Gkyp}BYt||cwFXda$TOv^nP&3RXQSv%^9$%?2bYvjKPu@8RO0Zo+3_zP z`7&&PH+p?Rr#U^%Vrd`M7?E^3q4F~!u^4jc`NjgRXeLd$t>C7xu{HzoUI14=iWKC( z^wdIiYMKW(&h{UFMsnoc?39MzHaItun-95GNN&ihW07-rz&8f(f=9DaVGi-`563J? zvvMoOMKkw?k^N6}h(=aV&p7lmjkJf{49F~H5~(fdiI9%66ekh-8=Ti+qknFvQ`D-fg;aPm#9OCyQXqSjFP#aXhW2JN3KWR(*{ePeT zWfsVmevh}&5pe&P4gY`paM|BD!ux6Z+UAK$=kOW5X54h+RD4}+^H`9g@t$#vi{4qO zh;SG9<_euP;M^|j)Q`dVR1oxpQE?-hp$c`0a4+YMWj^y2&H#(3#9N+3>N>H!8DUNS1h>lZPedUr}xd8u-YB^4HPNlcJFfKt?6 zkI$ZCLiEA3Uhrz(IJ+(}>T*q`^l_ywJ2_DwtM8(ZkBy1Pbr4YehP58mPnr53 z(alZoLUnWT5;OZ|=QxHU{LN7GwOp&lHscgTsO9itdM*C)KrP3SZL8DEJ@2+!Zd~cR zrNP|E!?{+)PF0j&)i0T2-G6{It1Y?w!9@Y1;Vi`)FWf%&eIk zVuNP>Fu9w3z|HBaJLc|B{N1$G^m0Z1Me~_=LNjegN=9vN`Hf-POcMNi*}$oT)8}pe z>1c;W_OuBLR{LT5jw$JN2d!K4S!1bL~XZ|YIwR@$@^~Ai+L3t%THcwmEX~T6g`;^?ioa;s`NH(113?*-Eawh>+RYNZogTcJ=1f~@| z*tKK#CS&A$#S(o>S{))b)BDzVf37*d|I5w31G&#SMaTL2zMrvF-BO=V8Cr^c^_luU zb?J3IXQYA)9VY^i8pInqR_?Qz_pkAiLO;eW}N61W{au2A1O zDlR4}Rv)8}29th}Lr2`b%F<`(dpmGFKck!6#h5W;9@hn4jQCfw?TuXq%M32Vk?_?w zFMqTt=&C#!I=qPS3EuHn*hV916d{S*}C5z z-!}fwobEl7KXRW^nY(K-x3bUn55t8q*M?K^Ah)!rtbA#t~Vn!GTf zXKLVv{m*`Sb7s)5_vgF5(pTmDTj=xVO$+_GTZL23ZTS9~d6NeXomRNzg9&M8d%ksl zV8r~%Pyd+KvfrWuyNgzA`LyujXQqNt^IxBnuZw&lYr(x`%6aQ&-71^(=|U1DQnJ9OwQMWpz8R6k|Ye?+r~B2rs@8#p`yRFFB@R9R-U>QZu3 zb*Z^oPo#B-g$H-))G4ZSVyBKVZS*0OQSb_Q?1<#|a{g@uTYPD5&&<4!3l`OUo8{8= z!xxfw_c=YRRMVczbUk(?t-WWD6E3T>bF?#ElE+1Lzue0_{L}fr2>Z>Ks$U-wvg}~d z%LhlS?tX4n@`IwDD>iRSx${$xUDNX>ov&LPnH;h#r)6x18~2yyzcQzI%y|9F>bU9F z7W;eeJJ9Cf4?{H3pKhFebzX9>o{BBwbS`JF|GsP6jZMc6cAj@PcwJX@#dN>J`_Ih~ zK8l;VrOloLgO=~v{e4lJ%-lBKhIw~eoV;|i=O;C(zjVkA={RQp#^XyOx_ngC!Q=Rp zjNq=L^?TphXtcHK)%MuOUv8Y%bNkqBU)zNf-}dppnR{aF_cLx9W`@RX?)gbw-b|l} z$SOw!bB3i9je=GC^J)9aj+*)DAygqy>3cbFgsOyp7OEaA z+5WhQ?ex%sWYNp^U}E%32j|R;m@x75P@hp3%8ITyy_=lBr=WLK*|FQbH1n@(mQTN= z{VK1n>h;bmo|;^B`IA55kL9gCb@;%97v5M7Gk%KP2__eRDTWuvU1s-P`AwW#wzyO%)wNO7BGe&?f5r zA#VpM&LxL+Tdo*A=4zW0ik|)zC(@^{_`Y`^r?lV>uT^!-cyE)_x}V;Q`0j)75%+%T z;CG!-(+hq4y7F4nn3x86{goT439aJ~3v3;x{QI}YS z*XZzecQwnK^!mFWNm`<1U;^^G+ zZY{pC9Qgd|uOsij;Olwvrzh-Fo4?n-F80!c6CWpKg?w!#KXe$NerEp$UHXkHWp8Ho znX_hRb)QkodaAy^*XE~}s%9QqXG@v&dXP7n-kKW3}a9 z^;>x6UWbL&x^G4o28~IbI=!>+VcTHEw$hwAYu+)n|K8u_{`2;Br$)EWJMOK2>eiQY zitc^>Sz%gC_WNzU&h*e9vbOUKYxQZTtgdyjU7tI+qO)>(K~{ckShyngy*}UeEk5^U zRMFMcuIJu#B7df>c=^cS*`c}T$F1vqE$vXJgw8K-9#gQ!@8vn4Yv$!A?0VC=P&n!c zHA4|<2I)O$sPN*r2ckkR;L<4eJT?!ad267DC?dI^q1P&%<+FniCn}g=YzOr;o~B#( zj>Kdg4V|^<=Ox3Qd@aWEYQm0VQF{M+Cj1>m*B~|S(p2HjMlwlk65QP1tR2=PzwHZW z+j#vI{$9ccmagxqPpwO?OPtaDp9i;kf49Q5i{aTUu;n=d83J1`eVRVS zfg`YW{+|Rkx?t#ffz(H{FZ?FysV?0nho-%C(bD7X*exS2y0f-#AmHiIhzOZUw{_$meYD)XU8{cpEsy5dA*Xl)HXD*t~y}mN?gMAU6?#8(<{_w}j zJK9iZW9Nle$F=Oe{m9Sx=MRrv+^pcU4!(uQ7X+ryjrw4Hd`iG&PoL&w$ng$?gTGkv zsq^LO?z8(=xO-)FozSk=a_f=n<@iQPnW5ff~vc;!7U-R7DDck9r z-CgyyN)_Vw?~eHGTSo7xErR|nqoV|v2$;13`6PZx67daUi$m*qW3E+ z%HRI!hhEQzPZ$~P|MSjMr}w_tFC=^Y7ss1rwf4AtWbKiR^>)2Zb5Zqm-Xfp$g)Nev z->{@WANoBRd4BxPOV6l0Zn}$0t~_&~<>zs&pML4ujnaU~zs8@N8TjkDtW_&^h2-v^ zb0_tX^WmXy9p0EEuDtzf`GV4K!+uQ5-8kd$*|43r}DlWu+Kb=~Q`+=`sdsn5OAi}da}T+_DQ@Yh~Ab5uE{_sZMT)@pis zJJ-H4?YI78?{iB7vz?|BPkq{N@0|!q+rB3%@0GWL#wNy$Ik4=fC#No0Vc@p}y1o6^ z&1LU!U$p9z_u#f-_s2RHNA!LJ(R=N`ir$Y+44Xu6&-x&Y=#6+z^i!75*cu{Ec}_oN zPL22D!taXW)rS9gdQt0Hz20|4@47YXGi(EIsJx<$|JOwQ$J~5)G?j&|Jzto$yFf_k zc>KcV^<#ecqPkxu_ja^>)ZhwNuQ$HI%-rPR++Ovl*J;_}@^}#%~V&9xzr>^As9Pj(a^JmV@8S!<^u3r{jQ?{Qj zT$mr;x>e=fKmR&2_Qhzoo2pZlJDO#^GO4iQ6FeRy%lM3d)#A*EJhg z)b96{%i6^&$22ectZPt3%i1e0pGIy!l)UNe?MoB4oL>E!y~Eb5y`w_3p`%?Aa%PVj zl$PwhW7DRMnWg()NqSII9bEIWkAC?1B<;}V`(ADpd^q_+#D(oQdL4-T>R4<|Mre4i z)`f$9&Hw$?6ED8B{|U>^DQ)da&E?U-A1HGgo(Vp?W#j(h&13TvUnNFozqxSZnz3(e zs#{#u{JZC$_Nr>tKK3;ybKT(CZ9c5~ecJxuZ!QM){cP#w^piI^qvaWwiTh0Zelh>L z_JuEE+C6aJJGkIjW{VZa?zDfodvt%_k)L_3x))O`uEfoVmvKK?v`=??pM|9KQe|~9PY1Qnb z2e18cEb6V&eF+{NF3%+&WOoVlC>i_tH@#FP;U(|*wu)~NH1g))gO}>gpKdnfbVB#% z&$l=_yS(pV|F7F;ZGS%^?AlbnSvkW>{J*eQt9S4#Zrv@M=+nm>{^_Ke(Yr2hPyNp9 zbFs|c>xt1hlg70<`Qvg^PSKCUTnE_ec6txn{+)2cdLZbV4%(v7umAeQ>5kdf_m{71 z@AHO{$3EBISU;<^Pj*@DdoSJLCp`%2c>4D9XMT%KT*W06>L$;h74F+|a_7AdD*td! z+PLWC>4<5=f3BS0s(8@+noFd+9$3J+D{Zi^8dhUZQ zhIXgp{C&!Q`gZHZoDFx@MyI7GoH-HL{B+B=x2e7ydS~C{m%{EH9d@{f-)}WG%Cb<}Ix(#0X| z=Cypocj)`>-?eu49NVrsXWH2}gEvlHK4HP-O9h?vyPpl|cJH@Y1#?^$u1K$Z#(1an zi;stXIC#nz>% literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.xml new file mode 100644 index 000000000..b47921e5d --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+sl5+win8+wp8/System.Threading.Tasks.xml @@ -0,0 +1,475 @@ + + + + System.Threading.Tasks + + + + Holds state related to the builder's IAsyncStateMachine. + This is a mutable struct. Be very delicate with it. + + + A reference to the heap-allocated state machine object associated with this builder. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument is null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + + Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method. + On first invocation, the supplied state machine will be boxed. + + Specifies the type of the method builder used. + Specifies the type of the state machine used. + The builder. + The state machine. + An Action to provide to the awaiter. + + + Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext. + + + The context with which to run MoveNext. + + + The state machine whose MoveNext method should be invoked. + + + Initializes the runner. + The context with which to run MoveNext. + + + Invokes MoveNext under the provided context. + + + Cached delegate used with ExecutionContext.Run. + + + Invokes the MoveNext method on the supplied IAsyncStateMachine. + The IAsyncStateMachine machine instance. + + + Provides a base class used to cache tasks of a specific return type. + Specifies the type of results the cached tasks return. + + + + A singleton cache for this result type. + This may be null if there are no cached tasks for this TResult. + + + + Creates a non-disposable task. + The result for the task. + The cacheable task. + + + Creates a cache. + A task cache for this result type. + + + Gets a cached task if one exists. + The result for which we want a cached task. + A cached task if one exists; otherwise, null. + + + Provides a cache for Boolean tasks. + + + A true task. + + + A false task. + + + Gets a cached task for the Boolean result. + true or false + A cached task for the Boolean result. + + + Provides a cache for zero Int32 tasks. + + + The minimum value, inclusive, for which we want a cached task. + + + The maximum value, exclusive, for which we want a cached task. + + + The cache of Task{Int32}. + + + Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX). + + + Gets a cached task for the zero Int32 result. + The integer value + A cached task for the Int32 result or null if not cached. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + Represents an asynchronous method builder. + + + A cached VoidTaskResult task used for builders that complete synchronously. + + + The generic builder object to which this non-generic instance delegates. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state. + + The builder is not initialized. + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + + Gets the for this builder. + The representing the builder's asynchronous operation. + The builder is not initialized. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + A cached task for default(TResult). + + + State related to the IAsyncStateMachine. + + + The lazily-initialized task. + Must be named m_task for debugger step-over to work correctly. + + + The lazily-initialized task completion source. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state with the specified result. + + The result to use to complete the task. + The task has already completed. + + + + Completes the builder by using either the supplied completed task, or by completing + the builder's previously accessed task using default(TResult). + + A task already completed with the value default(TResult). + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + This should only be invoked from within an asynchronous method, + and only by the debugger. + + + + + Gets a task for the specified result. This will either + be a cached or new task, never null. + + The result for which we need a task. + The completed task containing the result. + + + Gets the lazily-initialized TaskCompletionSource. + + + Gets the for this builder. + The representing the builder's asynchronous operation. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return void. + This type is intended for compiler use only. + + + + The synchronization context associated with this operation. + + + State related to the IAsyncStateMachine. + + + An object used by the debugger to uniquely identify this builder. Lazily initialized. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Registers with UnobservedTaskException to suppress exception crashing. + + + Non-zero if PreventUnobservedTaskExceptions has already been invoked. + + + Initializes a new . + The initialized . + + + Initializes the . + The synchronizationContext associated with this operation. This may be null. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument was null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + Completes the method builder successfully. + + + Faults the method builder with an exception. + The exception that is the cause of this fault. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + + + Notifies the current synchronization context that the operation completed. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger and only in a single-threaded manner. + + + + + Represents state machines generated for asynchronous methods. + This type is intended for compiler use only. + + + + Moves the state machine to its next state. + + + Configures the state machine with a heap-allocated replica. + The heap-allocated replica. + + + + Represents an awaiter used to schedule continuations when an await operation completes. + + + + + Represents an operation that will schedule continuations when the operation completes. + + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information. + + + Used with Task(of void) + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a79fae2ff2afd6ea5cf286d76fad081990b95883 GIT binary patch literal 12880 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 EKWEp + + + System.Runtime + + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8ea84fcc95d9999df5b997c1c6d9bfd39b9bcf1 GIT binary patch literal 25680 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 literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Threading.Tasks.xml new file mode 100644 index 000000000..b47921e5d --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8+wp8/System.Threading.Tasks.xml @@ -0,0 +1,475 @@ + + + + System.Threading.Tasks + + + + Holds state related to the builder's IAsyncStateMachine. + This is a mutable struct. Be very delicate with it. + + + A reference to the heap-allocated state machine object associated with this builder. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument is null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + + Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method. + On first invocation, the supplied state machine will be boxed. + + Specifies the type of the method builder used. + Specifies the type of the state machine used. + The builder. + The state machine. + An Action to provide to the awaiter. + + + Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext. + + + The context with which to run MoveNext. + + + The state machine whose MoveNext method should be invoked. + + + Initializes the runner. + The context with which to run MoveNext. + + + Invokes MoveNext under the provided context. + + + Cached delegate used with ExecutionContext.Run. + + + Invokes the MoveNext method on the supplied IAsyncStateMachine. + The IAsyncStateMachine machine instance. + + + Provides a base class used to cache tasks of a specific return type. + Specifies the type of results the cached tasks return. + + + + A singleton cache for this result type. + This may be null if there are no cached tasks for this TResult. + + + + Creates a non-disposable task. + The result for the task. + The cacheable task. + + + Creates a cache. + A task cache for this result type. + + + Gets a cached task if one exists. + The result for which we want a cached task. + A cached task if one exists; otherwise, null. + + + Provides a cache for Boolean tasks. + + + A true task. + + + A false task. + + + Gets a cached task for the Boolean result. + true or false + A cached task for the Boolean result. + + + Provides a cache for zero Int32 tasks. + + + The minimum value, inclusive, for which we want a cached task. + + + The maximum value, exclusive, for which we want a cached task. + + + The cache of Task{Int32}. + + + Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX). + + + Gets a cached task for the zero Int32 result. + The integer value + A cached task for the Int32 result or null if not cached. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + Represents an asynchronous method builder. + + + A cached VoidTaskResult task used for builders that complete synchronously. + + + The generic builder object to which this non-generic instance delegates. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state. + + The builder is not initialized. + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + + Gets the for this builder. + The representing the builder's asynchronous operation. + The builder is not initialized. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + A cached task for default(TResult). + + + State related to the IAsyncStateMachine. + + + The lazily-initialized task. + Must be named m_task for debugger step-over to work correctly. + + + The lazily-initialized task completion source. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state with the specified result. + + The result to use to complete the task. + The task has already completed. + + + + Completes the builder by using either the supplied completed task, or by completing + the builder's previously accessed task using default(TResult). + + A task already completed with the value default(TResult). + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + This should only be invoked from within an asynchronous method, + and only by the debugger. + + + + + Gets a task for the specified result. This will either + be a cached or new task, never null. + + The result for which we need a task. + The completed task containing the result. + + + Gets the lazily-initialized TaskCompletionSource. + + + Gets the for this builder. + The representing the builder's asynchronous operation. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return void. + This type is intended for compiler use only. + + + + The synchronization context associated with this operation. + + + State related to the IAsyncStateMachine. + + + An object used by the debugger to uniquely identify this builder. Lazily initialized. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Registers with UnobservedTaskException to suppress exception crashing. + + + Non-zero if PreventUnobservedTaskExceptions has already been invoked. + + + Initializes a new . + The initialized . + + + Initializes the . + The synchronizationContext associated with this operation. This may be null. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument was null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + Completes the method builder successfully. + + + Faults the method builder with an exception. + The exception that is the cause of this fault. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + + + Notifies the current synchronization context that the operation completed. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger and only in a single-threaded manner. + + + + + Represents state machines generated for asynchronous methods. + This type is intended for compiler use only. + + + + Moves the state machine to its next state. + + + Configures the state machine with a heap-allocated replica. + The heap-allocated replica. + + + + Represents an awaiter used to schedule continuations when an await operation completes. + + + + + Represents an operation that will schedule continuations when the operation completes. + + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information. + + + Used with Task(of void) + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a79fae2ff2afd6ea5cf286d76fad081990b95883 GIT binary patch literal 12880 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 EKWEp + + + System.Runtime + + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8ea84fcc95d9999df5b997c1c6d9bfd39b9bcf1 GIT binary patch literal 25680 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 literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Threading.Tasks.xml new file mode 100644 index 000000000..b47921e5d --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net40+win8/System.Threading.Tasks.xml @@ -0,0 +1,475 @@ + + + + System.Threading.Tasks + + + + Holds state related to the builder's IAsyncStateMachine. + This is a mutable struct. Be very delicate with it. + + + A reference to the heap-allocated state machine object associated with this builder. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument is null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + + Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method. + On first invocation, the supplied state machine will be boxed. + + Specifies the type of the method builder used. + Specifies the type of the state machine used. + The builder. + The state machine. + An Action to provide to the awaiter. + + + Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext. + + + The context with which to run MoveNext. + + + The state machine whose MoveNext method should be invoked. + + + Initializes the runner. + The context with which to run MoveNext. + + + Invokes MoveNext under the provided context. + + + Cached delegate used with ExecutionContext.Run. + + + Invokes the MoveNext method on the supplied IAsyncStateMachine. + The IAsyncStateMachine machine instance. + + + Provides a base class used to cache tasks of a specific return type. + Specifies the type of results the cached tasks return. + + + + A singleton cache for this result type. + This may be null if there are no cached tasks for this TResult. + + + + Creates a non-disposable task. + The result for the task. + The cacheable task. + + + Creates a cache. + A task cache for this result type. + + + Gets a cached task if one exists. + The result for which we want a cached task. + A cached task if one exists; otherwise, null. + + + Provides a cache for Boolean tasks. + + + A true task. + + + A false task. + + + Gets a cached task for the Boolean result. + true or false + A cached task for the Boolean result. + + + Provides a cache for zero Int32 tasks. + + + The minimum value, inclusive, for which we want a cached task. + + + The maximum value, exclusive, for which we want a cached task. + + + The cache of Task{Int32}. + + + Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX). + + + Gets a cached task for the zero Int32 result. + The integer value + A cached task for the Int32 result or null if not cached. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + Represents an asynchronous method builder. + + + A cached VoidTaskResult task used for builders that complete synchronously. + + + The generic builder object to which this non-generic instance delegates. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state. + + The builder is not initialized. + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + + Gets the for this builder. + The representing the builder's asynchronous operation. + The builder is not initialized. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + A cached task for default(TResult). + + + State related to the IAsyncStateMachine. + + + The lazily-initialized task. + Must be named m_task for debugger step-over to work correctly. + + + The lazily-initialized task completion source. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state with the specified result. + + The result to use to complete the task. + The task has already completed. + + + + Completes the builder by using either the supplied completed task, or by completing + the builder's previously accessed task using default(TResult). + + A task already completed with the value default(TResult). + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + This should only be invoked from within an asynchronous method, + and only by the debugger. + + + + + Gets a task for the specified result. This will either + be a cached or new task, never null. + + The result for which we need a task. + The completed task containing the result. + + + Gets the lazily-initialized TaskCompletionSource. + + + Gets the for this builder. + The representing the builder's asynchronous operation. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return void. + This type is intended for compiler use only. + + + + The synchronization context associated with this operation. + + + State related to the IAsyncStateMachine. + + + An object used by the debugger to uniquely identify this builder. Lazily initialized. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Registers with UnobservedTaskException to suppress exception crashing. + + + Non-zero if PreventUnobservedTaskExceptions has already been invoked. + + + Initializes a new . + The initialized . + + + Initializes the . + The synchronizationContext associated with this operation. This may be null. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument was null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + Completes the method builder successfully. + + + Faults the method builder with an exception. + The exception that is the cause of this fault. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + + + Notifies the current synchronization context that the operation completed. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger and only in a single-threaded manner. + + + + + Represents state machines generated for asynchronous methods. + This type is intended for compiler use only. + + + + Moves the state machine to its next state. + + + Configures the state machine with a heap-allocated replica. + The heap-allocated replica. + + + + Represents an awaiter used to schedule continuations when an await operation completes. + + + + + Represents an operation that will schedule continuations when the operation completes. + + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information. + + + Used with Task(of void) + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net45+win8+wp8/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/portable-net45+win8+wp8/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..5ecd561ad385a0e452fa99430a8502886712fbf5 GIT binary patch literal 30272 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 L{r9Kf)gk#G_OSDa literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Runtime.xml b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Runtime.xml new file mode 100644 index 000000000..53f5bef44 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Runtime.xml @@ -0,0 +1,860 @@ + + + + System.Runtime + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Argument must be of type {0}.. + + + + + Looks up a localized string similar to The last element of an eight element tuple must be a Tuple.. + + + + + Defines methods to support the comparison of objects for structural equality. + + + + + Determines whether an object is structurally equal to the current instance. + + The object to compare with the current instance. + An object that determines whether the current instance and other are equal. + true if the two objects are equal; otherwise, false. + + + + Returns a hash code for the current instance. + + An object that computes the hash code of the current object. + The hash code for the current instance. + + + + Supports the structural comparison of collection objects. + + + + + Determines whether the current collection object precedes, occurs in the same position as, or follows another object in the sort order. + + The object to compare with the current instance. + An object that compares members of the current collection object with the corresponding members of other. + An integer that indicates the relationship of the current collection object to other. + + This instance and other are not the same type. + + + + + Encapsulates a method that has five parameters and returns a value of the type specified by the TResult parameter. + + The type of the first parameter of the method that this delegate encapsulates. + The type of the second parameter of the method that this delegate encapsulates. + The type of the third parameter of the method that this delegate encapsulates. + The type of the fourth parameter of the method that this delegate encapsulates. + The type of the fifth parameter of the method that this delegate encapsulates. + The type of the return value of the method that this delegate encapsulates. + The first parameter of the method that this delegate encapsulates. + The second parameter of the method that this delegate encapsulates. + The third parameter of the method that this delegate encapsulates. + The fourth parameter of the method that this delegate encapsulates. + The fifth parameter of the method that this delegate encapsulates. + The return value of the method that this delegate encapsulates. + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + + Helper so we can call some tuple methods recursively without knowing the underlying types. + + + + + Provides static methods for creating tuple objects. + + + + + Creates a new 1-tuple, or singleton. + + The type of the only component of the tuple. + The value of the only component of the tuple. + A tuple whose value is (item1). + + + + Creates a new 3-tuple, or pair. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + An 2-tuple (pair) whose value is (item1, item2). + + + + Creates a new 3-tuple, or triple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + An 3-tuple (triple) whose value is (item1, item2, item3). + + + + Creates a new 4-tuple, or quadruple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + An 4-tuple (quadruple) whose value is (item1, item2, item3, item4). + + + + Creates a new 5-tuple, or quintuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + An 5-tuple (quintuple) whose value is (item1, item2, item3, item4, item5). + + + + Creates a new 6-tuple, or sextuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + An 6-tuple (sextuple) whose value is (item1, item2, item3, item4, item5, item6). + + + + Creates a new 7-tuple, or septuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + An 7-tuple (septuple) whose value is (item1, item2, item3, item4, item5, item6, item7). + + + + Creates a new 8-tuple, or octuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + The type of the eighth component of the tuple. + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + The value of the eighth component of the tuple. + An 8-tuple (octuple) whose value is (item1, item2, item3, item4, item5, item6, item7, item8). + + + + Represents a 1-tuple, or singleton. + + The type of the tuple's only component. + + + + Initializes a new instance of the class. + + The value of the current tuple object's single component. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the tuple object's single component. + + + The value of the current tuple object's single component. + + + + + Represents an 2-tuple, or pair. + + The type of the first component of the tuple. + The type of the second component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Represents an 3-tuple, or triple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Represents an 4-tuple, or quadruple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Represents an 5-tuple, or quintuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Gets the value of the current tuple object's fifth component. + + + The value of the current tuple object's fifth component. + + + + + Represents an 6-tuple, or sextuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Gets the value of the current tuple object's fifth component. + + + The value of the current tuple object's fifth component. + + + + + Gets the value of the current tuple object's sixth component. + + + The value of the current tuple object's sixth component. + + + + + Represents an 7-tuple, or septuple. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Gets the value of the current tuple object's fifth component. + + + The value of the current tuple object's fifth component. + + + + + Gets the value of the current tuple object's sixth component. + + + The value of the current tuple object's sixth component. + + + + + Gets the value of the current tuple object's seventh component. + + + The value of the current tuple object's seventh component. + + + + + Represents an n-tuple, where n is 8 or greater. + + The type of the first component of the tuple. + The type of the second component of the tuple. + The type of the third component of the tuple. + The type of the fourth component of the tuple. + The type of the fifth component of the tuple. + The type of the sixth component of the tuple. + The type of the seventh component of the tuple. + Any generic Tuple object that defines the types of the tuple's remaining components. + + + + Initializes a new instance of the class. + + The value of the first component of the tuple. + The value of the second component of the tuple. + The value of the third component of the tuple. + The value of the fourth component of the tuple. + The value of the fifth component of the tuple. + The value of the sixth component of the tuple. + The value of the seventh component of the tuple. + Any generic Tuple object that contains the values of the tuple's remaining components. + + rest is not a generic Tuple object. + + + + + Returns a value that indicates whether the current tuple object is equal to a specified object. + + The object to compare with this instance. + true if the current instance is equal to the specified object; otherwise, false. + + + + Calculates the hash code for the current tuple object. + + A 32-bit signed integer hash code. + + + + Returns a string that represents the value of this tuple instance. + + The string representation of this tuple object. + + + + Gets the value of the current tuple object's first component. + + + The value of the current tuple object's first component. + + + + + Gets the value of the current tuple object's second component. + + + The value of the current tuple object's second component. + + + + + Gets the value of the current tuple object's third component. + + + The value of the current tuple object's third component. + + + + + Gets the value of the current tuple object's fourth component. + + + The value of the current tuple object's fourth component. + + + + + Gets the value of the current tuple object's fifth component. + + + The value of the current tuple object's fifth component. + + + + + Gets the value of the current tuple object's sixth component. + + + The value of the current tuple object's sixth component. + + + + + Gets the value of the current tuple object's seventh component. + + + The value of the current tuple object's seventh component. + + + + + Gets the current tuple object's remaining components. + + + The value of the current tuple object's remaining components. + + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Threading.Tasks.dll.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Threading.Tasks.dll.REMOVED.git-id new file mode 100644 index 000000000..eeeb938bd --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Threading.Tasks.dll.REMOVED.git-id @@ -0,0 +1 @@ +9962594785f41f62455059efef8b8007e719a054 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Threading.Tasks.xml.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Threading.Tasks.xml.REMOVED.git-id new file mode 100644 index 000000000..5db91daf8 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4-windowsphone71/System.Threading.Tasks.xml.REMOVED.git-id @@ -0,0 +1 @@ +6c770122e85766385d4408b770fac43f117b065a \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a79fae2ff2afd6ea5cf286d76fad081990b95883 GIT binary patch literal 12880 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 EKWEp + + + System.Runtime + + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Threading.Tasks.dll.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Threading.Tasks.dll.REMOVED.git-id new file mode 100644 index 000000000..eeeb938bd --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Threading.Tasks.dll.REMOVED.git-id @@ -0,0 +1 @@ +9962594785f41f62455059efef8b8007e719a054 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Threading.Tasks.xml.REMOVED.git-id b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Threading.Tasks.xml.REMOVED.git-id new file mode 100644 index 000000000..5db91daf8 --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl4/System.Threading.Tasks.xml.REMOVED.git-id @@ -0,0 +1 @@ +6c770122e85766385d4408b770fac43f117b065a \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Runtime.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..a79fae2ff2afd6ea5cf286d76fad081990b95883 GIT binary patch literal 12880 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 EKWEp + + + System.Runtime + + + + Defines a provider for progress updates. + The type of progress update value. + + + Reports a progress update. + The value of the updated progress. + + + Identities the async state machine type for this method. + + + Identities the state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + Gets the type that implements the state machine. + + + Initializes the attribute. + The type that implements the state machine. + + + + Allows you to obtain the method or property name of the caller to the method. + + + + + Allows you to obtain the line number in the source file at which the method is called. + + + + + Allows you to obtain the full path of the source file that contains the caller. + This is the file path at the time of compile. + + + + Identities the iterator state machine type for this method. + + + Initializes the attribute. + The type that implements the state machine. + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8ea84fcc95d9999df5b997c1c6d9bfd39b9bcf1 GIT binary patch literal 25680 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 literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Threading.Tasks.xml new file mode 100644 index 000000000..b47921e5d --- /dev/null +++ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/sl5/System.Threading.Tasks.xml @@ -0,0 +1,475 @@ + + + + System.Threading.Tasks + + + + Holds state related to the builder's IAsyncStateMachine. + This is a mutable struct. Be very delicate with it. + + + A reference to the heap-allocated state machine object associated with this builder. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument is null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + + Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method. + On first invocation, the supplied state machine will be boxed. + + Specifies the type of the method builder used. + Specifies the type of the state machine used. + The builder. + The state machine. + An Action to provide to the awaiter. + + + Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext. + + + The context with which to run MoveNext. + + + The state machine whose MoveNext method should be invoked. + + + Initializes the runner. + The context with which to run MoveNext. + + + Invokes MoveNext under the provided context. + + + Cached delegate used with ExecutionContext.Run. + + + Invokes the MoveNext method on the supplied IAsyncStateMachine. + The IAsyncStateMachine machine instance. + + + Provides a base class used to cache tasks of a specific return type. + Specifies the type of results the cached tasks return. + + + + A singleton cache for this result type. + This may be null if there are no cached tasks for this TResult. + + + + Creates a non-disposable task. + The result for the task. + The cacheable task. + + + Creates a cache. + A task cache for this result type. + + + Gets a cached task if one exists. + The result for which we want a cached task. + A cached task if one exists; otherwise, null. + + + Provides a cache for Boolean tasks. + + + A true task. + + + A false task. + + + Gets a cached task for the Boolean result. + true or false + A cached task for the Boolean result. + + + Provides a cache for zero Int32 tasks. + + + The minimum value, inclusive, for which we want a cached task. + + + The maximum value, exclusive, for which we want a cached task. + + + The cache of Task{Int32}. + + + Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX). + + + Gets a cached task for the zero Int32 result. + The integer value + A cached task for the Int32 result or null if not cached. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + Represents an asynchronous method builder. + + + A cached VoidTaskResult task used for builders that complete synchronously. + + + The generic builder object to which this non-generic instance delegates. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state. + + The builder is not initialized. + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + + Gets the for this builder. + The representing the builder's asynchronous operation. + The builder is not initialized. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return . + This type is intended for compiler use only. + + + AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value. + Prior to being copied, one of its Task, SetResult, or SetException members must be accessed, + or else the copies may end up building distinct Task instances. + + + + A cached task for default(TResult). + + + State related to the IAsyncStateMachine. + + + The lazily-initialized task. + Must be named m_task for debugger step-over to work correctly. + + + The lazily-initialized task completion source. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Initializes a new . + The initialized . + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Completes the in the + RanToCompletion state with the specified result. + + The result to use to complete the task. + The task has already completed. + + + + Completes the builder by using either the supplied completed task, or by completing + the builder's previously accessed task using default(TResult). + + A task already completed with the value default(TResult). + The task has already completed. + + + + Completes the in the + Faulted state with the specified exception. + + The to use to fault the task. + The argument is null (Nothing in Visual Basic). + The task has already completed. + + + + Called by the debugger to request notification when the first wait operation + (await, Wait, Result, etc.) on this builder's task completes. + + + true to enable notification; false to disable a previously set notification. + + + This should only be invoked from within an asynchronous method, + and only by the debugger. + + + + + Gets a task for the specified result. This will either + be a cached or new task, never null. + + The result for which we need a task. + The completed task containing the result. + + + Gets the lazily-initialized TaskCompletionSource. + + + Gets the for this builder. + The representing the builder's asynchronous operation. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger, and only in a single-threaded manner + when no other threads are in the middle of accessing this property or this.Task. + + + + + Provides a builder for asynchronous methods that return void. + This type is intended for compiler use only. + + + + The synchronization context associated with this operation. + + + State related to the IAsyncStateMachine. + + + An object used by the debugger to uniquely identify this builder. Lazily initialized. + + + Temporary support for disabling crashing if tasks go unobserved. + + + Registers with UnobservedTaskException to suppress exception crashing. + + + Non-zero if PreventUnobservedTaskExceptions has already been invoked. + + + Initializes a new . + The initialized . + + + Initializes the . + The synchronizationContext associated with this operation. This may be null. + + + Initiates the builder's execution with the associated state machine. + Specifies the type of the state machine. + The state machine instance, passed by reference. + The argument was null (Nothing in Visual Basic). + + + Associates the builder with the state machine it represents. + The heap-allocated state machine object. + The argument was null (Nothing in Visual Basic). + The builder is incorrectly initialized. + + + Perform any initialization necessary prior to lifting the builder to the heap. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + + Schedules the specified state machine to be pushed forward when the specified awaiter completes. + + Specifies the type of the awaiter. + Specifies the type of the state machine. + The awaiter. + The state machine. + + + Completes the method builder successfully. + + + Faults the method builder with an exception. + The exception that is the cause of this fault. + The argument is null (Nothing in Visual Basic). + The builder is not initialized. + + + Notifies the current synchronization context that the operation completed. + + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + This property lazily instantiates the ID in a non-thread-safe manner. + It must only be used by the debugger and only in a single-threaded manner. + + + + + Represents state machines generated for asynchronous methods. + This type is intended for compiler use only. + + + + Moves the state machine to its next state. + + + Configures the state machine with a heap-allocated replica. + The heap-allocated replica. + + + + Represents an awaiter used to schedule continuations when an await operation completes. + + + + + Represents an operation that will schedule continuations when the operation completes. + + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + + + Schedules the continuation action to be invoked when the instance completes. + The action to invoke when the operation completes. + The argument is null (Nothing in Visual Basic). + Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information. + + + Used with Task(of void) + + + diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/win8/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/win8/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.1.0.16-rc/lib/wp8/_._ b/src/packages/Microsoft.Bcl.1.0.16-rc/lib/wp8/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/License.rtf.REMOVED.git-id b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/License.rtf.REMOVED.git-id new file mode 100644 index 000000000..8185ccb31 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/License.rtf.REMOVED.git-id @@ -0,0 +1 @@ +bbb92174d8581c8d4488c9bf9adad8a19468bb02 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/Microsoft.Bcl.Async.1.0.14-rc.nupkg.REMOVED.git-id b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/Microsoft.Bcl.Async.1.0.14-rc.nupkg.REMOVED.git-id new file mode 100644 index 000000000..c87c54077 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/Microsoft.Bcl.Async.1.0.14-rc.nupkg.REMOVED.git-id @@ -0,0 +1 @@ +5758724dea24c0cf57ec902add6f5f6302655f96 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/Microsoft.Bcl.Async.1.0.14-rc.nuspec b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/Microsoft.Bcl.Async.1.0.14-rc.nuspec new file mode 100644 index 000000000..af299caee --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/Microsoft.Bcl.Async.1.0.14-rc.nuspec @@ -0,0 +1,39 @@ + + + + Microsoft.Bcl.Async + 1.0.14-rc + Async for .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5 and 8 + Microsoft + Microsoft + http://go.microsoft.com/fwlink/?LinkID=262007&clcid=0x409 + true + This package enables Visual Studio 2012 projects targeting .NET Framework 4 (with KB2468871), Silverlight 4 and 5, and Windows Phone 7.5 (including any portable library combinations) to use the new 'async' and 'await' keywords. This package also includes Task-based extension methods that allow using some of the existing asynchronous APIs with the new language keywords. Windows Phone 8 projects can use this package to get access to async extension methods for the networking types. + +This package is not supported in Visual Studio 2010, and is only required for projects targeting .NET Framework 4.5 or .NET for Windows Store apps when consuming a library that uses this package. For known issues, please see: http://blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx. + Enables usage of the 'async' and 'await' keywords from projects targeting .NET Framework 4 (with KB2468871), Silverlight 4 and 5, and Windows Phone 7.5 and 8. + + Copyright © Microsoft Corporation + + BCL Microsoft System Async Await Asynchronous + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/ReleaseNotes.txt b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/ReleaseNotes.txt new file mode 100644 index 000000000..6099fc6be --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/ReleaseNotes.txt @@ -0,0 +1,18 @@ +Changes in 1.0.14-rc +- Changed: Moved to latest Microsoft.Bcl package (1.0.16-rc). + +Changes in 1.0.13-beta +- Fixed: ConfigureAwait(false) still continue on captured context when using Async Targeting Pack (http://connect.microsoft.com/VisualStudio/feedback/details/767008/configureawait-false-still-continue-on-captured-context-when-using-async-targeting-pack) +- Fixed: Silverlight 4 projects now get Microsoft.Threading.Tasks.Extensions.Silverlight +- Added: Package now references System.Net.dll automatically for .NET 4.0 projects so that networking extension methods work out of the box. +- Changed: Moved types in Microsoft.Threading.Tasks from System.* to Microsoft.* namespace to prevent name conflicts +- Changed: Package now includes Microsoft.Threading.Tasks for .NET 4.5, Windows Store apps and Windows Phone 8 projects to enable the consumption of custom awaiters. +- Changed: Microsoft.Bcl dependency is now not included for .NET 4.5, Windows Store apps and Windows Phone 8 projects because it is not needed. + +Changes in 1.0.12-beta + +- Fixed: TypeLoadException when using Async for WP7.5 version 1.0.11-beta (https://connect.microsoft.com/VisualStudio/feedback/details/768521/system-typeloadexception-when-using-async-for-wp7-5-version-1-0-11-beta) + +Changes in 1.0.11-beta + +- Initial release \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b1590ecf2af3ea1b0e41260104c7ad1b70fafc2 GIT binary patch literal 38032 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 literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.xml new file mode 100644 index 000000000..6fad7c97a --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.Desktop.xml @@ -0,0 +1,684 @@ + + + + Microsoft.Threading.Tasks.Extensions.Desktop + + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + + Provides asynchronous wrappers for .NET Framework operations. + + + Provides asynchronous wrappers for .NET Framework operations. + + + + Downloads the resource with the specified URI as a string, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded string. + + + Downloads the resource with the specified URI as a string, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded string. + + + Opens a readable stream for the data downloaded from a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a readable stream for the data downloaded from a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + The HTTP method that should be used to open the stream. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + The HTTP method that should be used to open the stream. + A Task that contains the opened stream. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Converts a path to a Uri using the WebClient's logic. + Based on WebClient's private GetUri method. + + + Converts a path to a Uri using the WebClient's logic. + Based on WebClient's private GetUri method. + + + Downloads the resource with the specified URI as a byte array, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded data. + + + Downloads the resource with the specified URI as a byte array, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded data. + + + Downloads the resource with the specified URI to a local file, asynchronously. + The WebClient. + The URI from which to download data. + The name of the local file that is to receive the data. + A Task that contains the downloaded data. + + + Downloads the resource with the specified URI to a local file, asynchronously. + The WebClient. + The URI from which to download data. + The name of the local file that is to receive the data. + A Task that contains the downloaded data. + + + Uploads data to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads a file to the specified resource, asynchronously. + The WebClient. + The URI to which the file should be uploaded. + A path to the file to upload. + A Task containing the data in the response from the upload. + + + Uploads a file to the specified resource, asynchronously. + The WebClient. + The URI to which the file should be uploaded. + A path to the file to upload. + A Task containing the data in the response from the upload. + + + Uploads a file to the specified resource, asynchronously. + The WebClient. + The URI to which the file should be uploaded. + The HTTP method that should be used to upload the file. + A path to the file to upload. + A Task containing the data in the response from the upload. + + + Uploads a file to the specified resource, asynchronously. + The WebClient. + The URI to which the file should be uploaded. + The HTTP method that should be used to upload the file. + A path to the file to upload. + A Task containing the data in the response from the upload. + + + Causes an online announcement (Hello) message to be sent asynchronously with the specified endpoint discovery metadata and user-defined state. The specified is called when the operation completes. + Task instance. + The endpoint discovery metadata. + The source. + + + Causes an offline announcement (Bye) message to be sent asynchronously with the specified endpoint discovery metadata and user-defined state. The specified is called when the operation completes. + Task instance. + The endpoint discovery metadata. + The source. + + + Begins asynchronously retrieving an incoming request. + Task object that indicates the status of the asynchronous operation. + A Win32 function call failed. Check the exception's property to determine the cause of the exception. + This object has not been started or is currently stopped. + This object is closed. + The source. + + + Starts an asynchronous request for the client's X.509 v.3 certificate. + Task that indicates the status of the operation. + The source. + + + Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. This method does not block. + Task object indicating the status of the asynchronous operation. + The authentication failed. You can use this object to retry the authentication. + The authentication failed. You can use this object to retry the authentication. + This object has been closed. + Authentication has already occurred.- or -This stream was used previously to attempt authentication as the server. You cannot use the stream to retry authentication as the client. + The source. + + + Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. The authentication process uses the specified credentials. This method does not block. + Task object indicating the status of the asynchronous operation. + The that is used to establish the identity of the client. + The Service Principal Name (SPN) that uniquely identifies the server to authenticate. + is null.- or - is null. + The authentication failed. You can use this object to retry the authentication. + The authentication failed. You can use this object to retry the authentication. + This object has been closed. + Authentication has already occurred.- or -This stream was used previously to attempt authentication as the server. You cannot use the stream to retry authentication as the client. + The source. + + + Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. The authentication process uses the specified credentials and channel binding. This method does not block. + Task object indicating the status of the asynchronous operation. + The that is used to establish the identity of the client. + The that is used for extended protection. + The Service Principal Name (SPN) that uniquely identifies the server to authenticate. + is null.- or - is null. + The authentication failed. You can use this object to retry the authentication. + The authentication failed. You can use this object to retry the authentication. + Authentication has already occurred.- or -This stream was used previously to attempt authentication as the server. You cannot use the stream to retry authentication as the client. + This object has been closed. + The source. + + + Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. This method does not block. + Task object indicating the status of the asynchronous operation. + The authentication failed. You can use this object to retry the authentication. + The authentication failed. You can use this object to retry the authentication. + This object has been closed. + Windows 95 and Windows 98 are not supported. + The source. + + + Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. The authentication process uses the specified extended protection policy. This method does not block. + Task object indicating the status of the asynchronous operation. + The that is used for extended protection. + The and on the extended protection policy passed in the parameter are both null. + The authentication failed. You can use this object to retry the authentication. + The authentication failed. You can use this object to retry the authentication. + Windows 95 and Windows 98 are not supported. + This object has been closed. + The source. + + + Called by servers to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. The authentication process uses the specified server credentials and authentication options. This method does not block. + Task object indicating the status of the asynchronous operation. + The that is used to establish the identity of the client. + One of the values, indicating the security services for the stream. + One of the values, indicating how the server can use the client's credentials to access resources. + is null. + must be , , or , + The authentication failed. You can use this object to retry the authentication. + The authentication failed. You can use this object to retry the authentication. + This object has been closed. + Authentication has already occurred.- or -This stream was used previously to attempt authentication as the client. You cannot use the stream to retry authentication as the server. + Windows 95 and Windows 98 are not supported. + The source. + + + Called by clients to begin an asynchronous operation to authenticate the server and optionally the client. + Task object that indicates the status of the asynchronous operation. + The name of the server that shares this . + is null. + The authentication failed and left this object in an unusable state. + Authentication has already occurred.-or-Server authentication using this was tried previously.-or- Authentication is already in progress. + This object has been closed. + The source. + + + Called by servers to begin an asynchronous operation to authenticate the client and optionally the server in a client-server connection. + Task object indicating the status of the asynchronous operation. + The X509Certificate used to authenticate the server. + is null. + The authentication failed and left this object in an unusable state. + Authentication has already occurred.-or-Client authentication using this was tried previously.-or- Authentication is already in progress. + This object has been closed. + The method is not supported on Windows 95, Windows 98, or Windows Millennium. + The source. + + + Starts an asynchronous request for a remote host connection. The host is specified by a host name and a port number. + Task that represents the asynchronous connection. + The name of the remote host. + The port number of the remote host. + is null. + The has been closed. + This method is valid for sockets in the or families. + The port number is not valid. + The is ing. + + The source. + + + Starts an asynchronous request for a remote host connection. The host is specified by an and a port number. + Task that represents the asynchronous connection. + The of the remote host. + The port number of the remote host. + is null. + An error occurred when attempting to access the socket. See the Remarks section for more information. + The has been closed. + The is not in the socket family. + The port number is not valid. + The length of is zero. + The is ing. + + The source. + + + Starts an asynchronous request for a remote host connection. The host is specified by an array and a port number. + Task that represents the asynchronous connections. + At least one , designating the remote host. + The port number of the remote host. + is null. + An error occurred when attempting to access the socket. See the Remarks section for more information. + The has been closed. + This method is valid for sockets that use or . + The port number is not valid. + The length of is zero. + The is ing. + + The source. + + + Starts an asynchronous operation to accept an incoming connection attempt. + Task that represents the asynchronous creation of the . + An error occurred while attempting to access the socket. See the Remarks section for more information. + The has been closed. + + The source. + + + Starts an asynchronous operation to accept an incoming connection attempt. + Task that represents the asynchronous creation of the . + An error occurred while attempting to access the socket. See the Remarks section for more information. + The has been closed. + + The source. + + + Sends a datagram to a destination asynchronously. The destination is specified by a . + Task object that represents the asynchronous send. + A array that contains the data to be sent. + The number of bytes to send. + The that represents the destination for the data. + The source. + + + Sends a datagram to a remote host asynchronously. The destination was specified previously by a call to . + Task object that represents the asynchronous send. + A array that contains the data to be sent. + The number of bytes to send. + The source. + + + Sends a datagram to a remote host asynchronously. The destination was specified previously by a call to . + Task object that represents the asynchronous send. + A array that contains the data to be sent. + The number of bytes to send. + The host name. + The host name. + The source. + + + Starts an asynchronous request to retrieve the stable unicast IP address table on the local computer. + Task that represents the asynchronous request. + This method is not implemented on the platform. This method uses the native NotifyStableUnicastIpAddressTable function that is supported on Windows Vista and later. + The call to the native NotifyStableUnicastIpAddressTable function failed. + The source. + + + Opens the connection asynchronously. + The source. + Task that represents the asynchronous request. + + + Opens the connection asynchronously. + The source. + The cancellation token. + Task that represents the asynchronous request. + + + Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this , given a callback procedure and state information. + Task that can be used to poll or wait for results, or both; this value is also needed when invoking , which returns the number of affected rows. + Any error that occurred while executing the command text. + The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this . + 2 + The source. + + + Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this , given a callback procedure and state information. + Task that can be used to poll or wait for results, or both; this value is also needed when invoking , which returns the number of affected rows. + Any error that occurred while executing the command text. + The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this . + 2 + The cancellation token. + The source. + + + Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this and returns results as an object, using a callback procedure. + Task that can be used to poll, wait for results, or both; this value is also needed when the is called, which returns the results of the command as XML. + Any error that occurred while executing the command text. + The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this . + 2 + The source. + + + Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this and returns results as an object, using a callback procedure. + Task that can be used to poll, wait for results, or both; this value is also needed when the is called, which returns the results of the command as XML. + Any error that occurred while executing the command text. + The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this . + 2 + The cancellation token. + The source. + + + Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this and retrieves one or more result sets from the server, given a callback procedure and state information. + Task that can be used to poll, wait for results, or both; this value is also needed when invoking , which returns a instance which can be used to retrieve the returned rows. + Any error that occurred while executing the command text. + The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this . + 2 + The source. + + + Initiates the asynchronous execution of the Transact-SQL statement or stored procedure that is described by this and retrieves one or more result sets from the server, given a callback procedure and state information. + Task that can be used to poll, wait for results, or both; this value is also needed when invoking , which returns a instance which can be used to retrieve the returned rows. + Any error that occurred while executing the command text. + The name/value pair "Asynchronous Processing=true" was not included within the connection string defining the connection for this . + 2 + The cancellation token. + The source. + + + Starts an asynchronous method call that returns a . + The metadata. + The source. + + + Starts an asynchronous method call that returns a using the specified address, callback, asynchronous state, and download mechanism. + The metadata obtained from the specified . + The address of the metadata. + The value to use when downloading the metadata. + The source. + + + Starts an asynchronous method call that returns a using the specified address, callback, and asynchronous state. + The metadata obtained from the specified . + The address of the metadata. + The source. + + + + Begins an asynchronous find operation with the specified criteria. + + The discovery client. + The criteria for finding services. + A Task that represents the asynchronous operation. + + + + Begins an asynchronous resolve operation with the specified criteria. + + The discovery client. + The criteria for matching a service endpoint. + A Task that represents the asynchronous operation. + + + + Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. + + The Ping. + An IPAddress that identifies the computer that is the destination for the ICMP echo message. + A task that represents the asynchronous operation. + + + + Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. + + The Ping. + + A String that identifies the computer that is the destination for the ICMP echo message. + The value specified for this parameter can be a host name or a string representation of an IP address. + + A task that represents the asynchronous operation. + + + + Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. + + The Ping. + An IPAddress that identifies the computer that is the destination for the ICMP echo message. + + An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) + to wait for the ICMP echo reply message. + + A task that represents the asynchronous operation. + + + + Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. + + The Ping. + + A String that identifies the computer that is the destination for the ICMP echo message. + The value specified for this parameter can be a host name or a string representation of an IP address. + + + An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) + to wait for the ICMP echo reply message. + + A task that represents the asynchronous operation. + + + + Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. + + The Ping. + An IPAddress that identifies the computer that is the destination for the ICMP echo message. + + An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) + to wait for the ICMP echo reply message. + + + A Byte array that contains data to be sent with the ICMP echo message and returned + in the ICMP echo reply message. The array cannot contain more than 65,500 bytes. + + A task that represents the asynchronous operation. + + + + Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. + + The Ping. + + A String that identifies the computer that is the destination for the ICMP echo message. + The value specified for this parameter can be a host name or a string representation of an IP address. + + + An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) + to wait for the ICMP echo reply message. + + + A Byte array that contains data to be sent with the ICMP echo message and returned + in the ICMP echo reply message. The array cannot contain more than 65,500 bytes. + + A task that represents the asynchronous operation. + + + + Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. + + The Ping. + An IPAddress that identifies the computer that is the destination for the ICMP echo message. + + An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) + to wait for the ICMP echo reply message. + + + A Byte array that contains data to be sent with the ICMP echo message and returned + in the ICMP echo reply message. The array cannot contain more than 65,500 bytes. + + A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet. + A task that represents the asynchronous operation. + + + + Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message. + + The Ping. + + A String that identifies the computer that is the destination for the ICMP echo message. + The value specified for this parameter can be a host name or a string representation of an IP address. + + + An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) + to wait for the ICMP echo reply message. + + + A Byte array that contains data to be sent with the ICMP echo message and returned + in the ICMP echo reply message. The array cannot contain more than 65,500 bytes. + + A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet. + A task that represents the asynchronous operation. + + + The core implementation of SendTaskAsync. + The Ping. + A user-defined object stored in the resulting Task. + + A delegate that initiates the asynchronous send. + The provided TaskCompletionSource must be passed as the user-supplied state to the actual Ping.SendAsync method. + + + + + Sends an e-mail message asynchronously. + The client. + A String that contains the address information of the message sender. + A String that contains the address that the message is sent to. + A String that contains the subject line for the message. + A String that contains the message body. + A Task that represents the asynchronous send. + + + Sends an e-mail message asynchronously. + The client. + A MailMessage that contains the message to send. + A Task that represents the asynchronous send. + + + The core implementation of SendTaskAsync. + The client. + The user-supplied state. + + A delegate that initiates the asynchronous send. + The provided TaskCompletionSource must be passed as the user-supplied state to the actual SmtpClient.SendAsync method. + + + + + Provides asynchronous wrappers for the class. + + + Asynchronously returns the Internet Protocol (IP) addresses for the specified host. + The host name or IP address to resolve. + An array of type System.Net.IPAddress that holds the IP addresses for the host specified. + + + Asynchronously resolves an IP address to an System.Net.IPHostEntry instance. + The IP address to resolve. + An System.Net.IPHostEntry instance that contains address information about the host. + + + Asynchronously resolves an IP address to an System.Net.IPHostEntry instance. + The host name or IP address to resolve. + An System.Net.IPHostEntry instance that contains address information about the host. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..883cc940441a8d4e50fb6534995f4b53c037cea3 GIT binary patch literal 22144 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›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 + + + Microsoft.Threading.Tasks.Extensions + + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + + Provides asynchronous wrappers for .NET Framework operations. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The cancellation token. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + The cancellation token. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads a maximum of count characters from the reader asynchronously and writes + the data to buffer, beginning at index. + + + When the operation completes, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The maximum number of characters to read. If the end of the stream is reached + before count of characters is read into buffer, the current method returns. + + The place in buffer at which to begin writing. + the source reader. + A Task that represents the asynchronous operation. + + + + Reads asynchronously a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + The source reader. + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + The position in buffer at which to begin writing. + The maximum number of characters to read. + A Task that represents the asynchronous operation. + + + + Reads a line of characters from the reader and returns the string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + + Reads all characters from the current position to the end of the TextReader + and returns them as one string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + Writes a string asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + Writes a line terminator asynchronously to a text stream. + The writer. + A Task representing the asynchronous write. + + + Writes a string followed by a line terminator asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char followed by a line terminator asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying device. + + The writer. + A Task representing the asynchronous flush. + + + Starts an asynchronous request for a web resource. + Task that represents the asynchronous request. + The stream is already in use by a previous call to . + + The source. + + + Starts an asynchronous request for a object to use to write data. + Task that represents the asynchronous request. + The property is GET and the application writes to the stream. + The stream is being used by a previous call to . + No write stream is available. + + The source. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 zcmeHv34BvU*Z16;bO-hmiWo?VB0)i~E z2`z%S0J5nlilU%wiXe&`C|A}hwb&Hv<)vvOiSD0DNCqb(o2HWi&fdNwe5eQK zK}bJPR3g>86jwdI)%X(P%gVf{HziR0+2>tA&{vJ*Fs@NEDJ%WoaFtL>!e>_rA%kh5 z8sc3-faeiX+6>n^LOgMqGMbQJT>th*?^2yLQ33Dk);QK-n&<%TPl>2wV};)CA3Y(X zVr_O?5r|B;Y7_)~Gw^l$^ulz-+Dv6uFj8Hq&eR4Z2Vb{OFG6~|p{#fvXFRpbno4ng4>)g2P zr+z(Ma(CAUcc)dQ#a-LqV&%AP4!$s={`6MWi`f;uXXSr8V8&4OH~P(I`fZx?YU?h) z-P_PBu=3vd{9h7epG^v%`{whfbC!>dytKP)$&2fT6t$m`@Xp?2yFQKVxS;%czjgKd z+O!Md!~F@-M0yxF@|dI}KN%A#w+4VN7Q>5SM}Bg1N(}_{j4bR7i6k8JlR)Ctn#f=V z&d;DAV<3YgL~Dng1dYH?rHusEG)Axoq46YHKsyf`cq;5oC>pK;r{F)8_9+PWg;JpQ zrl|1`2(W{w5o?%E;g~T&U`1Jg6{0m^k%agecoKzvF@;(mE*x&B8KV&b#>A@y{euS& zrjLnp?~fPE;pkn69K^?X*tArS7HBbvw}&@M4MAn(u!neMR5PIwa!blB;Gfg5_eBHq z;i0H$8zY2GQ(&M|TLI%IQ|N!63%t+yhbtkF=kE)xL9@33nA#Q~(#D5};VOf!7_U=T z*;GuHhK*fDA~1Ft#?DX12s9eOLn#XfP2+$;ntSq7C{?ATgO1V&%7kyx3^r@L9qjlo z+eM>2mOlEUN?;hY0}mlari=~}$HY&jy36Kc@in)CT@%@gmsw+ILF${%7Yw15ZKOPq zK}C6pqCAz+N~K_p1w|FDQt^Vd9c>wFhm&clsre$~c?V{W3x`7qlm3K2ZgY&S6jw;r z%A$M8rlBB@(fZ#P;BW%7Z8aq^I?wbw(?io_0hQ>X4CL1`zlGliT5$!c-NS!aF9jtL-74sfZ(T zUOrVrnd14$6tyC}Xd<&jM8;31b>T3D&?rr66b@qxkzIN8+7ZpCcA_%SE4x0@YiHD= z*DjO^0x0V0l_Kbs*139pgf>!a#Cnz5ccsDxJv=^y3^p)&6}#xlPo{`0NR<8%3T4i`>))mUMa(Rr* zKT5&k<5X%8aM4S2l2owvK?k3B(=qf#DK>&v#&~Px_k}T3yL6B|l;Kn#JvFPSQ$L_# zk@6TNLm~Zf5HzBLM0XNL3A2f#Z0{N+B~7D1(v*n}6r>>vOjvANUM2RAL5Tf(sv7zi ztYY81T4XA7GI^;RnB0}5@royYupjdY<|k(wookg!oNMZ{)ZQA{nVC%^MEeU5n~4vM zWTR$%-RB|^kseu%84yAjJiWSBBSqX+qdSUaPEl!@vsP@G)4AuUKEwk$>B#*6AFLK3 zQWHq^r1~Pspt+WI8U`v4$8IHPbVL@8Y9aEU)JM^J_;6r2)?ZXLZ47;xA;Ynt5CYj; z@-oR6;o5XSA_IDfdYA$GR+NhY?khxgY+h+(b;n5+XI=D{2&$k))%i>^(L-HI+f_<(keD}^L#5F|vmnTBv9u8|>V zU>^)(H6<~+%nqU^l8+IlAyt$|D(ypoPo-Ka*$D0jVC8a3f12#bmCE}<1r>r#v>~-) zH8c&9v(ye94?}fyh|-4>V!Y5~oU>nz5I&rWr>0S|7QB=JDksw}t@)_Mv^d~-&BGDW zS>(gs(L5aSC@L~c=5HMdmaxdD`DsWS#9={W!CnAzH6<~6xJI082b`_Bbrh94O~xa6 zfNMwDjljd<$Wh_2WR$g-Ni5{U5uT#JgU+MuqbU!1j&db|V!kyQ_6HyAALt?T3iOjl zMXR;)Rh}wq30g$^=!lB#C*iQO5T#LBODUNT^3ckIhR`UgUTBX0NQe#+tca_cz&LMy z@)#5Z>sY|BNM*E_NU)YMoS$5dEB0>6WVHZ9vKU>D7%m>t9CsbiNU%==*TX?thmnN|G@q4Qr$|bnv*zJ&kA?|`Qd3bWvreNd(8sA4 z45PJA2eEOzs!=nw20+p)%wN1LN>sI2AZ zheMQo7HV)8W}S^|m|$gA1)mtJF#;B=;gg8fqL0F%X{^@DD!X9qYW|eI3DLfSbq?)t zE8QXVxdRb=R-Dc zUqICnbI1&gn|@@`YPoeGtxf3ZEf+WAj&kc$phT;A>mppkqT0x8QF_h zSeKwATKgMzPrzf>QwNZaRJJoCr1vKgz%h7jpk^8ZqP(q#j)X5oTZZxe)@3N4!M-ji z!q(6Kh`qwrZ*ejaaLIME1_@*PEkv^7tU! zk@4+g4Y3J^ggCeby>ml^Atzz*)^PY<7|0?xUF%$j&1@;bnkVEFOhN^kw;q^FdO>+C z8PdAXz;t*q=?^>w(X@5%GHW4a#)rr72CsX~Lk(vnciJXU;G>a7D3G7Ii=04i0cuDSo|fAH zdXrfG1;p&WfC4FGlrp{^wToDJC0_xa7Xbxwp0&EcV1SJBq{^tAA*@W~7dai74d_k2 zRn((=LqTiX3rz(b=`B$D;{ug48T?o1rPY_(v(|UKuRvb$T?4pP z`;=B7IXcQ?(oqRh0qHC=0LYOV-2TBa;US`L`;yKiiD62@fo&wIgon`R$iZW$1EZYY zq#Et!F-$=M7`BSMfI0zwr$*gD@*UB_-&Y-3>Ad2BD8rglt&$7Gpj-=>=rt4bbU;aKy}YSD?Y&nj1QMZ|iM7?=XFj0FAEDZ> z6o|L#C}4zYD%M$q>OEC(C=5xKlPCCQ7~N7A7K$^sBNDcjkAQv7x-bKJyd`1V_+B_& z@NOka*~a&UXS9{Dcle?3jK?JG1HJ(Hc?82|H95r>(QF+b8KGE-3;TdO&6m>*j@5m@ zJ>VS}l@s%jO^1)hxk(8m<6PJ>ci4`#> zC6Tmem?$NY#xG1vs_BIle#H?81KJ2axw&*dKfj35a%bDrLFkU4|_tg+j0_kCexV zbrzwEY!F%G!ct{}2_NgM%aaWu^vsj?XA#V@p=6DOjTdTU!^nOKs}UB+hLdj?wwNpw zo(5)QS}!JLJ_Xn#-e8(7CSJb&$`Rx@2^-*>sw^OvB&@(UPiZ6>?P!1EtQ3;r3|mgN z3F~Bq z_~&v@MrnXNNpVq}<&jEXU!IgQdIca)Ca^MnfWecQ50z!)Nl@g3a$>(@a5aM>=cDjB zR{J6#Pj<5MJ_bd)2&slneca0j7^eu`>F(u+c{uFmRJVp!9HIQ~kY}|r$r>W3sMTSw z22OW5?&T9q8ihRhl9jKx;J-r==c@ra+fs_N{40~(IOLIyP;DEpbd@&xtGg9=cKWSBceP!i2;<6u7Glq2&f=wfE+TS1~?LBr=N(kxsTcKAcJCAq>Hu{ z%d~fn^haVsA%Z|5SEU&_akH$40l(S&AUiR3iD9l1Wu z`NpxfhtSL8ihWG06E9L1L?7b*r2nj57sO)^+^ox(Eb6qax2ksY4RxdG&$=QMDB z>RCi?pj9y_KYKo*m`ncfoTs=A%0<~?^i_n{OG>;qD)O1;D~a8EyF$&+^L|ai@h^G5 zrBIXI-p3S8`4irsDT*1-0P=_T1@KgRyrw8){Zh_ofx=!w9N)xe1cT!QYSmM+Ec+dp;XMIpVWLNaCrS`K;|y#=nM* zaf8^FU*KD=9KbL2U7*~|cn0u$eAg>?Ns=%6Ud9-I1AGh5doC;YW7X_e9wpw|yMR=a z{p?=gB&^}5`iAN74Wpcw%9Q_Csg_3gKbT~W57FkT&NB_=937V&<1HedfF*?EhiO-< z@_l!E9Ype8AnfXz= zBt<^_@EIYW=`#*?-mdP#k%+>FJ{ku~mV%Dxl^y`OSym6N(vV(m+??Jb}ko3&@ieXw8#0 zXpcPwcdmGr>TwVN$Ry~ zd9`Q@Pv}g?^}B4khVDdkml8=FIYTQ@tAIx02V}T-V}TN0OAU;d+3~Qhtc*5%BC{^u54`2)D=^suzHNNJ<4Y*Gc^n@cqDH zn#4?Nab=mQ2gx)S*{pW!Xh&>bsm)|8#tCt3p3y$m9$Q>iMv^8N&5qQG4wJ=hwp#2Y z*=ljvj71KTTV;2c%41W^#uAIw?l2eGW1V$&(x1LEX|mf>$D1sUzD7%NnaMUPuAwUz z1Bg!ET!)cLAxZWsOHr=LHr`xhvOBxUskAuE?x*ng*~$wmj*m_R7%>Hu7BWz-Bco63qC`ffla&eVy{aXe&VCdW0FJdDtmX|xzi z&`z?is{!m{H4|eqp7<<3+3)57S?7&ZqXE#uJ*Nl&7#7yB&I7BP2XxQFQ9E3sYqhhhIZuzrJ|FQT$80Z+twc|!qr!K zftl$et%HWuk&H$qreb0&E-rAI-AS{V%B|x~kC3x1Ii?CLMlQLBYq}Eidc;aq(nTDT ztJ4(IXd|Y@Ii}Q!MWzZigYYox1ZF8LMN@^*W^&b~S#3Ec2d&2liymDVn4a&gUoAfnZ>td`u$B19oOVMc;E+(>R3ro&Hc7GoJftjV&v`XJ)Sncxg- z5mNv%(k*3X3!*GZxBq389p+|h3gZqNRpgCo~>9(78ba;woxw$WYf&bmMW5FvzAL!$$})wFxwqeR&jBE zEA|+N84I*(pk;#1SW#grc3INSTDr%P20hCwtQNGyc4oqM#a6k~bZq;9`Rvk!rWz|6 z6eTHUwtS7Ys!xR~Uyg-GmT$SOua1Sermj}`G3E{~dG1WX!< z;XR1w#41MMax5pjlwwDeKzH!XN)tg?6@!vZ44jAxbiX8aY=|aeaxGMc(FTWdt}4)p zqyTd)f=!urh+irEIoOiXn0Z!3l}7Y2;>Qe0Hk+}kAwt`oD@hyz=)%`~pk zY%^sV9Yv+YMBQ4N#7c_|ffR{=O^P$b!R$EJROOr?=k`0uWTP1b_4_eZGE-RY#(X@*VB?kdyA}iS&*riEk z26UJU&1GhXn;Bi{V?%?#Ogc$okD`Kt6tleoaVojYXvb^biEfEPkHUfi14*Y0Ry)h| z#G*5skWw9q*bqTTR%IFNGTLM_VSTs)OC!Oxp^ilX*ETNh%q*toSsli*OmkV8*>0js z9g#wc(X^Ka0ixMVHWom!n2Q?>K(~hEN*lCs(3mXdV&E?{BZ9O2gyu7d{>-LqPexoo zAfc%R(j1oOBsT2bqFs`6+a&hrQc#d=EGk8B7OSPI+*)Zz%801r>?WQ()DE#4Nq)mX z|BjFZl2n2epQexvd_lSMrN@Q?MQ~ zj8)jz8q6f(kDIY4Q;SJqhi+K(cA?VFs8W#*Lfnj42z1*%7*~UuR8qPHds+kOFY|;) z{n1G5MI^D2-Cvx7zp6?2%Qo%*vIegI7yWb~NYsqw22y}09Dl_WPyUuabozU2MSqX2 zm`y<%b|b5;iW%O$jEu#^7;>qD;{MadSfu1soIUsu-LA4(V8tCEHX}!tX#!z)B7IB_ zc9kLyEsI+Zy=R~pO)(@2brZT>A~E`tM2Th^Y<85gE?oi2j_i}>9*@p?heuPY9Jcj| zc_k@w*hnHvuBaPe;#_4cH&@v}@@!SPuI*Dq#OQ{l&ivBup5^3V<27M>73)yb+vMUF zyO#_|hw5BmZm}Kr%f+T7WTsViGb~wIfwa$#aKLhshEk8Bgg zNF$v((43QwrBE_y8ol#*$iPmUT5;nm%}PT!aCwN76hG2ioI&c$Qbju&-C#6&r^>QI zXU_X*+XR=YV(U1UVcdosE8eqAU|YPO{eH{MQ@K*XbA455I!zq zTF0}FXeg&~mSum~Us#eU*)Y{+!%cT4k~@0yol0+pNa{ocW0!{wq&ct)YoLpnAbTOv zrx@>VAvWL{bUCg>?I4J>WGr5VE=9>git$dP3GX|Ro_YB7n2G4&Rw9QUI4$YHWd&7F zs!&g_MZn8R1#9U5tr+ikkfxMsLA@EU5-n+oQb_e14WdOgtYDym%5k-`QX%V_c4Q$j z_`)EPi1Dn(3KjLJiNnJqJ!+`pdUVj36gnU~Q{2IZU;(Gt-h@XgK{Y=wU2+(b%m+Rti)pZC~ z=s8XoClhpCl<2lQxsk$!EP?xGpl?mE5v?C}b z*As0U2#nwb9$N6Mw{%%J;UQNW4LKSx(t-F9UZp1@jrK_?XzfQhju*UpG`Poq#q(IV z5qJgwom6<{p^MO^!#+UMVIN+mBD^?0saI`c_3nlq|7STQodgUIL!uXLCi55ODFM0x z@D45Y6L&ll?{w-SXr(T~leQ9z+Dt#{X)aEw^rzM$O`8c*!mzAoZClo}wyic3ZUHL2 zqPB%D0zET%EkZ~Ov8B}WK-Bv;R0ik^X{@!>PX<>&06D&{l7uWmR<@9v=~THGUzCJ`i+$oHpRM=2E?>Gg=IT?k@5;uP&B$2!bjXfw7gv4x**E)6uR77u zFO*;8VN1MSy=?mavlD!u`an4$JK|Ej_tQTruAaXX`tHVSmu?j2XLv5z_wvf{5rxq& znW9_V`MkShgf-^EjcFra@!7w;dsy&1U9zc(zWm)K?K6j+Sb}w1j&G=1FXwdC9|fya z7!Mr0xo03Dga{u7@H~;fV8o* zMl9>{Xpb-=?1~TwbrLBs$TXbFn~I@}TI@@%fysjmoZRWsY<)LW>LR2C7K1*R)#--e zzN}-|5(>ee4xs+b%LQ#s3+RL*LMCQHNoNB6DfJv`;N%F=%x(f~o30yzW^}!!;HB_} zg9V(8OtM=D5cz=*p^tG_; zIuG_jAFfp&%#;iEbSJ?u!QKcI&K3wSN-XIRqKiONI$|~K-4?MZgf#Kx;Zp;-5R4lT zgFyv+lEbf~Xg&OtLwm7ONeuyv5=DxxCdS*XYt$(;l!IIIoB)YOd zEXD=1I)XWwM8Pj~oD_5~g=Wkrgo|DAZ4JEGD<{>uRfcfR-W3|m8?RDAb} zk~$76vT#z?@N|yDFA}0+vr_Z=<8cu^D2tYkM7z_U3Pt1m zaWoE7yGz&3ogu;7-*qM{9l&Mbh}NG9(L1H+b1MsRTI|IURUCeC6bD(zs5zp=vm+c0 znv8bm0WF`CjGyx0w;H`G&1JDlWkg7oQLtPe?1g{=h1F+i)*Ys+HR2C(#4^ ze26BbJxAKT_oCjlqV>3~!?Q1TD<7-ZW3+m9kZadt;o^C*sTj$9GmZo_+5$iC;z(0h z)x!_F@y-I>ABmD9yb1ZS3RjBL0$#7f2hFLK0|(=L0LK`vn?-g8XJ?JU<@~!pv~e(q zD@Nnnm+q)3x#bCqf1BvrGUG+g^S7G!HmA}yMP2im8SMG(JLI?ToR7bblW(SXQ01m# zGj6x?|5D@FB723+I;NmYr^5Iy@g0luohJP278S*X=<@%%&o?CvD&41LeFN@Za{g@} zcN!rDaEp|(vP`2{dhTs9u{Ree*Mqi@CB6#s=SKgF{eNKr`YSQ^d&25J4_6GDh%t}Q zDIbXwx9jxNh9&1Eq;~+VqU5 zJ$q};X`w;j#6waynQ=G>G2j~qPFkX$d~CBEvnDu4CWoGFQOnrb80bM0 zJIR9lVm7{PiI>hi9iP)i6l14pjp*?A$C=0Gv_JZ=qQ6Sar^C&HjrqsFl1=b_Dt!a; z&oUpL(Z=R8k+n;LC8#aR;lX9FxE`zL&)(3`mL8aiz5sLm@8|z@3yczf5AWOg|Mh|X z@Aw+C0Q(!4JWmX@&4vo<$XR`7-SXm;d|hp`ejugs92e(dPz#DEZyDcAK@1s!CQ9Js zTx}~)z=Gi8O$ZGR}<0mHc%?Pin z4QOYmm9I3^%4+IlIQQoL5}@R>AqyVcy8GrAoe}YX8N6JIaSEtV#Wa!)lnZ|Rz}z@L zgH`~d^3x19+Dq{YhQn%!^EG%=qS8;9V=6AkD+h5QhG0t3_%(jJ6W7`hO6z5Q&0O~b zxPdA*>FHqyr0V-8CmBM5yyD^wT@3BxjPJGJ7O%noa8Mh^Be7g{>jW!-C4^<9e(n;940`Qtfl+rWeG4vCJNH)m^n$egdI_izlpHFHD9 z+`~!N%)8BN%LiStoZk_aX+K^(Zdc3CjZe%Wq1Q@>%ov{j)UIzo?eO`LFAeK*|Cls( z)e}*#hn6@_{$t{6#@Q>DPKi8La=Gc=FW)TsDKV?ZRQ}4%>8~8~dA(-ZuXiuqTHJTf zQ{CquR4xg=`F7>`KZ^7b>$==b%Ih4GSKMpY6EAhzdXvmQ=XIxkhfk|lH@&#^^Po2j z*ZJ0Z-#cT6`h2%#-P%z#OJo^ds|%a%+_U_x#lxPTIBWdsvX3&Z>R#>K2S0}(+;g>@ z7c8PS_`$R-+R8l*8bJluRw$G*nV|(Gddmal{$~b!)BKl^eu|#D;C*kszta@GSh2#; zl2*5tH!%cO`ybI>I(%YR;1KRmr`UwRz&A2hX<8ZvQHGZCY(u8u@w)W7KC@Cw9gd2w z?b;RD%3{l1Z;<2Bal4AKW=d^`n^XFRlf51M4~_@7gU1yZI>#i$#l#!p46$G`40Gzp zaq=ufhM}JmH}JE1NL@^rFrl$7Otyb2+u`mqSY~h;jzn&__4B*$hfSJM*lgmO;Ro(r z4cNbFqTlhL+;9(1(z|D8pSj-@H+`bR^uBK#yE18R{YTj^ez)hRKEC&ZzM4JP_jpD? z-F5AQua+MxK2~!tVbl8)mzI=bcE|gvpk>pQOzT3Xj{U_&#vn?i>Bg0V5J_e>;6?VxQC&TMs|^;jK9#Ki*&L zxh`9&{weHf%g&`ux!((FE^hs5?o-o;jeMfu)xA^FF7$cj{*b7}(`SE^)^fnIqwg2i zzxrXpl|$zIaf@GEFi0QWHEYSe)xuL-=KWqet=pSby_a-J|Lv2JS1T6ut~^jXa8dJD z2O1Ha-bZkH*)2Flb&2o0Z^xm&H(4}|ddO;q3I8ntAe4C=f>V=*;6&fHioql1@`{H; z6ON49v(SWCg-FFvL(R_r7R??CO^+Gc!t)WSLM+MVic*tJpOTxZPtDEhnrujGACq9{ z+%X348h4IsYiLawWq!epj!1gV>0gGj=U+2;%S>DQ51Tc1=DNQ1A&1`md1ShB=64m# zr|f;Bps+v)`}D~!dz!S`82j{=FCL%Mwb?7HXKXziUnb+*+}i z|7Ksoz0TFYcbPt-_;9EEZUcsom|5^~NbueEdkZdv53I;rv-|24GB9m;_=@mB8E0?2 zscyQwrf;O-;H?CG*+ujFJ5Ro!b<7ab>Ew!>lP|VT-LW-4DLs2vVd)ZQC{x2y3b&}W zu}MO1&t;?PlLN0U{NR-nQE#pt^2wi~R_pe^f0>h3q4}xT-SKyKMs0h)!%iPVo*1*lZ})yD>7^qdzO-~hr|ZRC&K~&e_Q%SPUq0XVx_Rr#v~%}I$0we8=0JSt zou8YvtsCjtJ6fC2wRXn6pIYqP`|;upi`$NS<7L~nwXd8%MhfRvytunx|M@?+YgN4Q zgciikJ=JBj;bK})lZ$t1?+o>r^wtYr_k$nE zo-EptspDH`$LyT>M7MMGeJ&jfFw`pELKxd1hB1vXA*>mTUU3f@%TU0wDUJH+u(?Zq zi7w`v2FkES#Wkf#o*Pl^+QH&t4ESScbRD;8SjRbdCtRP5{l+{RzkzX>^huR?pAx@_ zsbUF~!O%G&EE_JG7i@gH z>hW=_`zXJ<*Y?|IE9V@0$(}O(RL$2n-~OfJhC}(O-@LM=`*-1`&otY#(PkfXBWUUQ zdmWbA>OLP|5HcZk#>~!vpV)^h-Ym&kuyKdE-B(RL?mz8_I5)ms-f4fs(BDriD7<&% zP(fN;|2H15a6yD$2vzOyhhKWk8Jc%&l!^~X7{=)3Hcj?)-E`reQHqRzRl_a*{9A>GZLX@ zn8AmJ3O|l}AXgY4rXr)Vk!lq**=xesFX7JN>ys5j>j(wmfGbLtyJ`NHe53aRj!` z|4v||3x=*2NPRR7<2f?4OONScX|G(d_Szo*>X<9u?JO^(-?~yz`BO%>m{ZAHJnkR4 z9256k>!VZpuc!_kvAKJ@j5pW6Flf#96?=B?`n~Gabla^SKPF8-eAY9_d}QMqeasz? z{`&`g6!U$*6K_>qe8FqIY~!HscF%i!@Gr}Hueova+Rxw5YS}(<_n=kRb6d}h+)x|5 z(9#)y;knzMlJe$_hge*W8!?Wigm zl(K%nN4GCOH)PQ1)qHA7yMkZ8+Iq4!-txzWWq#+cm@mG#K6>xLC|_^W!j)hDw*HPT zOl|7C^v0x?{q`I`JLu9U6PGv1Khz2~Z^j%{+ezWZGzN;0_4Sss?)TImRn)j6ryLIfj5{+YH$Dd-_1s(js z)=BrPb$en-?d_Z$3laiNA>Q*&`<^NO)%tPT$xnkWSM8VY`t)w}w=L(b-K@Fm_gJqj z=Wm~VaeCSw<)}WUQN6OZ^}d?*)6Vf#UufE^%Y&=qTAuUHJAI-4?u9!1~@ZHs^zv}b% zyBlf+CF1urXZ#KO^1`}Vo-53C%}y8o7sPdCYGD2OOxNeI#=m)%UizU`rM-}k0i92{p>HlmIO!tG5O-07C&Chdaiz7>)gW& z?xY@5e=_owPqy`zufP3#*^-h|;oqd?ZkzSVh48f4$2QN(9+=~KUKV|K%%VjG%j}y& z4bR@0_W3hAFNHoc?e`OYH&w6amgnqBU9_$*>DOnp_OXc3FFbSpQ=z8c`rA)z()RIJ z*RFfwr-2jibE{hPSIs28hP0nvKhrvG&;FRab+3d>Op2RuboIC0W-O^U@~^h=+WyC_ z)jPP4TRool;I`uZ_w*jl=>0OH_ojaqy&Fvo{}jD_T|pSp8}XbNYF5zL+FD+-$WXJO z+P|^zTVJ%n_}`vh)cRI!39Ro|w{c5`eaNp$zgW}%n5f^#Da50xENt!j%)IyWWhos` zU*5H4!q*>H4anrS$2!IhFZc9&`QyElpV}RJQn!A7dExHC{E;lZU;mY-C-pivc+V?C zRt2AJ!OhydXW}nUesZ-N_w%{EPiYhf7xX=MJvZQV_RCM7zqnw`XVv?DSo(|5Zl>(= z;>b3wD(?Q{kMk2(#(LdSo~wAPN!GIq$7*cLcGq`VQxbDvfcKAu`8@+yJgM(_PT4H} z_R+Y0P5HyQAdSEGiLd-u{FeB}=pj2}+FiUobJo!TgDyQ=v9xS+myDDDsCwt6CX)&y zuB~4k(O#I)tng6xkn)zb*F8Rr-g7K@=Y`u>r@s3Ah8G+ic4r+J*IE}g-Xk$*{n_%4ZLEwZ2{Rm_yM1JU;ZD)wTN`%X@A6nC^4y#~XK9>iwR7=cPW^b=G_H z;>&j2|8~H^`K=F)e*4)LvvtLM_n23PKDGON=!I9e9WL56F;8(aDYpOSrQ0@6e0gWx z^2%mkK0Vv7vQ@kI7gUzI;q%+RQ+Mr&!=ayF3CTXR>gV+DZgD2-T#u;-%?E$5{J80v zkK-a9cpn&^|3zl=`Y-OZTiY{sVBpw8e$U;DtCerZsl*l>%o?!V{&Q!cjUUxEoD|p9 z9H!}-bfT=5#d*4&6U%WJ+i;HT5$A1iuMMEdptGSo4#}YWtJW8+gZ55ZVcAt$_s1Gp z-I4I7hB0m;Jmc~W!|D>NyZ+Z7+|@U$Zt_=2oBKYC<5YPqM|N%BS*KSAuViyAzl(X7rm`n_J(SGUbi4w)C#&=0EoJ zE0HZ;*mjyHpG99u={2Ww!0~j`u{C>UJl7;CU`WKb!-jtHu5R~bpI@8hqkZ(iU(T$X>b_|BN$>q?VmU)gzm@9;URM$Y@b*_~vWaC_zc z=(bHlPOY8v^7BVlB)y@ly_z`m$sdkJjH`*PxDa*i^0bS0_fD%maAwrIUXOhw3;w1! zuzl0_>TCIMLoMH?VWxz*S{}EWyq5Xq!v9zn{dxIgqlL5D<5Bud6bBj|!e##fJf={$t7!&XDdg<*~-F*e;sMJ?Ndu_k{ zdoN*8d6Dkhv?~{f{#MXsZ9w|9s0*9N?Q0S>Z4fsk^s^%$j#AeRyxO*dD(&*iUDwq2 z-PWcH|6|M9Yvxo1eR)SQd-jYb)}xBo&P@BX_^Tsj%FTUq_slJsetdi2wVo++x?OH} zruuO4gpCPJj(9D|vVFhwkKK!g6qk%n8W801#LDI7P6xjVST>Uj_q}!H<6jqjG`q9U zjY<1zLk?HUuid@+YR)tBj($|vWsJA&?wB3j&Uj4v`-I-W5Js_a!f$SgZ4mn<*nDtvW%6>QQR>WO+(kf(h UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net40/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net45/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net45/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 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 UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net45/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net45/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/net45/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..883cc940441a8d4e50fb6534995f4b53c037cea3 GIT binary patch literal 22144 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›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 + + + Microsoft.Threading.Tasks.Extensions + + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + + Provides asynchronous wrappers for .NET Framework operations. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The cancellation token. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + The cancellation token. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads a maximum of count characters from the reader asynchronously and writes + the data to buffer, beginning at index. + + + When the operation completes, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The maximum number of characters to read. If the end of the stream is reached + before count of characters is read into buffer, the current method returns. + + The place in buffer at which to begin writing. + the source reader. + A Task that represents the asynchronous operation. + + + + Reads asynchronously a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + The source reader. + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + The position in buffer at which to begin writing. + The maximum number of characters to read. + A Task that represents the asynchronous operation. + + + + Reads a line of characters from the reader and returns the string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + + Reads all characters from the current position to the end of the TextReader + and returns them as one string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + Writes a string asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + Writes a line terminator asynchronously to a text stream. + The writer. + A Task representing the asynchronous write. + + + Writes a string followed by a line terminator asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char followed by a line terminator asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying device. + + The writer. + A Task representing the asynchronous flush. + + + Starts an asynchronous request for a web resource. + Task that represents the asynchronous request. + The stream is already in use by a previous call to . + + The source. + + + Starts an asynchronous request for a object to use to write data. + Task that represents the asynchronous request. + The property is GET and the application writes to the stream. + The stream is being used by a previous call to . + No write stream is available. + + The source. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 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 UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net40+sl4+win8+wp71/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..883cc940441a8d4e50fb6534995f4b53c037cea3 GIT binary patch literal 22144 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›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 + + + Microsoft.Threading.Tasks.Extensions + + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + + Provides asynchronous wrappers for .NET Framework operations. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The cancellation token. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + The cancellation token. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads a maximum of count characters from the reader asynchronously and writes + the data to buffer, beginning at index. + + + When the operation completes, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The maximum number of characters to read. If the end of the stream is reached + before count of characters is read into buffer, the current method returns. + + The place in buffer at which to begin writing. + the source reader. + A Task that represents the asynchronous operation. + + + + Reads asynchronously a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + The source reader. + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + The position in buffer at which to begin writing. + The maximum number of characters to read. + A Task that represents the asynchronous operation. + + + + Reads a line of characters from the reader and returns the string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + + Reads all characters from the current position to the end of the TextReader + and returns them as one string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + Writes a string asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + Writes a line terminator asynchronously to a text stream. + The writer. + A Task representing the asynchronous write. + + + Writes a string followed by a line terminator asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char followed by a line terminator asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying device. + + The writer. + A Task representing the asynchronous flush. + + + Starts an asynchronous request for a web resource. + Task that represents the asynchronous request. + The stream is already in use by a previous call to . + + The source. + + + Starts an asynchronous request for a object to use to write data. + Task that represents the asynchronous request. + The property is GET and the application writes to the stream. + The stream is being used by a previous call to . + No write stream is available. + + The source. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 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 UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8+wp8/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 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 UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/portable-net45+win8/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.Phone.dll new file mode 100644 index 0000000000000000000000000000000000000000..f4e02a1ece055f4358d8c3463019cf7ce05977a4 GIT binary patch literal 19592 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 + + + Microsoft.Threading.Tasks.Extensions.Phone + + + + + Provides asynchronous wrappers for .NET Framework operations. + + + Provides asynchronous wrappers for .NET Framework operations. + + + + Downloads the resource with the specified URI as a string, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded string. + + + Downloads the resource with the specified URI as a string, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded string. + + + Opens a readable stream for the data downloaded from a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a readable stream for the data downloaded from a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + The HTTP method that should be used to open the stream. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + The HTTP method that should be used to open the stream. + A Task that contains the opened stream. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Converts a path to a Uri using the WebClient's logic. + Based on WebClient's private GetUri method. + + + Converts a path to a Uri using the WebClient's logic. + Based on WebClient's private GetUri method. + + + Asynchronously invokes an Action on the Dispatcher. + The Dispatcher. + The action to invoke. + A Task that represents the execution of the action. + + + Asynchronously invokes an Action on the Dispatcher. + The Dispatcher. + The function to invoke. + A Task that represents the execution of the function. + + + Used with Task(of void) + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..883cc940441a8d4e50fb6534995f4b53c037cea3 GIT binary patch literal 22144 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›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 + + + Microsoft.Threading.Tasks.Extensions + + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + + Provides asynchronous wrappers for .NET Framework operations. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The cancellation token. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + The cancellation token. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads a maximum of count characters from the reader asynchronously and writes + the data to buffer, beginning at index. + + + When the operation completes, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The maximum number of characters to read. If the end of the stream is reached + before count of characters is read into buffer, the current method returns. + + The place in buffer at which to begin writing. + the source reader. + A Task that represents the asynchronous operation. + + + + Reads asynchronously a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + The source reader. + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + The position in buffer at which to begin writing. + The maximum number of characters to read. + A Task that represents the asynchronous operation. + + + + Reads a line of characters from the reader and returns the string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + + Reads all characters from the current position to the end of the TextReader + and returns them as one string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + Writes a string asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + Writes a line terminator asynchronously to a text stream. + The writer. + A Task representing the asynchronous write. + + + Writes a string followed by a line terminator asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char followed by a line terminator asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying device. + + The writer. + A Task representing the asynchronous flush. + + + Starts an asynchronous request for a web resource. + Task that represents the asynchronous request. + The stream is already in use by a previous call to . + + The source. + + + Starts an asynchronous request for a object to use to write data. + Task that represents the asynchronous request. + The property is GET and the application writes to the stream. + The stream is being used by a previous call to . + No write stream is available. + + The source. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 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 UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4-windowsphone71/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.dll new file mode 100644 index 0000000000000000000000000000000000000000..f760d6da349c96256e97654e7f0b57917653d57d GIT binary patch literal 19608 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 literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.xml new file mode 100644 index 000000000..950e092f0 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.Silverlight.xml @@ -0,0 +1,141 @@ + + + + Microsoft.Threading.Tasks.Extensions.Silverlight + + + + + Provides asynchronous wrappers for .NET Framework operations. + + + Provides asynchronous wrappers for .NET Framework operations. + + + + Downloads the resource with the specified URI as a string, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded string. + + + Downloads the resource with the specified URI as a string, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded string. + + + Opens a readable stream for the data downloaded from a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a readable stream for the data downloaded from a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + The HTTP method that should be used to open the stream. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + The HTTP method that should be used to open the stream. + A Task that contains the opened stream. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Converts a path to a Uri using the WebClient's logic. + Based on WebClient's private GetUri method. + + + Converts a path to a Uri using the WebClient's logic. + Based on WebClient's private GetUri method. + + + Asynchronously invokes an Action on the Dispatcher. + The Dispatcher. + The action to invoke. + A Task that represents the execution of the action. + + + Asynchronously invokes an Action on the Dispatcher. + The Dispatcher. + The function to invoke. + A Task that represents the execution of the function. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + Used with Task(of void) + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..883cc940441a8d4e50fb6534995f4b53c037cea3 GIT binary patch literal 22144 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›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 + + + Microsoft.Threading.Tasks.Extensions + + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + + Provides asynchronous wrappers for .NET Framework operations. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The cancellation token. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + The cancellation token. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads a maximum of count characters from the reader asynchronously and writes + the data to buffer, beginning at index. + + + When the operation completes, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The maximum number of characters to read. If the end of the stream is reached + before count of characters is read into buffer, the current method returns. + + The place in buffer at which to begin writing. + the source reader. + A Task that represents the asynchronous operation. + + + + Reads asynchronously a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + The source reader. + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + The position in buffer at which to begin writing. + The maximum number of characters to read. + A Task that represents the asynchronous operation. + + + + Reads a line of characters from the reader and returns the string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + + Reads all characters from the current position to the end of the TextReader + and returns them as one string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + Writes a string asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + Writes a line terminator asynchronously to a text stream. + The writer. + A Task representing the asynchronous write. + + + Writes a string followed by a line terminator asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char followed by a line terminator asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying device. + + The writer. + A Task representing the asynchronous flush. + + + Starts an asynchronous request for a web resource. + Task that represents the asynchronous request. + The stream is already in use by a previous call to . + + The source. + + + Starts an asynchronous request for a object to use to write data. + Task that represents the asynchronous request. + The property is GET and the application writes to the stream. + The stream is being used by a previous call to . + No write stream is available. + + The source. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 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 UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/sl4/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/win8/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/win8/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 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 UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/win8/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/win8/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/win8/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.Extensions.Phone.dll new file mode 100644 index 0000000000000000000000000000000000000000..f4e02a1ece055f4358d8c3463019cf7ce05977a4 GIT binary patch literal 19592 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 + + + Microsoft.Threading.Tasks.Extensions.Phone + + + + + Provides asynchronous wrappers for .NET Framework operations. + + + Provides asynchronous wrappers for .NET Framework operations. + + + + Downloads the resource with the specified URI as a string, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded string. + + + Downloads the resource with the specified URI as a string, asynchronously. + The WebClient. + The URI from which to download data. + A Task that contains the downloaded string. + + + Opens a readable stream for the data downloaded from a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a readable stream for the data downloaded from a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + The HTTP method that should be used to open the stream. + A Task that contains the opened stream. + + + Opens a writeable stream for uploading data to a resource, asynchronously. + The WebClient. + The URI for which the stream should be opened. + The HTTP method that should be used to open the stream. + A Task that contains the opened stream. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Uploads data in a string to the specified resource, asynchronously. + The WebClient. + The URI to which the data should be uploaded. + The HTTP method that should be used to upload the data. + The data to upload. + A Task containing the data in the response from the upload. + + + Converts a path to a Uri using the WebClient's logic. + Based on WebClient's private GetUri method. + + + Converts a path to a Uri using the WebClient's logic. + Based on WebClient's private GetUri method. + + + Asynchronously invokes an Action on the Dispatcher. + The Dispatcher. + The action to invoke. + A Task that represents the execution of the action. + + + Asynchronously invokes an Action on the Dispatcher. + The Dispatcher. + The function to invoke. + A Task that represents the execution of the function. + + + Used with Task(of void) + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.Extensions.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..883cc940441a8d4e50fb6534995f4b53c037cea3 GIT binary patch literal 22144 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›gQoQEZlOtkQu+3b-s3~@D84w1yvu(wo3Jd}$ncu>|3 z+ZAiJ$&<6m6D#+ur`*$|+_P4=r&+is7UYQq#pA$A%c-W^&;JxkqirHI8r`r2*x#$+ zAc)GKkhfoAbXqd(!0{&0$Mo19hF?DMfoJ4Ac+3nlU4w%`f~|w)+`zQmN`zws2P{Nx zmLg9r$~LHsHWU&m;2jnP$U+E=kS6O@@OY|H8q9|XbV?*bP2hcSve%ARW~($JMIfsP z2=s$D&00~&iga|P(ZscCEmNzx1u4e#hv$p70la?9hY98RX-ae_Rw_{rrkTRAyw zFv#^Pcmf=%%JoC28HF4h9D(3v6y$E{`tY2u&e0$oO_BpiAsjWs*&7nU6$&Y7kdsfS zJW%D+Xs2GVPk<*w%N7_v&!N~IW73rzcsipHyh9MpZgel)assw+wxkxZp-{P7aT1U5+h2ZNl>ayN3JRrIo`#+?^}Zm zySiilvu%nfgI74q>g(Z_DP;9Wbj%kE-`-iUk$`)t`Qy&O+ma|9_G*~`qv74@RCtdd z2_*s^2QY^Fs~fb3d0d0{9o*N}a)sB`$Ont$^4COwOB8%5kc#(yF|ZfZ!2T}|_L6z9 zlf)l)d{c)#rXD!7u$!#A^CS#tGcyKnGr%SzaH)YSzX3^Egoj1ue?cf4+VD3+@Io2| zzfb8<0le3Sbri#llz^#-_ymxc19EksTL)GdA&8h;58N2m?t>BZwFX({Sww*Z0~xCZ zUh{4l3;kH8AIxwdNK=8lT+=*8f}f`N3T9vjYB%f%mZ}@HQNY5pCFq zh2U!(v3!_2-t(^k-+rw7ul(%?+;VvH1#6Jkkz*hj_C224P=L8GbNm@e=AC5X#hHTV zZH^blxTt?@!+$S6b?2`kxseRIbzn~sH`W#R^X!{hHk+_z&sE7&)%p0hNqKT)1nbh+ zMiIbp!H%t{YJw2p%(@6t**{HL%?JE=CwJN^W z;)iC+X>a~qE^X~}Xn$`X#iR)v16(Ft8r9j@>*d%L?Ng6LJXY^eFD*#Fuf4UUO@iT6 z?vQOQ&nd@DK(3Dm_8#3YZu+)gerk8_#|!M|seg_b{Mi`quU+$vXI>2dN;!VPoRMB9 z^6xd>dtq13!_dUerS$#hqc)vr^mX~CzrVfva%SxA>0wh231>S$-&1t!&m6hu=OND{ z(t=&ma>KWcS=(Xbb2R0K&6}z%jaqGAwPxeF#yi<3w42=S&EP(bu5I{yX;%4cUcAks z?510H&--R(-!F!b8@fnyEdGIPdvG@za+F$LLD_&u#H>BIwnb~knw1DdklK8{kjG2aM+DuxXk){qL7{$I*A z)=e2$W{@%z@>=oo(f;Z-BSvR88@{;T!FLZFzgsoj{#4^s4=ZcbwM%fLiI;Pmj%hb4 zcIS!vBPLcIOImYn_rq>>HH|NhpJ;a~-m&tD^!>$oCvs1ezYAPdJ$&}9k!K6W4>{+o zym2%!_iIC!*ClO(UZiyC7P;THyfF2^JZjk|yZ3qVhLvdFo{X8)*h8_Bf75Bwj;Gz# zj{O5)|1xS$Xt(GV8;?x>;pGIE-)d%Bf1V^1KWsBgyLC=e>Q!d>osAbKP9N2Gz?jVK zdq>9H?zX9>xA)9Z<1fdw>@oLfb#~SEA2RPBR%Z;Exn^p*+^1vW?01U<(>F|dHSp6; zyNbKc4vG8Yg`=B(nWm`k$L#1-j zMyd-3s`T=x)M$BhYGTJoHYUh7kPU9{8xHf3Mf z44>S7@VH5B8aH{r`F_H#-JbTpX2eb_jA`GdCaB%IpzAL$p3nGgVX5NlgqFSTk32Wm zCePZ%HlT55pR;9E$M3&fFq6J~AoE>t*{hII{d13W$mrCgU;nY0$6cJ?2JOwf?a{L^ zZSjr=BT>(oejW=v(&Mi`-6d{1uRPX^J@hhAuDPSG-g>4w@dWGA;mm@RGi%(Uw`|Oa zh)dd*J#e0vJudRURJFL*)^J{uw1o0SYF2M^je?p56^o5E<506g z|Gk>kpk!l1rCapDf+S_^)1#Y9Zu{@OlfM0g;nLcaQ%)h@Z#(wp=NcE)_B*l97sX8A z=M8EzZa~fW-j~16nHF63yC`O)x8Y0MeGzMa{9)~!6&;@BhFm{*_Vsb$@pZRaKT&Ty z6LX^`FCg^i`3D1B-#lv8x^jSZS08C$$BNPK9=6!J_xQ{eGg}YYxlX@%>84vJQ1-;a zH9NW|PkH3uDtG1TUlRt;^>HqKuxh#D;*6{rE3`GUX`3!S?l#{KYE#~0ba%VmMLAJx z)uQit_ivoAdYInv!DIa@iS_U3r&c>QwbF0B^W9=AkIJ$mH?RL3lE>bOY24(_n~FDm ztVVpZ+NQ?&J#TW(mIN8?mgKv2?3hkBs=D1h;mB6-zkxEgf-7SZWni0Tq$vuCQl6rN|Lsd8+;7x*>Kr)x zlSdT63pVgNT`}1}v21XlA|OB!5*PqgD!_yWVDz8d+x^|HX^Xy3MpHI-UyIMOfjiet$A> zeZnVGSMDkPWXPg!!i(=(|FWcL!ilwps8K(cUwXdhS^E`-GomkV+7NclW8nN|t5)g_ z=}#Nax%IBy9DU`vp_wkjqDPMnb~=soQ`TK&)=F|0BmY{s#wV8Pgo#PkXeFMhz+pZuJZbLX^g z_S5LFJL^U0MNHMwQ~jp2NxeH_ZTDv}Cpv@%FWojQV`bx|Q-73BPY*q?UYyDM$y{m% zK&k1=Ho~RCo}%6}e3l27I<=?44H4eJwrIpKu*)CE$^>H5Lxdy6@QGl!9av~I-gmt_ zrAYj#&7`^47i4u>t>J!p=RGXMh_jTc425cX6-_~EdI_~BD%%X?!oqT_e++bDn z<2_%+a<`)+lNXe^_Fo_7AHQqa>h#4o3wQ6>_NsV$oc?9!-y%jGxo+K9{o~5Ta^E*r z$={_P^S#;q^f!ffR@*G&txUhRW6~$Rp3UvL`04YjZezVxR5;JR zF-O?q*^R_kQ>u>KwO=_i@lf;A)Ae(`h7>Gn_R9H5>bd-*t=?y}IJRucp0-<# z&v`ncW%u2uuBYEUIecD|jKl4mGOx^T5jV|u?}nf#=SOyq%~1am{iD4r>V;AdBJ=YvL@St#cuUWlH=S;0^9?R?d^2G9diE(B7hra%e5B;j|Ap2eS zWoUlI>y#~11D#YZwv(>dUCsSncRc3IPmS*tf5&Y5>8;N%EhjBqFL`UZZyHPu$$~LE^)$LyON#g2V;RWr~(JY}2mXu6ldBo85-o1@Duc{6_BMyNvAoJw9ejdtHT;l!ZT-4y}T|8cDGZVf59o9OUC@70Uu-LPA2x2;36=v;LeTOkla{eEn& z-%bPZ;X3><^H0=owgVdkfBPNKE|5F`2Pg=NAA>{s{&U;kzpLJ#S82Zd?#wJZ!ofQ>3!kZw7HIPbDDRZwQ)fP+vXw~e79uJ zgNedMFKw9xPbMC1`D38__$AMN&v*9uv*gZ%7Qfv|TwZm+E%nIMH_<1=CkJdgxw$K| z?DZF#+4(&GSaOtHSj^LaaH#tc?F{&^pE$(v8l&EI<0b^fQX zPTM~heVtm6vMqYX=dq}Jw>)WE&%D+1Z~Y`F@4oEym{rnl4&sW>$2{ygyoUO$MY3ot zvSVW&etp#~X7_i#X`gR$86Ke+c68A%okq{DQqtR7*nIit%SBtL35eD&e5z7i9hqAc;DJ4BeFdoFI(gpBpB8#`*4^`LCcCKRzLXc zJ`uU~_Ui|w+i$K|ZEUwA@!$|QS(~9&p(#^_^o@yh_-5z>*7xAezfTwS>2NJrhC^0r2S^wCh) zeTym%v`zc!%RylitA;AKX{+qN*tfRZ6PfPaqyWv9nqPVxn&NgiZ_knz<7K&YnD3@O z(|6o*y}f<&k(_PA)A(m1{F2wt*}QW2x~-M-ike-RHQv6cm4Co$k+!nml-BzyACEcW zdhWhU(&5h@#a(+zsdN*qN)M?I{i^+K)%@cM&-bO@XkK;xjsMavem$KAAGTlq zPEo-ef>Vj_;9!=8<@V2=g*JRtTYFMmS$-XF*GwnMVxGdf&N(pyhq1Ni$W{tlwr;N@ z-VB-tG78uXc7O3?`?#XdqYl_Sy6RYZCDUe&56zaB)sbPX(6fb=DP_qG{2KT_`X#Qa zSy_|6+RN3w{lY0LQ$e8}NmX;$i(`Fr$Di7g*ST%x{5C$5Qf5|D@iX!Tp4FpHpULST z&-b0!sj6S@po#A&_K_;}-a^~KNndT_yO(}e;aI%>+QOJUjp!#q{T~I~z4VhY^s}>n zW=t>~>GMa?zD9!vFVJk+zgyv1yHMPpXJ`T5+MMoV>iZTjWZ<5R<9 z?;VW{3+i8V+Pm=8S?|f+kDQw^%+dPkcwf)6-}B3c{?Q`T z=W5i~_wsriEsZ>q_{gdCyzbds?wvZhtZQn5`0=12=U(}yhAw@`e)`?mo7D@im!@4B zn9%-5Wu|qQ(f8b(yqgF61x!@Gx!7m((=AmMvJCx~bGeewD1#{7V#R{|$I?rFE-_2Z%Wxx=-S zrFtj9sh~|WpRQ~7>stOF5y|d*dan1+`s4iUS?SJAN}cs1qZY($c<}CSC+orf(W~8G zXBW*}({Xh>POY zYwKq(q!a!3&P|V9J + + + Microsoft.Threading.Tasks.Extensions + + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + + Provides asynchronous wrappers for .NET Framework operations. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + A Task that represents the asynchronous read. + The source. + The buffer to read data into. + The byte offset in at which to begin reading. + The maximum number of bytes to read. + The cancellation token. + The array length minus is less than . + is null. + or is negative. + An asynchronous read was attempted past the end of the file. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + A Task that represents the asynchronous write. + The source. + The buffer containing data to write to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The maximum number of bytes to write. + The cancellation token. + length minus is less than . + is null. + or is negative. + The stream does not support writing. + The stream is closed. + An I/O error occurred. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Flushes asynchronously the current stream. + + A Task that represents the asynchronous flush. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads all the bytes from the current stream and writes them to the destination stream. + + The source stream. + The stream that will contain the contents of the current stream. + The size of the buffer. This value must be greater than zero. The default size is 4096. + The cancellation token to use to cancel the asynchronous operation. + A Task that represents the asynchronous operation. + + + + Reads a maximum of count characters from the reader asynchronously and writes + the data to buffer, beginning at index. + + + When the operation completes, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The maximum number of characters to read. If the end of the stream is reached + before count of characters is read into buffer, the current method returns. + + The place in buffer at which to begin writing. + the source reader. + A Task that represents the asynchronous operation. + + + + Reads asynchronously a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + The source reader. + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + The position in buffer at which to begin writing. + The maximum number of characters to read. + A Task that represents the asynchronous operation. + + + + Reads a line of characters from the reader and returns the string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + + Reads all characters from the current position to the end of the TextReader + and returns them as one string asynchronously. + + the source reader. + A Task that represents the asynchronous operation. + + + Writes a string asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + Writes a line terminator asynchronously to a text stream. + The writer. + A Task representing the asynchronous write. + + + Writes a string followed by a line terminator asynchronously to a text stream. + The writer. + The string to write. + A Task representing the asynchronous write. + + + Writes a char followed by a line terminator asynchronously to a text stream. + The writer. + The char to write. + A Task representing the asynchronous write. + + + Writes a char array followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + A Task representing the asynchronous write. + + + Writes a subarray of characters followed by a line terminator asynchronously to a text stream. + The writer. + The buffer to write. + Starting index in the buffer. + The number of characters to write. + A Task representing the asynchronous write. + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying device. + + The writer. + A Task representing the asynchronous flush. + + + Starts an asynchronous request for a web resource. + Task that represents the asynchronous request. + The stream is already in use by a previous call to . + + The source. + + + Starts an asynchronous request for a object to use to write data. + Task that represents the asynchronous request. + The property is GET and the application writes to the stream. + The stream is being used by a previous call to . + No write stream is available. + + The source. + + + diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.dll b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b202dc8b0ca1b2193b233509035bbff33d5873d GIT binary patch literal 28264 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 UJ>2}}zBQvRxBM)6CsNh_0|HT&<^TWy literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.xml b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.xml new file mode 100644 index 000000000..5c22030d7 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Async.1.0.14-rc/lib/wp8/Microsoft.Threading.Tasks.xml @@ -0,0 +1,630 @@ + + + + Microsoft.Threading.Tasks + + + + + Provides extension methods for threading-related types. + + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time in milliseconds for the source to be canceled. + + + Cancels the after the specified duration. + The CancellationTokenSource. + The due time for the source to be canceled. + + + Gets an awaiter used to await this . + The task to await. + An awaiter instance. + + + Gets an awaiter used to await this . + Specifies the type of data returned by the task. + The task to await. + An awaiter instance. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Creates and configures an awaitable object for awaiting the specified task. + The task to be awaited. + + true to automatic marshag back to the original call site's current SynchronizationContext + or TaskScheduler; otherwise, false. + + The instance to be awaited. + + + Event handler for progress reports. + Specifies the type of data for the progress report. + The sender of the report. + The reported value. + + + + Provides an IProgress{T} that invokes callbacks for each reported progress value. + + Specifies the type of the progress report value. + + Any handler provided to the constructor or event handlers registered with + the event are invoked through a + instance captured + when the instance is constructed. If there is no current SynchronizationContext + at the time of construction, the callbacks will be invoked on the ThreadPool. + + + + The synchronization context captured upon construction. This will never be null. + + + The handler specified to the constructor. This may be null. + + + A cached delegate used to post invocation to the synchronization context. + + + Initializes the . + + + Initializes the with the specified callback. + + A handler to invoke for each reported progress value. This handler will be invoked + in addition to any delegates registered with the event. + + The is null (Nothing in Visual Basic). + + + Reports a progress change. + The value of the updated progress. + + + Reports a progress change. + The value of the updated progress. + + + Invokes the action and event callbacks. + The progress value. + + + Raised for each reported progress value. + + Handlers registered with this event will be invoked on the + captured when the instance was constructed. + + + + Holds static values for . + This avoids one static instance per type T. + + + A default synchronization context that targets the ThreadPool. + + + Throws the exception on the ThreadPool. + The exception to propagate. + The target context on which to propagate the exception. Null to use the ThreadPool. + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The to await. + + true to attempt to marshal the continuation back to the original context captured + when BeginAwait is called; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable object that allows for configured awaits on . + This type is intended for compiler use only. + + + The underlying awaitable on whose logic this awaitable relies. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Gets an awaiter for this awaitable. + The awaiter. + + + Provides an awaiter for a . + This type is intended for compiler use only. + + + The task being awaited. + + + Whether to attempt marshaling back to the original context. + + + Initializes the . + The awaitable . + + true to attempt to marshal the continuation back to the original context captured; otherwise, false. + + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The default value to use for continueOnCapturedContext. + + + Error message for GetAwaiter. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + + Fast checks for the end of an await operation to determine whether more needs to be done + prior to completing the await. + + The awaited task. + + + Handles validations on tasks that aren't successfully completed. + The awaited task. + + + Throws an exception to handle a task that completed in a state other than RanToCompletion. + + + Schedules the continuation onto the associated with this . + The awaited task. + The action to invoke when the await operation completes. + Whether to capture and marshal back to the current context. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Invokes the delegate in a try/catch that will propagate the exception asynchronously on the ThreadPool. + + + + Copies the exception's stack trace so its stack trace isn't overwritten. + The exception to prepare. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Whether the current thread is appropriate for inlining the await continuation. + + + Provides an awaiter for awaiting a . + This type is intended for compiler use only. + + + The task being awaited. + + + Initializes the . + The to be awaited. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Schedules the continuation onto the associated with this . + The action to invoke when the await operation completes. + The argument is null (Nothing in Visual Basic). + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was not yet completed. + The task was canceled. + The task completed in a Faulted state. + + + Gets whether the task being awaited is completed. + This property is intended for compiler user rather than use directly in code. + The awaiter was not properly initialized. + + + Provides an awaitable context for switching into a target environment. + This type is intended for compiler use only. + + + Gets an awaiter for this . + An awaiter for this awaitable. + This method is intended for compiler user rather than use directly in code. + + + Provides an awaiter that switches into a target environment. + This type is intended for compiler use only. + + + A completed task. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Posts the back to the current context. + The action to invoke asynchronously. + The awaiter was not properly initialized. + + + Ends the await operation. + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + Provides methods for creating and manipulating tasks. + + + Creates a task that runs the specified action. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified action. + The action to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute. + The CancellationToken to use to request cancellation of this task. + A task that represents the completion of the function. + The argument is null. + + + Creates a task that runs the specified function. + The function to execute asynchronously. + A task that represents the completion of the action. + The argument is null. + + + Creates a task that runs the specified function. + The action to execute. + The CancellationToken to use to cancel the task. + A task that represents the completion of the action. + The argument is null. + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + Starts a Task that will complete after the specified due time. + The delay in milliseconds before the returned task completes. + A CancellationToken that may be used to cancel the task before the due time occurs. + The timed Task. + + The argument must be non-negative or -1 and less than or equal to Int32.MaxValue. + + + + An already completed task. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + A Task that represents the completion of all of the provided tasks. + + If any of the provided Tasks faults, the returned Task will also fault, and its Exception will contain information + about all of the faulted tasks. If no Tasks fault but one or more Tasks is canceled, the returned + Task will also be canceled. + + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete only when all of the provided collection of Tasks has completed. + The Tasks to monitor for completion. + + A callback invoked when all of the tasks complete successfully in the RanToCompletion state. + This callback is responsible for storing the results into the TaskCompletionSource. + + A Task that represents the completion of all of the provided tasks. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates a Task that will complete when any of the tasks in the provided collection completes. + The Tasks to be monitored. + + A Task that represents the completion of any of the provided Tasks. The completed Task is this Task's result. + + Any Tasks that fault will need to have their exceptions observed elsewhere. + The argument is null. + The argument contains a null reference. + + + Creates an already completed from the specified result. + The result from which to create the completed task. + The completed task. + + + Creates an awaitable that asynchronously yields back to the current context when awaited. + + A context that, when awaited, will asynchronously transition back into the current context. + If SynchronizationContext.Current is non-null, that is treated as the current context. + Otherwise, TaskScheduler.Current is treated as the current context. + + + + Adds the target exception to the list, initializing the list if it's null. + The list to which to add the exception and initialize if the list is null. + The exception to add, and unwrap if it's an aggregate. + + + Returns a canceled task. + The cancellation token. + The canceled task. + + + Returns a canceled task. + Specifies the type of the result. + The cancellation token. + The canceled task. + + + + Completes the Task if the user state matches the TaskCompletionSource. + + Specifies the type of data returned by the Task. + The TaskCompletionSource. + The completion event arguments. + Whether we require the tcs to match the e.UserState. + A function that gets the result with which to complete the task. + An action used to unregister work when the operaiton completes. + + + diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/License.rtf.REMOVED.git-id b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/License.rtf.REMOVED.git-id new file mode 100644 index 000000000..f8589ed0b --- /dev/null +++ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/License.rtf.REMOVED.git-id @@ -0,0 +1 @@ +30ff7aa1ad2a7eedde4972dee464f229d4459439 \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/Microsoft.Bcl.Build.1.0.0-rc.nupkg b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/Microsoft.Bcl.Build.1.0.0-rc.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..6d6ed7ddeb66ba1dab7fb706d2ef26f613ea27ca GIT binary patch literal 21851 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 G+y4N~Pw5B% literal 0 HcmV?d00001 diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/Microsoft.Bcl.Build.1.0.0-rc.nuspec b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/Microsoft.Bcl.Build.1.0.0-rc.nuspec new file mode 100644 index 000000000..8db99ef1b --- /dev/null +++ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/Microsoft.Bcl.Build.1.0.0-rc.nuspec @@ -0,0 +1,17 @@ + + + + Microsoft.Bcl.Build + 1.0.0-rc + Microsoft BCL Build Components + Microsoft + Microsoft + http://go.microsoft.com/fwlink/?LinkID=261998&clcid=0x409 + true + This package provides build infrastructure components so that projects referencing specific Microsoft packages can successfully build. + Provides build infrastructure components for Microsoft packages. + Copyright © Microsoft Corporation + BCL Microsoft + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/net40/_._ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/net40/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/netcore45/_._ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/netcore45/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/portable-net40+win8+sl4+wp71/_._ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/portable-net40+win8+sl4+wp71/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/sl4-windowsphone71/_._ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/sl4-windowsphone71/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/sl4/_._ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/content/sl4/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Install.ps1 b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Install.ps1 new file mode 100644 index 000000000..66af15130 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Install.ps1 @@ -0,0 +1,18 @@ +param($installPath, $toolsPath, $package, $project) + # This is the MSBuild targets file to add + $targetsFile = [System.IO.Path]::Combine($toolsPath, $package.Id + '.targets') + + # Need to load MSBuild assembly if it's not loaded yet. + Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' + + # Grab the loaded MSBuild project for the project + $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1 + + # Make the path to the targets file relative. + $projectUri = new-object Uri('file://' + $project.FullName) + $targetUri = new-object Uri('file://' + $targetsFile) + $relativePath = $projectUri.MakeRelativeUri($targetUri).ToString().Replace([System.IO.Path]::AltDirectorySeparatorChar, [System.IO.Path]::DirectorySeparatorChar) + + # Add the import and save the project + $msbuild.Xml.AddImport($relativePath) | out-null + $project.Save() \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Microsoft.Bcl.Build.targets b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Microsoft.Bcl.Build.targets new file mode 100644 index 000000000..2ec961a79 --- /dev/null +++ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Microsoft.Bcl.Build.targets @@ -0,0 +1,31 @@ + + + + + + false + + + $(ProjectConfigFileName) + + + + + + <_FullFrameworkReferenceAssemblyPaths>$(TargetFrameworkDirectory) + + + \ No newline at end of file diff --git a/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Uninstall.ps1 b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Uninstall.ps1 new file mode 100644 index 000000000..e43af29de --- /dev/null +++ b/src/packages/Microsoft.Bcl.Build.1.0.0-rc/tools/Uninstall.ps1 @@ -0,0 +1,13 @@ +param($installPath, $toolsPath, $package, $project) + + # Need to load MSBuild assembly if it's not loaded yet. + Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' + + # Grab the loaded MSBuild project for the project + $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1 + $importToRemove = $msbuild.Xml.Imports | Where-Object { $_.Project.Endswith($package.Id + '.targets') } + + # Add the import and save the project + $msbuild.Xml.RemoveChild($importToRemove) | out-null + $project.Save() + \ No newline at end of file