Akkling.Streams.TestKit
0.17.0
dotnet add package Akkling.Streams.TestKit --version 0.17.0
NuGet\Install-Package Akkling.Streams.TestKit -Version 0.17.0
<PackageReference Include="Akkling.Streams.TestKit" Version="0.17.0" />
<PackageVersion Include="Akkling.Streams.TestKit" Version="0.17.0" />Directory.Packages.props
<PackageReference Include="Akkling.Streams.TestKit" />Project file
paket add Akkling.Streams.TestKit --version 0.17.0
#r "nuget: Akkling.Streams.TestKit, 0.17.0"
#:package Akkling.Streams.TestKit@0.17.0
#addin nuget:?package=Akkling.Streams.TestKit&version=0.17.0Install as a Cake Addin
#tool nuget:?package=Akkling.Streams.TestKit&version=0.17.0Install as a Cake Tool
Akkling
This is the experimental fork of Akka.FSharp library, introducing new features such as typed actor refs, and also simplifying existing Akka.FSharp API. The main reason for splitting from official API is to be able to introduce new (also experimental), but possibly breaking changes outside existing Akka release cycle.
Read wiki pages for more info.
Get's started
For more examples check examples section.
Obligatory hello world example:
open Akkling
use system = System.create "my-system" <| Configuration.defaultConfig()
let aref = spawnAnonymous system <| props(actorOf (fun m -> printfn "%s" m |> ignored))
aref <! "hello world"
aref <! 1 // ERROR: we have statically typed actors here
Another example using stateful actors:
open Akkling
use system = System.create "my-system" <| Configuration.defaultConfig()
type Message =
| Hi
| Greet of string
let rec greeter lastKnown = function
| Hi -> printfn "Who sent Hi? %s?" lastKnown |> ignored
| Greet(who) ->
printfn "%s sends greetings" who
become (greeter who)
let aref = spawn system "greeter" <| props(actorOf (greeter "Unknown"))
aref <! Greet "Tom"
aref <! Greet "Jane"
aref <! Hi
Maintainer(s)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Akka.Streams.TestKit (>= 1.5.37)
- Akkling (>= 0.17.0)
- Akkling.TestKit (>= 0.17.0)
- FSharp.Core (>= 8.0.400)
-
net8.0
- Akka.Streams.TestKit (>= 1.5.37)
- Akkling (>= 0.17.0)
- Akkling.TestKit (>= 0.17.0)
- FSharp.Core (>= 8.0.400)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.17.0 | 295 | 2/12/2025 |
| 0.16.2 | 259 | 8/22/2024 |
| 0.16.1 | 230 | 8/14/2024 |
| 0.16.0 | 226 | 8/14/2024 |
| 0.15.0 | 210 | 7/18/2024 |
| 0.14.0 | 259 | 1/26/2024 |
| 0.14.0-rc.1 | 174 | 1/24/2024 |
| 0.13.0 | 494 | 3/11/2023 |
| 0.12.0 | 764 | 10/12/2021 |
| 0.11.0 | 818 | 2/2/2021 |
| 0.10.0 | 1,133 | 3/14/2020 |
| 0.9.3 | 6,747 | 7/16/2018 |
| 0.9.2 | 1,615 | 6/10/2018 |
| 0.9.1 | 1,615 | 3/17/2018 |
| 0.9.0 | 1,702 | 3/11/2018 |
## New in 0.17 (Released 2025年02月12日)
* Applied pull request from @anpin (Source.log fails after migration to Akka 1.5.37)
* Updated .NET SDK from 6.0 to 8.0 due to end of support for version 6.
* Upgraded Akka.NET dependencies to 1.5.37
## New in 0.16 (Released 2024年08月14日)
* Applied pull request from @sbacquet (Fix the context not being valid when an actor receives a message sent from an async/task block)
* Upgraded Akka.NET dependencies to 1.5.27
## New in 0.15 (Released 2024年07月18日)
* Applied pull request from @sbacquet (Use Async.StartImmediateAsTask instead of Async.StartAsTask in effects)
## New in 0.14 (Released 2024年01月11日)
* Upgraded Akka.NET dependencies to 1.5.15
* Revised internal TypedMessageExtractor type to support new version of IMessageExtractor
* Updated Xunit packages
## New in 0.13 (Released 2023年03月11日)
* Upgraded Akka.NET dependencies to 1.5
## New in 0.10 (Released 2020年03月14日)
* Upgraded Akka.NET dependencies to 1.4.2
* Consolidated supported .NET version to .NET Standard 2.0
* Removed PersistentView (as its no longer supported)
* Akkling.Streams: added support to stream refs, observables, cancellation tokens and withContext variants.
* Akkling.Streams: switched tuple args to value tuples to match Akka.Streams API.
## New in 0.9.3 (Released 2018年07月09日)
* Rollback FSharp.Core to 4.3.4
* Include XML docs
## New in 0.9.2 (Released 2018年06月10日)
* New computation expression for Graph DSL
* Renamed graph join operator from => to =>>
* ByteString module
* New streams stages: valve, pulse, managedDelay, partition, statefulPartition, mapMatValue
## New in 0.9.1 (Released 2018年03月17日)
* Restored multi-framework target
## New in 0.9 (Released 2018年03月11日)
* .NET Standard update
* Removed F# quotations from the API
* Removed FsPickler dependency
* Akka.Streams.TestKit package
* More akka streams API exposed (including Graph stages)
## New in 0.8 (Released 2017年11月27日)
* Initial functioning GraphDSL API
* Akka.Streams TCP wrappers
## New in 0.7 (Released 2017年09月18日)
* Updated to Akka.NET v1.3.1
* Added experimental EntityRef for cluster sharding
* Extended Akkling.DistributedData API
* Extended Akkling.Streams API
* Minor bug fixes
## New in 0.6.1 (Released 2017年04月17日)
* Fixed external package dependencies.
## New in 0.6 (Released 2017年04月17日)
* Updated dependencies to match Akka.NET v1.2
* Updated features for Akka.Streams
## New in 0.5 (Released 2017年01月25日)
* Switched to Hyperion as default serializer
* Adapter library for Akka.DistributedData
## New in 0.4.2 (Released 2017年01月03日)
* Fixed Akka.NET dependency
## New in 0.4.1 (Released 2017年01月03日)
* Relaxed dependency on System.Collections.Immutable
* Minor fix for persistent actors for unhandled messages
### New in 0.4.0 (Released 2016年09月11日)
* Non-blocking interop with async computation expression
* Initial Akkling.Streams plugin
* Support for at-least-once-delivery semantic
* More examples
### New in 0.3.0 (Released 2016年02月25日)
* Akkling.Cluster.Sharding and Akkling.TestKit packages
* new typed Props, all `spawn` functions now operates on them
* `actorOf` functions now returns effects
* new `become` effect
* new effect combinators `<|>` and `<&>`
* Ask operator `<?` now returns async of `AskResult<'msg>`
### New in 0.2.1 (Released 2015年12月17日)
* Forward operator `<<!`
* Parent property in actor contexts
* Split Persist/PersistAsyn effect into single- and multi-event versions
* Initialized native F# support for Akka.IO (Akkling.IO namespace)
* F# support for some of the Akka system messages in form of active patterns.
* Akkling.Behaviors module with set of common behaviors.
### New in 0.2.0 (Released 2015年11月20日)
* New effects-based actor expression API
* New Persistence API based on effects
* Actor/persistent actor lifecycle events handled as messages
* using Akka nightly builds
* switched to Wire as default serializer
* minor function arguments precedence redesign
### New in 0.1.1 (Released 2015年08月08日)
* Fixed problem with Discriminated Unions serialization
* Upgraded to Akka 1.0.4 and FsPickler 1.2
### New in 0.1.0 (Released 2015年06月25日)
* Upgraded Newtonsoft.Json dependency to 7.0.1
* Akkling.Persistence package released
#### New in 0.1.0-beta (Released 2015年06月13日)
* Initial release
* Typed actor refs
* Simplified API