Atmoos.Sphere 0.3.5

dotnet add package Atmoos.Sphere --version 0.3.5                
NuGet\Install-Package Atmoos.Sphere -Version 0.3.5                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Atmoos.Sphere" Version="0.3.5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Atmoos.Sphere --version 0.3.5                
#r "nuget: Atmoos.Sphere, 0.3.5"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Atmoos.Sphere as a Cake Addin
#addin nuget:?package=Atmoos.Sphere&version=0.3.5

// Install Atmoos.Sphere as a Cake Tool
#tool nuget:?package=Atmoos.Sphere&version=0.3.5                

Atmoos.Sphere

A library that mainly contains mechanisms, often exposed as extension methods.

nuget package

Async

General Asynchronous Mechanisms

  • Yielding back to a configurable synchronisation context using ContextFlow.
    • This can be useful to integrate components that have a hard dependency on a particular context.

Mechanisms to Map "old-style" APIs to more modern APIs

  • Ordering of an IEnumerable<Task<T>> by completion.
    • This ensures that the first task in the sequence is also the first to complete, potentially improving throughput.
  • Wrap an event based asynchronous task that provides update events into an IAsyncEnumerable<T>.
    • This allows for an arguably more natural processing of the events as they arrive.

Time

  • Series of zero based time stamps
    • Both as synchronous and asynchronous versions.
  • Generation of exponentially growing delays in an easy to consume asynchronous API
    • Exponential back-off comes to mind for retry mechanisms.

Text

  • Extension methods on TextWriter & TextReader.
  • Extension methods to insert a given section of text into an existing larger piece of text.
    • It's inserted given a parametrisable line mark.
    • Supports:
      • TextReader & TextWriter pairs
      • Insertion into an existing file, given by a FileInfo instance.
    • In asynchronous and synchronous variants.
  • Extension methods for string manipulation.

Sync

Mechanisms that provide "sync over async", i.e. avoid using this!

But if it is impossible to avoid, here you go:

  • Use the Await() extension method to synchronously "await" any task.
    • Marked as obsolete, as it really should not be used.
    • It's much safer to refactor a codebase to use "async all the way".
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Atmoos.Sphere:

Package Downloads
Atmoos.Sphere.BenchmarkDotNet

Atmoos Sphere BenchmarkDotNet:Exports benchmark results into the defining benchmark source files.

Atmoos.World.InMemory

Atmoos World InMemory: In memory representation of The World.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.3.5 276 6/23/2024
0.3.4 163 5/22/2024
0.3.3 121 5/22/2024
0.3.2 126 5/15/2024
0.3.1 140 5/12/2024
0.3.0 126 5/12/2024
0.2.2 143 5/11/2024
0.2.1 106 5/10/2024
0.2.0 112 5/9/2024
0.1.0 112 5/9/2024