diff --git a/.gitattributes b/.gitattributes index 1ff0c423..9ecde05a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -61,3 +61,9 @@ #*.PDF diff=astextplain #*.rtf diff=astextplain #*.RTF diff=astextplain + +############################################################################### +# behavior for bash scripts +# bash scripts must keep Unix line endings +############################################################################### +*.sh text eol=lf \ No newline at end of file diff --git a/.gitignore b/.gitignore index df128835..81ab276c 100644 --- a/.gitignore +++ b/.gitignore @@ -204,3 +204,4 @@ build/ .nuget/ .dotnet/ .idea/.idea.NBench.NetCore/.idea/* +launchSettings.json \ No newline at end of file diff --git a/NBench.Tests.Reporting/NBench.Tests.Reporting.csproj b/NBench.Tests.Reporting/NBench.Tests.Reporting.csproj new file mode 100644 index 00000000..5d7fcf4e --- /dev/null +++ b/NBench.Tests.Reporting/NBench.Tests.Reporting.csproj @@ -0,0 +1,29 @@ + + + + net46 + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/NBench.Tests.End2End/Reporting/MarkdownBenchmarkOutputSpec.Should_report_valid_markdown_format.approved.txt b/NBench.Tests.Reporting/Reporting/MarkdownBenchmarkOutputSpec.Should_report_valid_markdown_format.approved.txt similarity index 100% rename from tests/NBench.Tests.End2End/Reporting/MarkdownBenchmarkOutputSpec.Should_report_valid_markdown_format.approved.txt rename to NBench.Tests.Reporting/Reporting/MarkdownBenchmarkOutputSpec.Should_report_valid_markdown_format.approved.txt diff --git a/tests/NBench.Tests.End2End/Reporting/MarkdownBenchmarkOutputSpec.cs b/NBench.Tests.Reporting/Reporting/MarkdownBenchmarkOutputSpec.cs similarity index 98% rename from tests/NBench.Tests.End2End/Reporting/MarkdownBenchmarkOutputSpec.cs rename to NBench.Tests.Reporting/Reporting/MarkdownBenchmarkOutputSpec.cs index e90c7522..7f269268 100644 --- a/tests/NBench.Tests.End2End/Reporting/MarkdownBenchmarkOutputSpec.cs +++ b/NBench.Tests.Reporting/Reporting/MarkdownBenchmarkOutputSpec.cs @@ -35,7 +35,6 @@ public class MarkdownBenchmarkOutputSpec ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar - + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar; private static readonly string _perfResultsPath = Path.GetFullPath(_solutionPath + "PerfResults"); diff --git a/NBench.sln b/NBench.sln index 360b94e3..8defd65d 100644 --- a/NBench.sln +++ b/NBench.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26228.4 +VisualStudioVersion = 15.0.26430.6 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmarks", "Benchmarks", "{C8104500-2C0F-46A2-AE84-A3D74CC55697}" EndProject @@ -39,6 +39,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NBench.PerformanceCounters. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NBench.Runner.DotNetCli", "src\NBench.Runner.DotNetCli\NBench.Runner.DotNetCli.csproj", "{552BA093-1A4A-455D-8186-B8018C9972D5}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NBench.Tests.Performance.WithDependencies", "tests\NBench.Tests.Performance.WithDependencies\NBench.Tests.Performance.WithDependencies.csproj", "{C526F6D9-B1A5-486F-8CC1-43104CBDD38D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NBench.Tests.Reporting", "NBench.Tests.Reporting\NBench.Tests.Reporting.csproj", "{7D45CF9B-F2AC-4879-B325-4486F58A3435}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -181,6 +185,30 @@ Global {552BA093-1A4A-455D-8186-B8018C9972D5}.Release|x64.Build.0 = Release|Any CPU {552BA093-1A4A-455D-8186-B8018C9972D5}.Release|x86.ActiveCfg = Release|Any CPU {552BA093-1A4A-455D-8186-B8018C9972D5}.Release|x86.Build.0 = Release|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Debug|x64.ActiveCfg = Debug|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Debug|x64.Build.0 = Debug|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Debug|x86.ActiveCfg = Debug|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Debug|x86.Build.0 = Debug|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Release|Any CPU.Build.0 = Release|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Release|x64.ActiveCfg = Release|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Release|x64.Build.0 = Release|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Release|x86.ActiveCfg = Release|Any CPU + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D}.Release|x86.Build.0 = Release|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Debug|x64.ActiveCfg = Debug|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Debug|x64.Build.0 = Debug|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Debug|x86.ActiveCfg = Debug|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Debug|x86.Build.0 = Debug|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Release|Any CPU.Build.0 = Release|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Release|x64.ActiveCfg = Release|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Release|x64.Build.0 = Release|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Release|x86.ActiveCfg = Release|Any CPU + {7D45CF9B-F2AC-4879-B325-4486F58A3435}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -194,5 +222,7 @@ Global {96FCB3AB-8C76-4BD0-B97F-1239E5FF5C5C} = {1F1914B9-8F67-4B51-9738-CDE5AFB2F8DE} {FD7BE8F5-460F-4A3D-A479-E4AF36C4EED5} = {1F1914B9-8F67-4B51-9738-CDE5AFB2F8DE} {416A4BAD-459C-4896-A44C-4C2344EBE154} = {1F1914B9-8F67-4B51-9738-CDE5AFB2F8DE} + {C526F6D9-B1A5-486F-8CC1-43104CBDD38D} = {1F1914B9-8F67-4B51-9738-CDE5AFB2F8DE} + {7D45CF9B-F2AC-4879-B325-4486F58A3435} = {1F1914B9-8F67-4B51-9738-CDE5AFB2F8DE} EndGlobalSection EndGlobal diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index fcb97e69..39a18cba 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,4 +1,22 @@ -#### v1.0.1 March March 29 2017 +#### v1.0.2 May 31 2017 + +This release resolves issues: [#182](https://github.com/petabridge/NBench/issues/182) and [#192](https://github.com/petabridge/NBench/issues/192) relating to the NBench.Runner.DotNetCli (the NBench Runner that can execute benchmarks for assemblies that target .NET Core). The root cause was that the runner was unable to execute .NET Core benchmarks that had external dependencies. + +Other changes include: + +- Integration tests to validate that the above issue is resolved +- Upgrade to xUnit .NET Core CLI runner (v2.3.0-beta2-build3683) for all NBench unit tests +- Update .NET Core runtime targets to `netcoreapp1.1` + +If you are using the .NET Core CLI runner for NBench and encountered this issue, please be sure to update your `` to v1.0.2: + + ``` + + + + ``` + +#### v1.0.1 March 29 2017 This release resolves an issue with the v1.0.0 NuGet release for NBench.Runner in which clients installing the package via `Install-Package NBench.Runner` were not getting the NBench.dll dependency for NBench.Runner.exe. NBench.dll is now compiled into NBench.Runner.exe. diff --git a/build.fsx b/build.fsx index 98595678..72494026 100644 --- a/build.fsx +++ b/build.fsx @@ -72,78 +72,63 @@ Target "RestorePackages" (fun _ -> ) Target "Build" (fun _ -> - if (isWindows) then - let runSingleProject project = - DotNetCli.Build - (fun p -> - { p with - Project = project - Configuration = configuration }) - - let projects = !! "./src/**/*.csproj" ++ "./tests/**/*.csproj" - - projects |> Seq.iter (runSingleProject) - else + let runSingleProject project = DotNetCli.Build - (fun p -> - { p with - Project = "./src/NBench/NBench.csproj" - Framework = "netstandard1.6" - Configuration = configuration }) - - let runSingleProjectNetCore project = - DotNetCli.Build - (fun p -> - { p with - Project = project - Framework = "netcoreapp1.0" - Configuration = configuration }) - - let netCoreProjects = (!! "./src/**/*NBench.Runner.DotNetCli.csproj" - ++ "./tests/**/*NBench.Tests*.csproj" - -- "./tests/**/*NBench.PerformanceCounters.Tests.*.csproj") + (fun p -> + { p with + Project = project + Configuration = configuration + AdditionalArgs = ["--no-incremental"]}) // "Rebuild" - netCoreProjects |> Seq.iter (runSingleProjectNetCore) + let projects = !! "./src/**/*.csproj" ++ "./tests/**/*.csproj" + + projects |> Seq.iter (runSingleProject) ) Target "RunTests" (fun _ -> - if (isWindows) then - let runSingleProject project = - DotNetCli.Test - (fun p -> - { p with - Project = project - Configuration = configuration}) - - let projects = (!! "./tests/**/*NBench.Tests*.csproj" - -- "./tests/**/*NBench.Tests.Assembly.csproj") - - projects |> Seq.iter (log) - projects |> Seq.iter (runSingleProject) - - else - let runSingleProjectNetCore project = - DotNetCli.Test - (fun p -> - { p with - Project = project - Framework = "netcoreapp1.0" - Configuration = configuration}) - - let projects = (!! "./tests/**/*NBench.Tests*.csproj" - -- "./tests/**/*NBench.PerformanceCounters.Tests.*.csproj" - -- "./tests/**/*NBench.Tests.Performance.csproj" - -- "./tests/**/*NBench.Tests.Assembly.csproj") + let sampleBenchmarProjects = !! "./tests/**/NBench.Tests.Performance.csproj" + ++ "./tests/**/NBench.Tests.Performance.WithDependencies.csproj" + ++ "./tests/**/NBench.Tests.Assembly.csproj" + + sampleBenchmarProjects |> Seq.iter (fun proj -> + DotNetCli.Build + (fun p -> + { p with + Project = proj + Configuration = configuration + AdditionalArgs = ["--no-incremental"]})) - projects |> Seq.iter (log) - projects |> Seq.iter (runSingleProjectNetCore) + let runSingleProject project = + DotNetCli.RunCommand + (fun p -> + { p with + WorkingDir = (Directory.GetParent project).FullName + TimeOut = TimeSpan.FromMinutes 10. }) + (sprintf "xunit -parallel none -teamcity -xml %s_xunit.xml" (outputTests @@ fileNameWithoutExt project)) + + let projects = + match (isWindows) with + | true -> (!! "./tests/**/*NBench.Tests*.csproj" + -- "./tests/**/*NBench.PerformanceCounters.Tests.*.csproj" + -- "./tests/**/*NBench.Tests.Performance.csproj" + -- "./tests/**/*NBench.Tests.Performance.WithDependencies.csproj" + -- "./tests/**/*NBench.Tests.Assembly.csproj") + | _ -> (!! "./tests/**/*NBench.Tests*.csproj" + -- "./tests/**/*NBench.Tests.Reporting.csproj" + -- "./tests/**/*NBench.PerformanceCounters.Tests.*.csproj" + -- "./tests/**/*NBench.Tests.Performance.csproj" + -- "./tests/**/*NBench.Tests.Performance.WithDependencies.csproj" + -- "./tests/**/*NBench.Tests.Assembly.csproj") + + projects |> Seq.iter (log) + projects |> Seq.iter (runSingleProject) ) Target "NBench" <| fun _ -> if (isWindows) then // .NET 4.5.2 let nbenchRunner = findToolInSubPath "NBench.Runner.exe" "src/NBench.Runner/bin/Release/net452/win7-x64" - let assembly = __SOURCE_DIRECTORY__ @@ "/tests/NBench.Tests.Performance/bin/Release/net452/NBench.Tests.Performance.dll" + let assembly = __SOURCE_DIRECTORY__ @@ "/tests/NBench.Tests.Performance.WithDependencies/bin/Release/net452/NBench.Tests.Performance.WithDependencies.dll" let spec = getBuildParam "spec" @@ -174,10 +159,10 @@ Target "NBench" <| fun _ -> Project = netCoreNbenchRunnerProject Configuration = configuration Runtime = "win7-x64" - Framework = "netcoreapp1.0"}) + Framework = "netcoreapp1.1"}) - let netCoreNbenchRunner = findToolInSubPath "dotnet-nbench.exe" "/src/NBench.Runner.DotNetCli/bin/Release/netcoreapp1.0/win7-x64/" - let netCoreAssembly = __SOURCE_DIRECTORY__ @@ "/tests/NBench.Tests.Performance/bin/Release/netcoreapp1.0/NBench.Tests.Performance.dll" + let netCoreNbenchRunner = findToolInSubPath "dotnet-nbench.exe" "/src/NBench.Runner.DotNetCli/bin/Release/netcoreapp1.1/win7-x64/" + let netCoreAssembly = __SOURCE_DIRECTORY__ @@ "/tests/NBench.Tests.Performance.WithDependencies/bin/Release/netstandard1.6/NBench.Tests.Performance.WithDependencies.dll" let netCoreNbenchRunnerArgs = new StringBuilder() |> append netCoreAssembly @@ -206,10 +191,10 @@ Target "NBench" <| fun _ -> Project = netCoreNbenchRunnerProject Configuration = configuration Runtime = "debian.8-x64" - Framework = "netcoreapp1.0"}) + Framework = "netcoreapp1.1"}) - let linuxNbenchRunner = __SOURCE_DIRECTORY__ @@ "/src/NBench.Runner.DotNetCli/bin/Release/netcoreapp1.0/debian.8-x64/dotnet-nbench" - let linuxPerfAssembly = __SOURCE_DIRECTORY__ @@ "/tests/NBench.Tests.Performance/bin/Release/netcoreapp1.0/NBench.Tests.Performance.dll" + let linuxNbenchRunner = __SOURCE_DIRECTORY__ @@ "/src/NBench.Runner.DotNetCli/bin/Release/netcoreapp1.1/debian.8-x64/dotnet-nbench" + let linuxPerfAssembly = __SOURCE_DIRECTORY__ @@ "/tests/NBench.Tests.Performance.WithDependencies/bin/Release/netstandard1.6/NBench.Tests.Performance.WithDependencies.dll" let linuxNbenchRunnerArgs = new StringBuilder() |> append linuxPerfAssembly @@ -220,7 +205,7 @@ Target "NBench" <| fun _ -> let result = ExecProcess(fun info -> info.FileName <- linuxNbenchRunner - info.WorkingDirectory <- __SOURCE_DIRECTORY__ @@ "/src/NBench.Runner.DotNetCli/bin/Release/netcoreapp1.0/debian.8-x64/" + info.WorkingDirectory <- __SOURCE_DIRECTORY__ @@ "/src/NBench.Runner.DotNetCli/bin/Release/netcoreapp1.1/debian.8-x64/" info.Arguments <- linuxNbenchRunnerArgs) (System.TimeSpan.FromMinutes 15.0) (* Reasonably long-running task. *) if result <> 0 then failwithf "NBench.Runner failed. %s %s" linuxNbenchRunner linuxNbenchRunnerArgs @@ -245,7 +230,7 @@ Target "CopyOutput" (fun _ -> projects |> List.iter (fun p -> publishSingleProjectNet45 p) let netCoreProjects = [ ("NBench", "./src/NBench/NBench.csproj", "netstandard1.6"); - ("NBench.Runner.DotNetCli", "./src/NBench.Runner.DotNetCli/NBench.Runner.DotNetCli.csproj", "netcoreapp1.0") ] + ("NBench.Runner.DotNetCli", "./src/NBench.Runner.DotNetCli/NBench.Runner.DotNetCli.csproj", "netcoreapp1.1") ] let publishSingleProjectNetCoreApp project = let projectName, projectPath, projectFramework = project diff --git a/build.ps1 b/build.ps1 index 63f2de3a..108e53e0 100644 --- a/build.ps1 +++ b/build.ps1 @@ -32,7 +32,7 @@ Param( $FakeVersion = "4.50.0" $NBenchVersion = "0.3.4" $DotNetChannel = "preview"; -$DotNetVersion = "1.0.0"; +$DotNetVersion = "1.0.3"; $DotNetInstallerUri = "https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.ps1"; $NugetVersion = "3.5.0"; $NugetUrl = "https://dist.nuget.org/win-x86-commandline/v$NugetVersion/nuget.exe" diff --git a/build.sh b/build.sh index 740aea98..3e220f82 100755 --- a/build.sh +++ b/build.sh @@ -45,7 +45,7 @@ if [ ! -d "$SCRIPT_DIR/.dotnet" ]; then mkdir "$SCRIPT_DIR/.dotnet" fi curl -Lsfo "$SCRIPT_DIR/.dotnet/dotnet-install.sh" https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.sh -bash "$SCRIPT_DIR/.dotnet/dotnet-install.sh" --version 1.0.0 --install-dir .dotnet --no-path +bash "$SCRIPT_DIR/.dotnet/dotnet-install.sh" --version 1.0.3 --install-dir .dotnet --no-path export PATH="$SCRIPT_DIR/.dotnet":$PATH export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1 @@ -84,6 +84,11 @@ if [ ! -f "$FAKE_EXE" ]; then exit 1 fi +########################################################################### +# WORKAROUND FOR MONO +########################################################################### +export FrameworkPathOverride=/usr/lib/mono/4.5/ + ########################################################################### # RUN BUILD SCRIPT ########################################################################### diff --git a/src/NBench.PerformanceCounters/NBench.PerformanceCounters.csproj b/src/NBench.PerformanceCounters/NBench.PerformanceCounters.csproj index 9cfcd86f..562128ee 100644 --- a/src/NBench.PerformanceCounters/NBench.PerformanceCounters.csproj +++ b/src/NBench.PerformanceCounters/NBench.PerformanceCounters.csproj @@ -4,7 +4,7 @@ Cross-platform performance benchmarking and testing framework for .NET applications. Copyright (c) Petabridge https://petabridge.com/ NBench - 1.0.1 + 1.0.2 Petabridge net452 NBench.PerformanceCounters diff --git a/src/NBench.Runner.DotNetCli/NBench.Runner.DotNetCli.csproj b/src/NBench.Runner.DotNetCli/NBench.Runner.DotNetCli.csproj index 85d01f50..b29aeec6 100644 --- a/src/NBench.Runner.DotNetCli/NBench.Runner.DotNetCli.csproj +++ b/src/NBench.Runner.DotNetCli/NBench.Runner.DotNetCli.csproj @@ -5,9 +5,9 @@ Copyright (c) Petabridge https://petabridge.com/ NBench dotnet-nbench - 1.0.1 + 1.0.2 Petabridge - netcoreapp1.0 + netcoreapp1.1 Exe win7-x64;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64 DotnetCliTool diff --git a/src/NBench.Runner/NBench.Runner.csproj b/src/NBench.Runner/NBench.Runner.csproj index a7de843f..a6b10829 100644 --- a/src/NBench.Runner/NBench.Runner.csproj +++ b/src/NBench.Runner/NBench.Runner.csproj @@ -5,7 +5,7 @@ Copyright (c) Petabridge https://petabridge.com/ NBench NBench.Runner - 1.0.1 + 1.0.2 Petabridge net452 Exe diff --git a/src/NBench/NBench.csproj b/src/NBench/NBench.csproj index 961611df..eb85ea3d 100644 --- a/src/NBench/NBench.csproj +++ b/src/NBench/NBench.csproj @@ -4,7 +4,7 @@ Cross-platform performance benchmarking and testing framework for .NET applications. Copyright (c) Petabridge https://petabridge.com/ NBench - 1.0.1 + 1.0.2 Petabridge net452;netstandard1.6 NBench diff --git a/src/NBench/Properties/Friends.cs b/src/NBench/Properties/Friends.cs index 89e859c6..9a45b97c 100644 --- a/src/NBench/Properties/Friends.cs +++ b/src/NBench/Properties/Friends.cs @@ -6,4 +6,6 @@ [assembly: InternalsVisibleTo("NBench.Tests")] [assembly: InternalsVisibleTo("NBench.Tests.End2End")] [assembly: InternalsVisibleTo("NBench.Microbenchmarks")] +[assembly: InternalsVisibleTo("NBench.Tests.Reporting")] + diff --git a/src/NBench/Sdk/Compiler/AssemblyRuntimeLoader.cs b/src/NBench/Sdk/Compiler/AssemblyRuntimeLoader.cs index 0ef45f29..7bf98b69 100644 --- a/src/NBench/Sdk/Compiler/AssemblyRuntimeLoader.cs +++ b/src/NBench/Sdk/Compiler/AssemblyRuntimeLoader.cs @@ -1,10 +1,15 @@ // Copyright (c) Petabridge . All rights reserved. // Licensed under the Apache 2.0 license. See LICENSE file in the project root for full license information. +using System; +using System.Collections.Generic; +using System.Diagnostics; using System.IO; +using System.Linq; using System.Reflection; #if CORECLR using System.Runtime.Loader; +using Microsoft.Extensions.DependencyModel; #endif namespace NBench.Sdk.Compiler @@ -46,12 +51,35 @@ public static bool CanFindAssembly(string assemblyPath) public static Assembly LoadAssembly(string assemblyPath) { #if CORECLR - return AssemblyLoadContext.Default.LoadFromAssemblyPath(assemblyPath); + AssemblyLoadContext.Default.Resolving += (assemblyLoadContext, assemblyName) => DefaultOnResolving(assemblyLoadContext, assemblyName, assemblyPath); + var targetAssembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(assemblyPath); + DependencyContext.Load(targetAssembly) + .CompileLibraries + .Where(dep => dep.Name.ToLower() + .Contains(targetAssembly.FullName.Split(new[] { ',' })[0].ToLower())) + .Select(dependency => AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(dependency.Name))); + return targetAssembly; #else + AppDomain currentDomain = AppDomain.CurrentDomain; + currentDomain.AssemblyResolve += ((sender, e) => ResolveAssembly(sender, e, assemblyPath)); var targetAssembly = Assembly.LoadFrom(assemblyPath); return targetAssembly; #endif } + +#if !CORECLR + private static Assembly ResolveAssembly(object sender, ResolveEventArgs e, string assemblyPath) + { + string dllName = e.Name.Split(new[] { ',' })[0] + ".dll"; + return Assembly.LoadFrom(Path.Combine(Path.GetDirectoryName(assemblyPath), dllName)); + } +#else + private static Assembly DefaultOnResolving(AssemblyLoadContext assemblyLoadContext, AssemblyName assemblyName, string assemblyPath) + { + string dllName = assemblyName.Name.Split(new[] { ',' })[0] + ".dll"; + return assemblyLoadContext.LoadFromAssemblyPath(Path.Combine(Path.GetDirectoryName(assemblyPath), dllName)); + } +#endif } } diff --git a/src/NBench/Sdk/TestRunner.cs b/src/NBench/Sdk/TestRunner.cs index cdf36f39..9fe53e29 100644 --- a/src/NBench/Sdk/TestRunner.cs +++ b/src/NBench/Sdk/TestRunner.cs @@ -7,8 +7,12 @@ using System; using System.Diagnostics; using System.Diagnostics.Contracts; +using System.IO; using System.Reflection; using System.Runtime.InteropServices; +#if CORECLR +using System.Runtime.Loader; +#endif using System.Threading; using Microsoft.Win32; diff --git a/tests/NBench.PerformanceCounters.Tests.End2End/NBench.PerformanceCounters.Tests.End2End.csproj b/tests/NBench.PerformanceCounters.Tests.End2End/NBench.PerformanceCounters.Tests.End2End.csproj index 4cad50f1..6d84390a 100644 --- a/tests/NBench.PerformanceCounters.Tests.End2End/NBench.PerformanceCounters.Tests.End2End.csproj +++ b/tests/NBench.PerformanceCounters.Tests.End2End/NBench.PerformanceCounters.Tests.End2End.csproj @@ -24,4 +24,8 @@ + + + + diff --git a/tests/NBench.Tests.Assembly/NBench.Tests.Assembly.csproj b/tests/NBench.Tests.Assembly/NBench.Tests.Assembly.csproj index 477a89aa..cb250c6f 100644 --- a/tests/NBench.Tests.Assembly/NBench.Tests.Assembly.csproj +++ b/tests/NBench.Tests.Assembly/NBench.Tests.Assembly.csproj @@ -1,7 +1,7 @@  - net452;netcoreapp1.0 + net452;netcoreapp1.1 @@ -12,7 +12,7 @@ - + @@ -27,7 +27,7 @@ $(DefineConstants);THREADPOOL;APPDOMAIN;SERIALIZATION - + $(DefineConstants);CORECLR diff --git a/tests/NBench.Tests.End2End/NBench.Tests.End2End.csproj b/tests/NBench.Tests.End2End/NBench.Tests.End2End.csproj index b1d606e1..cdee0b12 100644 --- a/tests/NBench.Tests.End2End/NBench.Tests.End2End.csproj +++ b/tests/NBench.Tests.End2End/NBench.Tests.End2End.csproj @@ -1,7 +1,7 @@  - net46;netcoreapp1.0 + net46;netcoreapp1.1 @@ -10,8 +10,9 @@ - - + + + @@ -21,7 +22,7 @@ - + @@ -32,11 +33,15 @@ + + + + $(DefineConstants);THREADPOOL;APPDOMAIN;SERIALIZATION - + $(DefineConstants);CORECLR diff --git a/tests/NBench.Tests.End2End/NBenchIntegrationTest.WithDependencies.cs b/tests/NBench.Tests.End2End/NBenchIntegrationTest.WithDependencies.cs new file mode 100644 index 00000000..066fd8c9 --- /dev/null +++ b/tests/NBench.Tests.End2End/NBenchIntegrationTest.WithDependencies.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using NBench.Reporting; +using NBench.Reporting.Targets; +using NBench.Sdk; +using NBench.Sdk.Compiler; +using Xunit; +using Xunit.Abstractions; + +namespace NBench.Tests.End2End +{ + public class NBenchIntregrationTestWithDependencies : IDisposable + { + private static readonly IBenchmarkOutput _benchmarkOutput = new ActionBenchmarkOutput(report => { }, results => + { + foreach (var assertion in results.AssertionResults) + { + Assert.True(assertion.Passed, results.BenchmarkName + " " + assertion.Message); + } + }); + + private IDiscovery _discovery = new ReflectionDiscovery(_benchmarkOutput); + + private readonly ITestOutputHelper _output; + + public NBenchIntregrationTestWithDependencies(ITestOutputHelper output) + { + _output = output; + } + + [Fact] + public void ShouldPassAllBenchmarks() + { + if (!TestRunner.IsMono) // this spec currently hits a runtime exception with Mono: https://bugzilla.xamarin.com/show_bug.cgi?id=43291 + { + var benchmarks = _discovery.FindBenchmarks(GetType().GetTypeInfo().Assembly).ToList(); + Assert.True(benchmarks.Count >= 1); + Benchmark.PrepareForRun(); // force some GC here + for (var i = 0; i < benchmarks.Count; i++) + { + Benchmark.PrepareForRun(); // force some GC here + benchmarks[i].Run(); + benchmarks[i].Finish(); + } + } + } + + [Fact] + public void LoadAssemblyCorrect() + { + var package = LoadPackageWithDependencies(); + var result = TestRunner.Run(package); + Assert.True(result.AllTestsPassed); + Assert.NotEqual(0, result.ExecutedTestsCount); + Assert.Equal(0, result.IgnoredTestsCount); + } + + private static TestPackage LoadPackageWithDependencies(IEnumerable include = null, IEnumerable exclude = null) + { +#if CORECLR + var assemblySubfolder = "netstandard1.6"; +#else + var assemblySubfolder = "net452"; +#endif + +#if DEBUG + var package = new TestPackage(".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + "NBench.Tests.Performance.WithDependencies" + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "Release" + Path.DirectorySeparatorChar + assemblySubfolder + Path.DirectorySeparatorChar + "NBench.Tests.Performance.WithDependencies.dll", include, exclude); +#else + var package = new TestPackage(".." + Path.DirectorySeparatorChar + ".."+ Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + "NBench.Tests.Performance.WithDependencies" + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "Release" + Path.DirectorySeparatorChar + assemblySubfolder + Path.DirectorySeparatorChar + "NBench.Tests.Performance.WithDependencies.dll", include, exclude); +#endif + + package.Validate(); + return package; + } + + public void Dispose() + { + if (_discovery != null) + { + _discovery = null; + } + } + } +} diff --git a/tests/NBench.Tests.End2End/NBenchIntregrationTest.cs b/tests/NBench.Tests.End2End/NBenchIntregrationTest.cs index fcd5f3c3..66220474 100644 --- a/tests/NBench.Tests.End2End/NBenchIntregrationTest.cs +++ b/tests/NBench.Tests.End2End/NBenchIntregrationTest.cs @@ -100,13 +100,13 @@ public void RunnerExcludePattern() private static TestPackage LoadPackage(IEnumerable include = null, IEnumerable exclude = null) { #if CORECLR - var assemblySubfolder = "netcoreapp1.0"; + var assemblySubfolder = "netcoreapp1.1"; #else var assemblySubfolder = "net452"; #endif #if DEBUG - var package = new TestPackage(".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + "NBench.Tests.Assembly" + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "Debug" + Path.DirectorySeparatorChar + assemblySubfolder + Path.DirectorySeparatorChar + "NBench.Tests.Assembly.dll", include, exclude); + var package = new TestPackage(".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + "NBench.Tests.Assembly" + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "Release" + Path.DirectorySeparatorChar + assemblySubfolder + Path.DirectorySeparatorChar + "NBench.Tests.Assembly.dll", include, exclude); #else var package = new TestPackage(".." + Path.DirectorySeparatorChar + ".."+ Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + "NBench.Tests.Assembly" + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "Release" + Path.DirectorySeparatorChar + assemblySubfolder + Path.DirectorySeparatorChar + "NBench.Tests.Assembly.dll", include, exclude); #endif diff --git a/tests/NBench.Tests.Performance.WithDependencies/Actor/ActorThroughputSpec.cs b/tests/NBench.Tests.Performance.WithDependencies/Actor/ActorThroughputSpec.cs new file mode 100644 index 00000000..2d61eb34 --- /dev/null +++ b/tests/NBench.Tests.Performance.WithDependencies/Actor/ActorThroughputSpec.cs @@ -0,0 +1,250 @@ +//----------------------------------------------------------------------- +// +// Copyright (C) 2009-2016 Lightbend Inc. +// Copyright (C) 2013-2016 Akka.NET project +// +//----------------------------------------------------------------------- + +using System; +using System.Threading; +using Akka.Actor; +using Akka.Util.Internal; +using NBench; + +namespace Akka.Tests.Performance.Actor +{ + /// + /// Base class used to test the performance of different implementations + /// + public class ActorThroughputSpec + { + #region Actor classes + internal class BenchmarkActorBasePatternMatchActor : ActorBase + { + private readonly Counter _counter; + private readonly long _maxExpectedMessages; + private long _currentMessages = 0; + private readonly ManualResetEventSlim _resetEvent; + + public BenchmarkActorBasePatternMatchActor(Counter counter, long maxExpectedMessages, ManualResetEventSlim resetEvent) + { + _counter = counter; + _maxExpectedMessages = maxExpectedMessages; + _resetEvent = resetEvent; + } + + protected override bool Receive(object message) + { + return message.Match() + .With(IncrementAndCheck) + .With(IncrementAndCheck) + .With(simpleDataMessage => + { + if (simpleDataMessage.Age > 20) + { + IncrementAndCheck(); + } + else + { + IncrementAndCheck(); + } + }) + .Default(o => IncrementAndCheck()) + .WasHandled; + } + + private void IncrementAndCheck() + { + _counter.Increment(); + if (++_currentMessages == _maxExpectedMessages) + _resetEvent.Set(); + } + + public static Props Props(Counter counter, long maxExpectedMessages, ManualResetEventSlim resetEvent) => Akka.Actor.Props.Create( + () => new BenchmarkActorBasePatternMatchActor(counter, maxExpectedMessages, resetEvent)); + } + + internal class BenchmarkUntypedActor : UntypedActor + { + private readonly Counter _counter; + private readonly long _maxExpectedMessages; + private long _currentMessages = 0; + private readonly ManualResetEventSlim _resetEvent; + + public BenchmarkUntypedActor(Counter counter, long maxExpectedMessages, ManualResetEventSlim resetEvent) + { + _counter = counter; + _maxExpectedMessages = maxExpectedMessages; + _resetEvent = resetEvent; + } + + protected override void OnReceive(object message) + { + if (message is string) + { + string stringMessage = (string)message; + IncrementAndCheck(); + } + else if (message is int) + { + int intMessage = (int)message; + IncrementAndCheck(); + } + else if (message is SimpleData) + { + SimpleData simpleDataMessage = (SimpleData)message; + if (simpleDataMessage.Age > 20) + { + IncrementAndCheck(); + } + else + { + IncrementAndCheck(); + } + } + else + { + IncrementAndCheck(); + } + } + + private void IncrementAndCheck() + { + _counter.Increment(); + if (++_currentMessages == _maxExpectedMessages) + _resetEvent.Set(); + } + + public static Props Props(Counter counter, long maxExpectedMessages, ManualResetEventSlim resetEvent) => Akka.Actor.Props.Create( + () => new BenchmarkUntypedActor(counter, maxExpectedMessages, resetEvent)); + } + + internal class BenchmarkReceiveActor : ReceiveActor + { + private readonly Counter _counter; + private readonly long _maxExpectedMessages; + private long _currentMessages = 0; + private readonly ManualResetEventSlim _resetEvent; + + public BenchmarkReceiveActor(Counter counter, long maxExpectedMessages, ManualResetEventSlim resetEvent) + { + _counter = counter; + _maxExpectedMessages = maxExpectedMessages; + _resetEvent = resetEvent; + + Receive(stringMessage => IncrementAndCheck()); + Receive(intMessage => IncrementAndCheck()); + Receive(simpleDataMessage => simpleDataMessage.Age > 20, simpleDataMessage => IncrementAndCheck()); + Receive(simpleDataMessage => simpleDataMessage.Age <= 20, simpleDataMessage => IncrementAndCheck()); + ReceiveAny(message => IncrementAndCheck()); + } + + private void IncrementAndCheck() + { + _counter.Increment(); + if (++_currentMessages == _maxExpectedMessages) + _resetEvent.Set(); + } + + public static Props Props(Counter counter, long maxExpectedMessages, ManualResetEventSlim resetEvent) => Akka.Actor.Props.Create( + () => new BenchmarkReceiveActor(counter, maxExpectedMessages, resetEvent)); + } + + /// + /// Not thread-safe, but called by a single thread in the benchmark + /// + internal class BenchmarkMinimalActorRef : MinimalActorRef + { + private readonly Counter _counter; + private readonly long _maxExpectedMessages; + private long _currentMessages = 0; + private readonly ManualResetEventSlim _resetEvent; + + public BenchmarkMinimalActorRef(Counter counter, long maxExpectedMessages, ManualResetEventSlim resetEvent) + { + _counter = counter; + _maxExpectedMessages = maxExpectedMessages; + _resetEvent = resetEvent; + } + + protected override void TellInternal(object message, IActorRef sender) + { + _counter.Increment(); + if (++_currentMessages >= _maxExpectedMessages) + _resetEvent.Set(); + } + + public override ActorPath Path { get { return null; } } + public override IActorRefProvider Provider { get { return null; } } + } + #endregion + + internal sealed class SimpleData + { + public SimpleData(string name, int age) + { + Name = name; + Age = age; + } + + public string Name { get; } + + public int Age { get; } + } + + private SimpleData dataExample = new SimpleData("John", 25); + private int intExample = 343; + private string stringExample = "just_string"; + + private const string MailboxCounterName = "MessageReceived"; + private const long MailboxMessageCount = 10000000; + private Counter _mailboxThroughput; + private readonly ManualResetEventSlim _resetEvent = new ManualResetEventSlim(false); + + private IActorRef _actorBasePatternMatchActorRef; + private IActorRef _untypedActorRef; + private IActorRef _receiveActorRef; + private IActorRef _minimalActorRef; + + private static readonly AtomicCounter Counter = new AtomicCounter(0); + protected ActorSystem System; + + [PerfSetup] + public void Setup(BenchmarkContext context) + { + _mailboxThroughput = context.GetCounter(MailboxCounterName); + System = ActorSystem.Create($"{GetType().Name}{Counter.GetAndIncrement()}"); + + _actorBasePatternMatchActorRef = System.ActorOf(BenchmarkActorBasePatternMatchActor.Props(_mailboxThroughput, MailboxMessageCount * 3, _resetEvent)); + _untypedActorRef = System.ActorOf(BenchmarkUntypedActor.Props(_mailboxThroughput, MailboxMessageCount * 3, _resetEvent)); + _receiveActorRef = System.ActorOf(BenchmarkReceiveActor.Props(_mailboxThroughput, MailboxMessageCount * 3, _resetEvent)); + _minimalActorRef = new BenchmarkMinimalActorRef(_mailboxThroughput, MailboxMessageCount, _resetEvent); + } + + [PerfBenchmark( + Description = "Measures the throughput of an ActorBase + Pattern match class", + RunMode = RunMode.Iterations, NumberOfIterations = 1, TestMode = TestMode.Measurement, + RunTimeMilliseconds = 1000)] + [CounterMeasurement(MailboxCounterName)] + [GcMeasurement(GcMetric.TotalCollections, GcGeneration.AllGc)] + public void ActorBase_PatternMatch_Throughput(BenchmarkContext context) + { + for (var i = 0; i < MailboxMessageCount;) + { + _actorBasePatternMatchActorRef.Tell(dataExample); + _actorBasePatternMatchActorRef.Tell(intExample); + _actorBasePatternMatchActorRef.Tell(stringExample); + ++i; + } + _resetEvent.Wait(); //wait up to a second + } + + [PerfCleanup] + public void Cleanup() + { + System.Terminate().Wait(TimeSpan.FromSeconds(2.0d)); + System = null; + _resetEvent.Dispose(); + } + } +} \ No newline at end of file diff --git a/tests/NBench.Tests.Performance.WithDependencies/App.config b/tests/NBench.Tests.Performance.WithDependencies/App.config new file mode 100644 index 00000000..a6ad8283 --- /dev/null +++ b/tests/NBench.Tests.Performance.WithDependencies/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/tests/NBench.Tests.Performance.WithDependencies/NBench.Tests.Performance.WithDependencies.csproj b/tests/NBench.Tests.Performance.WithDependencies/NBench.Tests.Performance.WithDependencies.csproj new file mode 100644 index 00000000..ef757bc5 --- /dev/null +++ b/tests/NBench.Tests.Performance.WithDependencies/NBench.Tests.Performance.WithDependencies.csproj @@ -0,0 +1,44 @@ + + + + Akka.Tests.Performance + net452;netstandard1.6 + true + + + + + + + + + + + + + + + + + + ..\dependencies\Akka\netstandard1.6\Akka.dll + + + ..\dependencies\Akka.TestKit\netstandard1.6\Akka.TestKit.dll + + + + + + ..\dependencies\Akka\net45\Akka.dll + + + ..\dependencies\Akka.TestKit\net45\Akka.TestKit.dll + + + + + $(DefineConstants);RELEASE + + + \ No newline at end of file diff --git a/tests/NBench.Tests.Performance.WithDependencies/Properties/AssemblyInfo.cs b/tests/NBench.Tests.Performance.WithDependencies/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..7f035aa5 --- /dev/null +++ b/tests/NBench.Tests.Performance.WithDependencies/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +//----------------------------------------------------------------------- +// +// Copyright (C) 2009-2016 Lightbend Inc. +// Copyright (C) 2013-2016 Akka.NET project +// +//----------------------------------------------------------------------- + +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("b17dedcb-d2aa-472d-82a0-d242b711f488")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] diff --git a/tests/NBench.Tests.Performance/NBench.Tests.Performance.csproj b/tests/NBench.Tests.Performance/NBench.Tests.Performance.csproj index 313aa207..514f9a4a 100644 --- a/tests/NBench.Tests.Performance/NBench.Tests.Performance.csproj +++ b/tests/NBench.Tests.Performance/NBench.Tests.Performance.csproj @@ -1,7 +1,7 @@  - net452;netcoreapp1.0 + net452;netstandard1.6 @@ -23,7 +23,7 @@ $(DefineConstants);THREADPOOL;APPDOMAIN;SERIALIZATION - + $(DefineConstants);CORECLR diff --git a/tests/NBench.Tests/NBench.Tests.csproj b/tests/NBench.Tests/NBench.Tests.csproj index f5b149a8..adaeda47 100644 --- a/tests/NBench.Tests/NBench.Tests.csproj +++ b/tests/NBench.Tests/NBench.Tests.csproj @@ -1,7 +1,7 @@  - net46;netcoreapp1.0 + net46;netcoreapp1.1 @@ -10,8 +10,9 @@ - - + + + @@ -20,11 +21,15 @@ + + + + $(DefineConstants);THREADPOOL;APPDOMAIN;SERIALIZATION - + $(DefineConstants);CORECLR diff --git a/tests/dependencies/Akka.TestKit/net45/Akka.TestKit.dll b/tests/dependencies/Akka.TestKit/net45/Akka.TestKit.dll new file mode 100644 index 00000000..4a640814 Binary files /dev/null and b/tests/dependencies/Akka.TestKit/net45/Akka.TestKit.dll differ diff --git a/tests/dependencies/Akka.TestKit/net45/Akka.TestKit.xml b/tests/dependencies/Akka.TestKit/net45/Akka.TestKit.xml new file mode 100644 index 00000000..24aee89f --- /dev/null +++ b/tests/dependencies/Akka.TestKit/net45/Akka.TestKit.xml @@ -0,0 +1,4225 @@ + + + + Akka.TestKit + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Creates an . + An will be called for each received message and can be + used to send or forward messages, etc. + Each invocation must return the for the next round. + To reuse an for the next message either + return the instance or return . + Return to stop handling messages. + + + + + This function will be called for each received message and can be + used to send or forward messages, etc. + Each invocation must return the for the next round. + + The sender. + The message. + The to be used for the next round + + + + When returned by another then no + action will be performed by the + for the next message. This is the default used + by . + + + + + When returned by another then + will reuse the AutoPilot for the next message. + + + + + When returned by another then no + action will be performed by the + for the next message. This is the default used + by . + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + When returned by another then + will reuse the AutoPilot for the next message. + + + + + TBD + + + + + N/A + + N/A + N/A + + This exception is automatically thrown since calling this function would never occur in normal operation. + + N/A + + + + TBD + + TBD + TBD + TBD + + + + Creates an . + The specified in the constructor will + be called for each received message and can be used to send or forward + messages, etc. + Each invocation must return the for the next round. + To have this instance handle the next message either return this instance + or return . + Return to stop handling messages. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + Default Akka.TestKit configurations + + + + + The default TestKit config + + + + + Configuration for tests that require deterministic control over the AkkaSystem scheduler. + + + + + Filter which matches DeadLetter events, if the wrapped message conforms to the given type. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Exception<MyException>(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The type of the exception. + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Exception<MyException>(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The type of the exception. It must be a . + The event must match the pattern to be filtered. + >Optional. The event source. + Optional. When set to true not only the top level exception is matched, but inner exceptions are also checked until one matches. Default: false + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + + + Exception<MyException>() // filter only on exception type + Exception<MyException>("message") // filter on exactly matching message + Exception<MyException>(source: obj) // filter on event source + Exception<MyException>(start: "Expected") // filter on start of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The type of the exception. + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + >Optional. If specified (and is not specified, the event must start with the string to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + + + Exception(typeof(MyException)) // filter only on exception type + Exception(typeof(MyException), "message") // filter on exactly matching message + Exception(typeof(MyException), source: obj) // filter on event source + Exception(typeof(MyException), start: "Expected") // filter on start of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The type of the exception. It must be a . + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + >Optional. If specified (and is not specified, the event must start with the string to be filtered. + >Optional. The event source. + Optional. When set to true not only the top level exception is matched, but inner exceptions are also checked until one matches. Default: false + The new filter + + + + Create a custom event filter. The filter will affect those events for + which the function returns true. + + This function must return true for events that should be filtered. + TBD + + + + Create a custom event filter. The filter will affect those events for + which the function returns true. + + TBD + This function must return true for events that should be filtered. + TBD + + + + Creates an event filter given the specified . + This is the same as calling , + or + directly. + + The log level used to match events being filtered. + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + + This exception is thrown when the given is unknown. + + An event filter that matches on the given . + + + + Creates a filter given the specified . + This is the same as calling , + or + directly. + + The log level used to match events being filtered. + The event must match the pattern to be filtered. + >Optional. The event source. + + This exception is thrown when the given is unknown. + + An event filter that matches the given with the supplied . + + + + Creates a filter that catches dead letters + + TBD + + + + Creates a filter that catches dead letters of the specified type and, optionally from the specified source. + + TBD + TBD + TBD + + + + Creates a filter that catches dead letters of the specified type and matches the predicate, and optionally from the specified source. + + TBD + TBD + TBD + TBD + + + + Creates a filter that catches dead letters of the specified type and, optionally from the specified source. + + TBD + TBD + TBD + + + + Creates a filter that catches dead letters of the specified type and matches the predicate, and optionally from the specified source. + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + If !=null and both and + have not been specified, + the event must contain the given string to be filtered. + + Error() // filter all Error events + Error("message") // filter on exactly matching message + Error(source: obj) // filter on event source + Error(start: "Expected") // filter on start of message + Error(contains: "Expected") // filter on part of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Error(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + If !=null and both and + have not been specified, + the event must contain the given string to be filtered. + + Warning() // filter all Warning events + Warning("message") // filter on exactly matching message + Warning(source: obj) // filter on event source + Warning(start: "Expected") // filter on start of message + Warning(contains: "Expected") // filter on part of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Warning(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + If !=null and both and + have not been specified, + the event must contain the given string to be filtered. + + Info() // filter all Info events + Info("message") // filter on exactly matching message + Info(source: obj) // filter on event source + Info(start: "Expected") // filter on start of message + Info(contains: "Expected") // filter on part of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Info(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + If !=null and both and + have not been specified, + the event must contain the given string to be filtered. + + Debug() // filter all Debug events + Debug("message") // filter on exactly matching message + Debug(source: obj) // filter on event source + Debug(start: "Expected") // filter on start of message + Debug(contains: "Expected") // filter on part of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Debug(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Executes and + expects one event to be logged during the execution. + This method fails and throws an exception if more than one event is logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The action. + + + + Executes and + expects one event to be logged during the execution. + This method fails and throws an exception if more than one event is logged, + or if a timeout occurs. + + The time to wait for a log event after executing + The action. + + + + Executes and expects the specified number + of events to be logged during the execution. + This method fails and throws an exception if more events than expected are logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The expected number of events + The action. + + + + Executes and expects the specified number + of events to be logged during the execution. + This method fails and throws an exception if more events than expected are logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The time to wait for log events after executing + The expected number of events + The action. + + + + Executes and + expects one event to be logged during the execution. + This function fails and throws an exception if more than one event is logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The return value of the function + The function. + The returned value from . + + + + Executes and + expects one event to be logged during the execution. + This function fails and throws an exception if more than one event is logged, + or if a timeout occurs. + + The return value of the function + The time to wait for a log event after executing + The function. + The returned value from . + + + + Executes and expects the specified number + of events to be logged during the execution. + This function fails and throws an exception if more events than expected are logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The return value of the function + The expected number of events + The function. + The returned value from . + + + + Executes and expects the specified number + of events to be logged during the execution. + This function fails and throws an exception if more events than expected are logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The return value of the function + The time to wait for log events after executing + The expected number of events + The function. + The returned value from . + + + + Executes and prevent events from being logged during the execution. + + The return value of the function + The function. + The returned value from . + + + + Executes and prevent events from being logged during the execution. + + The function. + The returned value from . + + + + Prevents events from being logged from now on. To allow events to be logged again, call + on the returned object. + + + var filter = EventFilter.Debug().Mute(); + ... + filter.Unmute(); + + + You may also use it like this: + + + using(EventFilter.Debug().Mute()) + { + ... + } + + + + TBD + + + + Let's you chain more filters together. Similar to Akka JVM's filterEvents + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + This exception is thrown when the specified does not implement . + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + TBD + + TBD + TBD + + + Internal! + Facilities for selectively filtering out expected events from logging so + that you can keep your test run’s console output clean and do not miss real + error messages. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Determines whether the specified event should be filtered or not. + + TBD + true to filter the event. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + Internal helper. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + This class represents an implementation of + that uses a as its backing store. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + The type of item to store. + + + + Initializes a new instance of the class. + + The queue to use as the backing store. + + + + Adds the specified item to the end of the queue. + + The item to add to the queue. + + + + + Retrieves all items from the queue. + + + This will remove all items from the queue. + + + An enumeration of all items removed from the queue. + + + + This class represents a queue with the same characteristics of a . + The queue can enqueue items at either the front (FIFO) or the end (LIFO) of the collection. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + The type of item to store. + + + + The number of items that are currently in the queue. + + + + + Adds the specified item to the end of the queue. + + The item to add to the queue. + + + + Adds the specified item to the front of the queue. + + The item to add to the queue. + + + + Tries to add the specified item to the end of the queue within the specified time period. + A token can be provided to cancel the operation if needed. + + The item to add to the queue. + The number of milliseconds to wait for the add to complete. + The cancellation token that can be used to cancel the operation. + true if the add completed within the specified timeout; otherwise, false. + + + + Tries to remove the specified item from the queue. + + The item to remove from the queue. + true if the item was removed; otherwise, false. + + + + Tries to remove the specified item from the queue within the specified time period. + A token can be provided to cancel the operation if needed. + + The item to remove from the queue. + The number of milliseconds to wait for the remove to complete. + The cancellation token that can be used to cancel the operation. + true if the remove completed within the specified timeout; otherwise, false. + + + + Removes an item from the collection. + + The cancellation token that can be used to cancel the operation. + + This exception is thrown when the operation is canceled. + + The item removed from the collection. + + + + An actor that enqueues received messages to a . + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + INTERNAL + This special ActorRef is exclusively for use during unit testing in a single-threaded environment. Therefore, it + overrides the dispatcher to CallingThreadDispatcher and sets the receiveTimeout to None. Otherwise, + it acts just like a normal ActorRef. You may retrieve a reference to the underlying actor to test internal logic. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + Directly inject messages into actor receive behavior. Any exceptions + thrown will be available to you, while still being able to use + become/unbecome. + + The message. + The sender. + + + + TBD + + TBD + + + + Registers this actor to be a death monitor of the provided ActorRef + This means that this actor will get a Terminated()-message when the provided actor + is permanently terminated. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + The subject to watch. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + + + Deregisters this actor from being a death monitor of the provided ActorRef + This means that this actor will not get a Terminated()-message when the provided actor + is permanently terminated. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + The subject to unwatch. + + + + TBD + + TBD + + + + INTERNAL + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + Adds the specified item to the queue. + The item. + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + Get all messages. + + TBD + + + + This class contains extension methods used to simplify working with TimeSpans. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Determine if the supplied has no value. + + The timespan used to check for a value + true if the given timespan has no value; otherwise, false. + + + + Determine if the supplied has zero ticks. + + The timespan used to check the number of ticks. + true if the given timespan has zero ticks; otherwise, false. + + + + Determine if the supplied has zero ticks. + + The timespan used to check the number of ticks. + true if the given timespan has zero ticks; otherwise, false. + + + + Determine if the supplied has one or more ticks. + + The timespan used to check the number of ticks. + true if the given timespan has one or more ticks; otherwise, false. + + + + Determine if the supplied has one or more ticks. + + The timespan used to check the number of ticks. + true if the given timespan has one or more ticks; otherwise, false. + + + + + Determine if the supplied has a negative number of ticks. + + + This is a relaxed definition of a . + For a stricter definition, use + + + The timespan used to check the number of ticks. + true if the given timespan has a negative number of ticks; otherwise, false. + + + + + Determine if the supplied has a negative number of ticks. + + + This is a relaxed definition of a . + For a stricter definition, use + + + The timespan used to check the number of ticks. + true if the given timespan has a negative number of ticks; otherwise, false. + + + + Determine if the supplied is equal to . + + The timespan used for comparison. + true if the given timespan is equal to ; otherwise, false. + + + + Determine if the supplied is equal to . + + The timespan used for comparison. + true if the given timespan is equal to ; otherwise, false. + + + + Throws an if the is not 0 or greater. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + The timespan used for comparison. + The name of the timespan. + + This exception is thrown when the given timespan has zero or less ticks. + + + + + + Compares two supplied timespans and returns the timespan with the least amount of positive ticks. + + + If is null it's treated as + undefined, and is returned. + + + The first timespan used for comparison. + The second timespan used for comparison + The timespan with the least amount of ticks between the two given timespans. + + + + TBD + + + + + Call this to let events that previously have been muted to be logged again. + + + + + EventListener for running tests, which allows selectively filtering out + expected messages. To use it, include something like this in + the configuration: + akka.loggers = ["Akka.TestKit.TestEventListener, Akka.TestKit"] + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Normally test classes has as implicit sender. + So when no sender is specified when sending messages, + is used. + When a a test class implements this behavior is removed and the normal + behavior is restored, i.e. is used as sender when no sender has been specified. + + + public class WithImplicitSender : TestKit + { + public void TheTestMethod() + { + ... + someActor.Tell("message"); //TestActor is used as Sender + someActor.Tell("message", TestActor); //TestActor is used as Sender + } + } + + public class WithNoImplicitSender : TestKit, INoImplicitSender + { + public void TheTestMethod() + { + ... + someActor.Tell("message"); //ActorRefs.NoSender is used as Sender + } + } + + + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + N/A + + + This exception is thrown automatically since this envelope does not contain a message. + + + + + N/A + + + This exception is thrown automatically since this envelope does not have a sender. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + A delegate that returns true if the should be ignored. + + The message. + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Message that is supposed to be sent to a to make it ignore + received messages. If the delegate specified on the constructor returns + true the message will be ignored by + + + + + TBD + + TBD + + + + TBD + + + + + Message that is supposed to be sent to a to make it watch + the specified actor and receive death notifications, + i.e. messages. + + + + + TBD + + TBD + + + + TBD + + + + + Message that is supposed to be sent to a to make it unwatch + a previously watched actor. + + + + + TBD + + TBD + + + + TBD + + + + + Message that is supposed to be sent to a + to install an AutoPilot to drive the : the AutoPilot + will be run for each received message and can be used to send or forward + messages, etc. Each invocation must return the AutoPilot for the next round. + + + + + TBD + + TBD + + + + TBD + + + + + This special ActorRef is exclusively for use during unit testing in a single-threaded environment. Therefore, it + overrides the dispatcher to and sets the receiveTimeout to None. Otherwise, + it acts just like a normal ActorRef. You may retrieve a reference to the underlying actor to test internal logic. + A can be implicitly casted to an or you can get the actual + from the property. + + The type of actor + + + + Initializes a new instance of the class. + + The system. + The actor props. + Optional: The supervisor. + Optional: The name. + + + + Compares a specified to an for equality. + + The test actor used for comparison + The actor used for comparison + true if both actors are equal; otherwise false + + + + Compares a specified to an for inequality. + + The test actor used for comparison + The actor used for comparison + true if both actors are not equal; otherwise false + + + + Compares a specified to an for equality. + + The actor used for comparison + The test actor used for comparison + true if both actors are equal; otherwise false + + + + Compares a specified to an for inequality. + + The actor used for comparison + The test actor used for comparison + true if both actors are not equal; otherwise false + + + + This is the base class for TestActorRefs + + The type of actor + + + + TBD + + TBD + TBD + TBD + TBD + + + + Directly inject messages into actor receive behavior. Any exceptions + thrown will be available to you, while still being able to use + become/unbecome. + + The message. + The sender. + + + + TBD + + + + + TBD + + + + + TBD + + + + + Gets the path of this instance + + + + + Sends a message to this actor. + If this call is made from within an actor, the current actor will be the sender. + If the call is made from a test class that is based on TestKit, TestActor will + will be the sender; + otherwise will be set as sender. + + The message. + + + + Forwards a message to this actor. + If this call is made from within an actor, the current actor will be the sender. + If the call is made from a test class that is based on TestKit, TestActor will + will be the sender; + + The message. + + + + Sends a message to this actor with the specified sender. + + The message. + The sender + + + + Registers this actor to be a death monitor of the provided ActorRef + This means that this actor will get a Terminated()-message when the provided actor + is permanently terminated. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + The subject to watch. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + + + Deregisters this actor from being a death monitor of the provided ActorRef + This means that this actor will not get a Terminated()-message when the provided actor + is permanently terminated. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + The subject to unwatch. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Compares a specified to an for equality. + + The test actor used for comparison + The actor used for comparison + true if both actors are equal; otherwise false + + + + Compares a specified to an for inequality. + + The test actor used for comparison + The actor used for comparison + true if both actors are not equal; otherwise false + + + + Compares a specified to an for equality. + + The actor used for comparison + The test actor used for comparison + true if both actors are equal; otherwise false + + + + Compares a specified to an for inequality. + + The actor used for comparison + The test actor used for comparison + true if both actors are not equal; otherwise false + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + A is an actor that silently + accepts any messages sent to it. + + + + + TBD + + TBD + TBD + + + + Returns a object that can be used to create a + + + + + An is an actor that echoes whatever is sent to it, to the + TestKit's . + By default it also echoes back to the sender, unless the sender is the + (in this case the will only receive one message). + + + + + TBD + + TBD + TBD + + + + Returns a object that can be used to create an . + The echoes whatever is sent to it, to the + TestKit's . + By default it also echoes back to the sender, unless the sender is the + (in this case the will only receive one message) or unless + has been set to false. + + TBD + TBD + TBD + + + + Wraps a for use in testing. + It always uses a timeout when waiting. + Timeouts will always throw an exception. The default timeout is based on + TestKits default out, see . + + + + + Obsolete. Use instead. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + This is a specialized form of the with support for querying and + setting the state of a . + + The type of the actor. + The type of the state. + The type of the data. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + Get current state name of this FSM. + + + Get current state data of this FSM. + + + + Change FSM state data; but do not transition to a new state name. + This method is directly equivalent to a transition initiated from within the FSM. + + TBD + TBD + + + + Change FSM state timeout. This method is directly equivalent to a + transition initiated from within the FSM using the current state name and data + but with the specified timeout. + + TBD + + + + Change FSM state; but keeps the current state data. + This method is directly equivalent to a transition initiated from within the FSM. + + TBD + TBD + + + + Change FSM state. This method is directly equivalent to a + corresponding transition initiated from within the FSM, including timeout + and stop handling. + + TBD + TBD + TBD + TBD + + + + Proxy for + + TBD + TBD + TBD + TBD + + + + Proxy for + + TBD + + + + Proxy for + + TBD + TBD + + + + Determines whether the FSM has a active state timer active. + + true if the FSM has a active state timer active; false otherwise + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Contains . + + + + + TBD + + TBD + + + + TBD + + + + + Unless you're creating a TestKit for a specific test framework, you should probably not inherit directly from this class. + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + + + Create a new instance of the class. + If no is passed in, a new system + with will be created. + + The framework-specific assertion tools. + Optional: The actor system. + Optional: The name of the TestActor. + + This exception is thrown when the given is undefined. + + + + + Create a new instance of the class. + A new system with the specified configuration will be created. + + TBD + The configuration to use for the system. + TBD + Optional: The name of the TestActor. + + This exception is thrown when the given is undefined. + + + + + Initializes the for a new spec. + + The actor system this test will use. Can be null. + The configuration that will use if it's null. + The name that will use if it's null. + The name of the test actor. Can be null. + + + + The that is recreated and used for each test. + + + + + The settings for the testkit. + + + + + The last to send a message to the . + + + + + The default TestKit configuration. + + + + + A full debugging configuration with all log settings enabled. + + + + + The current time. + + + + + The built-in used by . + + + + + The last message received by the . + + + + + The default TestActor. The actor can be controlled by sending it + special control messages, see , + , . + You can also install an to drive the actor, see + . All other messages are forwarded to the queue + and can be retrieved with Receive and the ExpectMsg overloads. + + + + + Filter sent to the system's . + In order to be able to filter the log the special logger + must be installed using the config + akka.loggers = ["Akka.TestKit.TestEventListener, Akka.TestKit"] + It is installed by default in testkit. + + + + + Creates a new event filter for the specified actor system. + + Actor system. + A new instance of . + + + + Returns true if messages are available. + + + true if messages are available; otherwise, false. + + + + + Ignore all messages in the test actor for which the given function + returns true. + + Given a message, if the function returns + true the message will be ignored by . + + + Stop ignoring messages in the test actor. + + + + Have the watch an actor and receive + messages when the actor terminates. + + The actor to watch. + The actor to watch, i.e. the parameter + + + + Have the stop watching an actor. + + The actor to unwatch. + The actor to unwatch, i.e. the parameter + + + + + Install an to drive the . + The will be run for each received message and can + be used to send or forward messages, etc. + + + Each invocation must return the AutoPilot for the next round. To reuse the + same return . + + + The pilot to install. + + + + + Retrieves the time remaining for execution of the innermost enclosing + Within block. + If missing that, then it returns the properly dilated default for this + case from settings (key: "akka.test.single-expect-default"). + + The returned value is always finite. + + + + + + Retrieves the time remaining for execution of the innermost enclosing + Within block. + + The returned value is always finite. + + + This exception is thrown when called from outside of `within`. + + + + + If inside a `within` block obtain time remaining for execution of the innermost enclosing `within` + block; otherwise returns the given duration. + + TBD + TBD + TBD + + + + If is finite it is returned after it has been scaled using . + If is undefined, it returns the remaining time (if within a `within` block) or the properly dilated + default from settings (key "akka.test.single-expect-default"). + If is infinite, an is thrown. + The returned value is always finite. + + The maximum. + A finite properly dilated + Thrown if is infinite + + + + Multiplies the duration with the , + i.e. the config value "akka.test.timefactor" + + TBD + TBD + + + + If is defined it is returned; otherwise + the config value "akka.test.single-expect-default" is returned. + + TBD + TBD + + + + Shuts down this system. + On failure debug output will be logged about the remaining actors in the system. + If verifySystemShutdown is true, then an exception will be thrown on failure. + + Optional. The duration to wait for shutdown. Default is 5 seconds multiplied with the config value "akka.test.timefactor". + if set to true an exception will be thrown on failure. + + + + Shuts down the specified system. + On failure debug output will be logged about the remaining actors in the system. + If verifySystemShutdown is true, then an exception will be thrown on failure. + + The system to shutdown. + The duration to wait for shutdown. Default is 5 seconds multiplied with the config value "akka.test.timefactor" + if set to true an exception will be thrown on failure. + TBD + + + + Creates a test actor with the specified name. The actor can be controlled by sending it + special control messages, see , + , , + . All other messages are forwarded to the queue + and can be retrieved with Receive and the ExpectMsg overloads. + The default test actor can be retrieved from the property + + The name of the new actor. + TBD + + + + Creates a new . + + Optional: The name of the probe. + A new instance. + + + + Creates a new . + + For multi-actor system tests, you can specify which system the node is for. + Optional: The name of the probe. + TBD + + + + Creates a Countdown latch wrapper for use in testing. + + It uses a timeout when waiting and timeouts are specified as durations. + There's a default timeout of 5 seconds and the default count is 1. + Timeouts will always throw an exception. + + Optional. The count. Default: 1 + A new + + + + Wraps a for use in testing. + It always uses a timeout when waiting. + Timeouts will always throw an exception. The default timeout is 5 seconds. + + TBD + TBD + + + + Create a new actor as child of . + + The props configuration object + TBD + + + + Create a new actor as child of . + + The props configuration object + The name of the actor. + TBD + + + + Create a new actor as child of . + + The type of the actor. It must have a parameterless public constructor + TBD + + + + Create a new actor as child of . + + The type of the actor. It must have a parameterless public constructor + The name of the actor. + TBD + + + + Create a new actor as child of using an expression that calls the constructor + of . + + ActorOf<MyActor>(()=>new MyActor("value", 4711)) + + + The type of the actor. + An expression that calls the constructor of + TBD + + + + Create a new actor as child of using an expression that calls the constructor + of . + + ActorOf<MyActor>(()=>new MyActor("value", 4711), "test-actor") + + + The type of the actor. + An expression that calls the constructor of + The name of the actor. + TBD + + + + Creates a new actor by defining the behavior inside the action. + + + ActorOf(c => + { + c.Receive<string>((msg, ctx) => ctx.Sender.Tell("Hello " + msg)); + }); + + + + An action that configures the actor's behavior. + Optional: The name of the actor. + TBD + + + + Creates a new actor by defining the behavior inside the action. + + + ActorOf(c => + { + c.Receive<string>((msg, ctx) => ctx.Sender.Tell("Hello " + msg)); + }); + + + + An action that configures the actor's behavior. + Optional: The name of the actor. + TBD + + + + Creates an + + The path of the actor(s) we want to select. + An ActorSelection + + + + Creates an + + The path of the actor(s) we want to select. + An ActorSelection + + + + Creates an + + The base actor that anchors the . + The path of the actor(s) we want to select. + An ActorSelection + + + + Create a new actor as child of specified supervisor and returns it as + to enable access to the underlying actor instance via . + + The type of the actor. It must have a parameterless public constructor + The object + The supervisor + Optional: The name. + TBD + + + + Create a new actor as child of and returns it as + to enable access to the underlying actor instance via . + + The type of the actor. It must have a parameterless public constructor + The object + Optional: The name. + TBD + + + + Create a new actor as child of the specified supervisor and returns it as + to enable access to the underlying actor instance via . + Uses an expression that calls the constructor of . + + ActorOf<MyActor>(()=>new MyActor("value", 4711), "test-actor") + + + The type of the actor. + An expression that calls the constructor of + The supervisor + Optional: The name. + TBD + + + + Create a new actor as child of and returns it as + to enable access to the underlying actor instance via . + Uses an expression that calls the constructor of . + + ActorOf<MyActor>(()=>new MyActor("value", 4711), "test-actor") + + + The type of the actor. + An expression that calls the constructor of + Optional: The name. + TBD + + + + Create a new actor as child of the specified supervisor and returns it as + to enable access to the underlying actor instance via . + + The type of the actor. It must have a parameterless public constructor + The supervisor + Optional: The name. + TBD + + + + Create a new actor as child of and returns it as + to enable access to the underlying actor instance via . + + The type of the actor. It must have a parameterless public constructor + Optional: The name. + TBD + + + + Create a new as child of the specified supervisor + and returns it as to enable inspecting and modifying the FSM directly. + + The type of the actor. It must be a + The type of state name + The type of state data + The object + The supervisor + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of + and returns it as to enable inspecting and modifying the FSM directly. + + The type of the actor. It must be a and have a public parameterless constructor + The type of state name + The type of state data + The object + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of the specified supervisor + and returns it as to enable inspecting and modifying the FSM directly. + must have a public parameterless constructor. + + The type of the actor. It must have a parameterless public constructor + The type of state name + The type of state data + The supervisor + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of + and returns it as to enable inspecting and modifying the FSM directly. + must have a public parameterless constructor. + + The type of the actor. It must have a parameterless public constructor + The type of state name + The type of state data + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of the specified supervisor + and returns it as to enable inspecting and modifying the FSM directly. + Uses an expression that calls the constructor of . + + The type of the actor. + The type of state name + The type of state data + An expression that calls the constructor of + The supervisor + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of + and returns it as to enable inspecting and modifying the FSM directly. + Uses an expression that calls the constructor of . + + The type of the actor. + The type of state name + The type of state data + An expression that calls the constructor of + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Await until the given assertion does not throw an exception or the timeout + expires, whichever comes first. If the timeout expires the last exception + is thrown. + The action is called, and if it throws an exception the thread sleeps + the specified interval before retrying. + If no timeout is given, take it from the innermost enclosing `within` + block. + Note that the timeout is scaled using , + which uses the configuration entry "akka.test.timefactor". + + The action. + The timeout. + The interval to wait between executing the assertion. + + + + Await until the given condition evaluates to true or until a timeout + The timeout is taken from the innermost enclosing `within` + block (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor".. + A call to is done immediately, then the threads sleep + for about a tenth of the timeout value, before it checks the condition again. This is repeated until + timeout or the condition evaluates to true. To specify another interval, use the overload + + + + The condition that must be fulfilled within the duration. + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor".. + A call to is done immediately, then the threads sleep + for about a tenth of the timeout value, before it checks the condition again. This is repeated until + timeout or the condition evaluates to true. To specify another interval, use the overload + + + + The condition that must be fulfilled within the duration. + The maximum duration. If undefined, uses the remaining time + (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor".. + A call to is done immediately, then the threads sleep + for about a tenth of the timeout value, before it checks the condition again. This is repeated until + timeout or the condition evaluates to true. To specify another interval, use the overload + + + + The condition that must be fulfilled within the duration. + The maximum duration. If undefined, uses the remaining time + (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The message used if the timeout expires. + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block. + Note that the timeout is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The parameter specifies the time between calls to + Between calls the thread sleeps. If is undefined the thread only sleeps + one time, using the as duration, and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not leave this value as undefined, + instead set it to a relatively small value. + + The condition that must be fulfilled within the duration. + The maximum duration. If undefined, uses the remaining time + (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The time between calls to to check + if the condition is fulfilled. Between calls the thread sleeps. If undefined, negative or + the thread only sleeps one time, using the , + and then rechecks the condition and ultimately succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not set this value as undefined, + instead set it to a relatively small value. + + The message used if the timeout expires. + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. Returns true if the condition was fulfilled. + The parameter specifies the time between calls to + Between calls the thread sleeps. If is not specified or null 100 ms is used. + + The condition that must be fulfilled within the duration. + The maximum duration. + Optional. The time between calls to to check + if the condition is fulfilled. Between calls the thread sleeps. If undefined, 100 ms is used + + TBD + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block. + Note that the timeout is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The parameter specifies the time between calls to + Between calls the thread sleeps. If is undefined the thread only sleeps + one time, using the as duration, and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not leave this value as undefined, + instead set it to a relatively small value. + + The condition that must be fulfilled within the duration. + The maximum duration. The value is dilated, i.e. + scaled by the factor specified in config value "akka.test.timefactor". + The time between calls to to check + if the condition is fulfilled. Between calls the thread sleeps. If undefined the thread only sleeps + one time, using the , and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not set this value as undefined, + instead set it to a relatively small value. + + Action that is called when the timeout expired. + The parameters conforms to + TBD + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block. + Note that the timeout is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The parameter specifies the time between calls to + Between calls the thread sleeps. If is undefined the thread only sleeps + one time, using the as duration, and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not leave this value as undefined, + instead set it to a relatively small value. + + The condition that must be fulfilled within the duration. + The maximum duration. The value is dilated, i.e. + scaled by the factor specified in config value "akka.test.timefactor". + The time between calls to to check + if the condition is fulfilled. Between calls the thread sleeps. If undefined the thread only sleeps + one time, using the , and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not set this value as undefined, + instead set it to a relatively small value. + + Action that is called when the timeout expired. + The parameters conforms to + If a is specified, debug messages will be logged using it. If null nothing will be logged + TBD + + + + Receive one message from the test actor and assert that it is of the specified type. + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that it + equals the . + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that the given + predicate accepts it. + Use this variant to implement more complicated or conditional processing. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and calls the + action that performs extra assertions. + Use this variant to implement more complicated or conditional processing. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that the given + predicate accepts it. + Use this variant to implement more complicated or conditional processing. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor calls the + action that performs extra assertions. + Use this variant to implement more complicated or conditional processing. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message from the test actor and assert that it is equal to the expected value, + according to the specified comparer function. + + Wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message from the test actor and assert that it is the Terminated message of the given ActorRef. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and calls the optional + action that performs extra assertions. Wait time is bounded by the given duration. + Use this variant to implement more complicated or conditional processing. + + + + + Assert that no message is received. + + Wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + + + + Assert that no message is received for the specified time. + + TBD + + + + Assert that no message is received for the specified time in milliseconds. + + TBD + + + + Receive a message from the test actor and assert that it equals + one of the given . Wait time is bounded by + as duration, with an assertion exception being thrown in case of timeout. + + The type of the messages + The messages. + The received messages in received order + + + + Receive a number of messages from the test actor matching the given + number of objects and assert that for each given object one is received + which equals it and vice versa. This construct is useful when the order in + which the objects are received is not fixed. Wait time is bounded by + as duration, with an assertion exception being thrown in case of timeout. + + + dispatcher.Tell(SomeWork1()) + dispatcher.Tell(SomeWork2()) + ExpectMsgAllOf(TimeSpan.FromSeconds(1), Result1(), Result2()) + + + The type of the messages + The messages. + The received messages in received order + + + + Receive a number of messages from the test actor matching the given + number of objects and assert that for each given object one is received + which equals it and vice versa. This construct is useful when the order in + which the objects are received is not fixed. Wait time is bounded by the + given duration, with an assertion exception being thrown in case of timeout. + + + dispatcher.Tell(SomeWork1()) + dispatcher.Tell(SomeWork2()) + ExpectMsgAllOf(TimeSpan.FromSeconds(1), Result1(), Result2()) + + The deadline is scaled by "akka.test.timefactor" using . + + The type of the messages + The deadline. The deadline is scaled by "akka.test.timefactor" using . + The messages. + The received messages in received order + + + + Receive one message from the test actor and assert that it is of the specified type + and was sent by the specified sender + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that it + equals the and was sent by the specified sender + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that the given + predicate accepts it and was sent by the specified sender + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + Use this variant to implement more complicated or conditional processing. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that the given + predicate accepts it and was sent by a sender that matches the predicate. + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + Use this variant to implement more complicated or conditional processing. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor, verifies that the sender is the specified + and calls the action that performs extra assertions. + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + Use this variant to implement more complicated or conditional processing. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and calls the + action that performs extra assertions. + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + Use this variant to implement more complicated or conditional processing. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receives messages until returns true. + Use it to ignore certain messages while waiting for a specific message. + + The is message. + The maximum. + The hint. + Returns the message that matched + + + + Receives messages until returns true. + Use it to ignore certain messages while waiting for a specific message. + + The type of the expected message. Messages of other types are ignored. + The is message. + The maximum. + The hint. + Returns the message that matched + + + + Receive one message from the internal queue of the TestActor. + This method blocks the specified duration or until a message + is received. If no message was received, null is returned. + This method does NOT automatically scale its Duration parameter using ! + + The maximum duration to wait. + If null the config value "akka.test.single-expect-default" is used as timeout. + If set to a negative value or , blocks forever. + This method does NOT automatically scale its Duration parameter using ! + The message if one was received; null otherwise + + + + Receive one message from the internal queue of the TestActor. + This method blocks until cancelled. + + A token used to cancel the operation + The message if one was received; null otherwise + + + + Receive one message from the internal queue of the TestActor within + the specified duration. The method blocks the specified duration. + Note! that the returned + is a containing the sender and the message. + This method does NOT automatically scale its Duration parameter using ! + + The received envelope. + Optional: The maximum duration to wait. + If null the config value "akka.test.single-expect-default" is used as timeout. + If set to a negative value or , blocks forever. + This method does NOT automatically scale its Duration parameter using ! + True if a message was received within the specified duration; false otherwise. + + + + Receive one message from the internal queue of the TestActor within + the specified duration. + True is returned if a message existed, and the message + is returned in . The method blocks the + specified duration, and can be cancelled using the + . + + This method does NOT automatically scale its duration parameter using ! + + The received envelope. + The maximum duration to wait. + If null the config value "akka.test.single-expect-default" is used as timeout. + If set to , blocks forever (or until cancelled). + This method does NOT automatically scale its Duration parameter using ! + + A token used to cancel the operation. + True if a message was received within the specified duration; false otherwise. + + + + Receive a series of messages until the function returns null or the overall + maximum duration is elapsed or expected messages count is reached. + Returns the sequence of messages. + + Note that it is not an error to hit the `max` duration in this case. + The max duration is scaled by + + TBD + TBD + TBD + TBD + TBD + + + + Receive a series of messages until the function returns null or the idle + timeout is met or the overall maximum duration is elapsed or + expected messages count is reached. + Returns the sequence of messages. + + Note that it is not an error to hit the `max` duration in this case. + The max duration is scaled by + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive a series of messages until the function returns null or the idle + timeout is met (disabled by default) or the overall + maximum duration is elapsed or expected messages count is reached. + Returns the sequence of messages. + + Note that it is not an error to hit the `max` duration in this case. + The max duration is scaled by + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive a series of messages. + It will continue to receive messages until the predicate returns false or the idle + timeout is met (disabled by default) or the overall + maximum duration is elapsed or expected messages count is reached. + If a message that isn't of type the parameter + declares if the message should be ignored or not. + Returns the sequence of messages. + + Note that it is not an error to hit the `max` duration in this case. + The max duration is scaled by + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive the specified number of messages using as timeout. + + The number of messages. + The received messages + + + + Receive the specified number of messages in a row before the given deadline. + The deadline is scaled by "akka.test.timefactor" using . + + The number of messages. + The timeout scaled by "akka.test.timefactor" using . + The received messages + + + + Execute code block while bounding its execution time between 0 seconds and . + `within` blocks may be nested. All methods in this class which take maximum wait times + are available in a version which implicitly uses the remaining time governed by + the innermost enclosing `within` block. + Note that the max duration is scaled using which uses the config value "akka.test.timefactor" + + TBD + TBD + TBD + + + + Execute code block while bounding its execution time between and . + `within` blocks may be nested. All methods in this class which take maximum wait times + are available in a version which implicitly uses the remaining time governed by + the innermost enclosing `within` block. + Note that the max duration is scaled using which uses the config value "akka.test.timefactor" + + TBD + TBD + TBD + TBD + TBD + + + + Execute code block while bounding its execution time between 0 seconds and . + `within` blocks may be nested. All methods in this class which take maximum wait times + are available in a version which implicitly uses the remaining time governed by + the innermost enclosing `within` block. + Note that the max duration is scaled using which uses the config value "akka.test.timefactor" + + TBD + TBD + TBD + TBD + TBD + + + + Execute code block while bounding its execution time between and . + `within` blocks may be nested. All methods in this class which take maximum wait times + are available in a version which implicitly uses the remaining time governed by + the innermost enclosing `within` block. + Note that the max duration is scaled using which uses the config value "akka.test.timefactor" + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + A extension to be used together with the TestKit. + + To get the settings: + var testKitSettings = TestKitExtension.For(system); + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Contains settings to be used when writing tests with TestKit. + + + + + Initializes a new instance of the class. + + The configuration to use when setting up the tests. + + This exception is thrown when a negative value is given for the akka.test.timefactor configuration item. + + + + + Gets the default timeout as specified in the setting akka.test.default-timeout. + Typically used for Ask-timeouts. It is always finite. + + + + Gets the config value "akka.test.single-expect-default". It is always finite. + + + Gets the config value "akka.test.filter-leeway". It is always finite. + + + + Gets the timefactor by which all values are scaled by. + + The tight timeouts you use during testing on your lightning-fast notebook + will invariably lead to spurious test failures on the heavily loaded + CI server. To account for this situation, all maximum durations are + internally scaled by this factor, which defaults to 1. To change this value + set configuration "akka.test.timefactor" to a positive double/integer. + + You can scale other durations with the same factor by using the + Testkit.Dilated + + + + + + If set to true calls to testkit will be logged. + This is enabled by setting the configuration value "akka.test.testkit.debug" to a true. + + + + + A count down latch that initially is closed. In order for it to become open must be called. + By default one call is enough, but this can be changed by specifying the count in the constructor. + + By default a timeout of 5 seconds is used. + + When created using TestKit.CreateTestLatch the default + timeout from is used and all timeouts are dilated, i.e. multiplied by + + + Timeouts will always throw an exception. + + + + + Obsolete. This field will be removed. is an alternative. + + + + + Initializes a new instance of the class with count = 1, i.e. the + instance will become open after one call to . + The default timeout is set to 5 seconds. + + + + + Initializes a new instance of the class with the specified count, i.e + number of times must be called to make this instance become open. + The default timeout is set to 5 seconds. + + TBD + + + + Initializes a new instance of the class with the specified count, i.e + number of times must be called to make this instance become open. + + TBD + TBD + + + + Creates a TestLatch with the specified dilate function, timeout and count. + Intended to be used by TestKit. + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Gets a value indicating whether the latch is open. + + + + + Count down the latch. + + + + + Make this instance become open. + + + + + Reset this instance to the initial count, making it become closed. + + + + + Expects the latch to become open within the specified timeout. If the timeout is reached, a + is thrown. + + If this instance has been created using TestKit.CreateTestLatch + is dilated, i.e. multiplied by + + + TBD + + This exception is thrown when a too large timeout has been specified. + + + This exception is thrown when the timeout is reached. + + + + + Expects the latch to become open within the default timeout. If the timeout is reached, a + is thrown. + If no timeout was specified when creating this instance, 5 seconds is used. + If this instance has been created using TestKit.CreateTestLatch the default + timeout from is used and dilated, i.e. multiplied by + + + + + This exception is thrown when the timeout is reached. + + + + + TestKit-based probe which allows sending, reception and reply. + Use inside your test + to create new instances. + + + + + TBD + + TBD + TBD + TBD + + + Gets the reference of this probe. + + + Gets the sender of the last message + + + + Send message to an actor while using the probe as the sender. + Replies will be available for inspection with all of TestKit's assertion + methods. + + The actor. + The message. + + + + Forwards a message to the specified actor. As sender the sender of the last message is used. + + The actor to forward to. + The message. + + + + Forwards the last received message to the specified actor as if the + was sent directly to the actor in the first place. + + The actor to forward to. + + + + Send message to the sender of the last received message. + + The message. + + + + N/A + + N/A + + This exception is thrown since a cannot be created from a . + + N/A + + + + Sends a system message to the test probe + + The message to send + NOT USED. + + + + Sends a system message to the test probe + + The message to send + + + + Compares the underlying actor ref to the object. + + The object to be compared to; ideally an . + An integer indicating if the actor sorts higher, lower, or equal to . + + + + + + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown when the specified offset is less than the currently tracked time. + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + +
+
diff --git a/tests/dependencies/Akka.TestKit/net45/Akka.dll b/tests/dependencies/Akka.TestKit/net45/Akka.dll new file mode 100644 index 00000000..2d0801d2 Binary files /dev/null and b/tests/dependencies/Akka.TestKit/net45/Akka.dll differ diff --git a/tests/dependencies/Akka.TestKit/net45/Akka.xml b/tests/dependencies/Akka.TestKit/net45/Akka.xml new file mode 100644 index 00000000..2a4b980b --- /dev/null +++ b/tests/dependencies/Akka.TestKit/net45/Akka.xml @@ -0,0 +1,29930 @@ + + + + Akka + + + + + This interface represents the parts of the internal actor state; the behavior stack, watched by, watching and termination queue + + + + + Removes the provided from the `Watching` set + + The to be removed + TBD + + + + Removes the provided from the `WatchedBy` set + + The to be removed + TBD + + + + Removes the provided from the `Termination queue` set + + The to be removed + TBD + + + + Adds the provided to the `Watching` set + + The to be added + TBD + + + + Adds the provided to the `WatchedBy` set + + The to be added + TBD + + + + Adds the provided to the `Termination queue` set + + The to be added + TBD + + + + Clears the `Watching` set + + TBD + + + + Clears the `Termination queue` set + + TBD + + + + Clears the `Behavior` stack + + TBD + + + + Replaces the current receive behavior with a new behavior + + The new behavior + TBD + + + + Pushes a new receive behavior onto the `Behavior` stack + + The new top level behavior + TBD + + + + Removes the top level receive behavior from the `Behavior` stack + + TBD + + + + Determines whether the provided is present in the `Watching` set + + The to locate in the `Watching` set + TBD + + + + Determines whether the provided is present in the `WatchedBy` set + + The to locate in the `WatchedBy` set + TBD + + + + Determines whether the provided is present in the `Termination queue` set + + The to locate in the `Termination queue` set + TBD + + + + Returns an over the `Watching` set + + TBD + + + + Returns an over the `WatchedBy` set + + TBD + + + + Returns an over the `Termination queue` set + + TBD + + + + Returns the top level receive behavior from the behavior stack + + TBD + + + + Represents the default start up state for any actor. + This state provides capacity for one `WatchedBy` and one `Receive` behavior + As soon as this container is no longer enough to contain the current state + The state container will escalate into a `FullActorState` instance + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Represents the full state of an actor, this is used whenever an actor need more state than the `DefaultActorState` container can contain + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Classes for passing status back to the sender. + Used for internal ACKing protocol, but also exposed as a utility class for user-specific ACKing if needed. + + + + + Indicates the success of some operation which has been performed + + + + + TBD + + + + + TBD + + TBD + + + + Indicates the failure of some operation that was requested and includes an + describing the underlying cause of the problem. + + + + + The cause of the failure + + + + + Initializes a new instance of the class. + + The cause of the failure + + + + + + + Interface ILogReceive + + + + + Contains things needed by the framework + + + + Gets the context for this instance. + The context. + + This exception is thrown if there is no active Context. The most likely cause is due to use of async operations from within this actor. + + + + + Class ActorBase. + + + + + Initializes a new instance of the class. + + + This exception is thrown when an actor is created using new. Always create actors using an ActorContext/System. + + + + + Gets the sending ActorRef of the current message + + The sender ActorRef + + + + Gets the self ActorRef + + Self ActorRef + + + + Gets the context. + + The context. + + This exception is thrown if there is no active ActorContext. The most likely cause is due to use of async operations from within this actor. + + + + + Gets the context. + + The context. + + This exception is thrown if there is no active Context. The most likely cause is due to use of async operations from within this actor. + + + + + TBD + + TBD + TBD + TBD + + + + Processor for user defined messages. + + The message. + TBD + + + + EmptyReceive is a Receive-delegate that matches no messages at all, ever. + + + + + Is called when a message isn't handled by the current behavior of the actor + by default it fails with either a (in + case of an unhandled message) or publishes an + to the actor's system's + + The unhandled message. + + This exception is thrown if the given is a message. + + + + + Changes the actor's command behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + Reverts the Actor behavior to the previous one on the behavior stack. + + + + + TBD + + TBD + + + + TBD + + + + + + Defines the inactivity timeout after which the sending of a message is triggered. + When specified, the receive function should be able to handle a message. + + + + Please note that the receive timeout might fire and enqueue the message right after + another message was enqueued; hence it is not guaranteed that upon reception of the receive + timeout there must have been an idle period beforehand as configured via this method. + + + + Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity + periods). Pass in null to switch off this feature. + + + The timeout. Pass in null to switch off this feature. + + + + Can be overridden to intercept calls to `PreRestart`. Calls `PreRestart` by default. + + The cause. + The message. + + + + Can be overridden to intercept calls to `PreStart`. Calls `PreStart` by default. + + + + + User overridable callback. +

+ Is called when an Actor is started. + Actors are automatically started asynchronously when created. + Empty default implementation. +

+
+ + + Can be overridden to intercept calls to `PostRestart`. Calls `PostRestart` by default. + + The cause. + The message. + + + + User overridable callback: '''By default it disposes of all children and then calls `postStop()`.''' +

+ Is called on a crashed Actor right BEFORE it is restarted to allow clean + up of resources before Actor is terminated. +

+ the Exception that caused the restart to happen. + optionally the current message the actor processed when failing, if applicable. +
+ + + User overridable callback: By default it calls `PreStart()`. +

+ Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash. +

+ the Exception that caused the restart to happen. +
+ + + Can be overridden to intercept calls to `PostStop`. Calls `PostStop` by default.. + + + + + User overridable callback. +

+ Is called asynchronously after 'actor.stop()' is invoked. + Empty default implementation. +

+
+ + + Gets or sets a . + When getting, if a previously has been set it's returned; otherwise calls + SupervisorStrategy(), stores and returns it. + + + + + TBD + + TBD + + + + TBD + + + Class ActorCell. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is an invalid actor name. + + + This exception is thrown if a pre-creation serialization occurred. + + + This exception is thrown if the actor tries to create a child while it is terminating or is terminated. + + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given is an invalid actor name. + + + This exception is thrown if a pre-creation serialization occurred. + + + This exception is thrown if the actor tries to create a child while it is terminating or is terminated. + + TBD + + + + Stops the specified child. + + The child. + + + + Swaps out the children container, by calling to produce the new container. + If the underlying container has been updated while was called, + will be called again with the new container. This will repeat until the + container can be swapped out, or until contains false. + The returned tuple should contain: + Item1: true if the container should be updated; false to not update and return Item3 + Item2: The new container (will only be used if Item1=true) + Item3: The return value + + A function that returns a new container. + The third value of the tuple that returned. + + + + Swaps out the children container, by calling to produce the new container. + If the underlying container has been updated while was called, + will be called again with the new container. This will repeat until the + container can be swapped out. + + A function that returns a new container. + The new updated + + + + TBD + + TBD + + + + TBD + + TBD + + + + This should only be used privately or when creating the root actor. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Suspends the children. + + + + + Resumes the children. + + + + + Tries to get the stats for the child with the specified name. The stats can be either + indicating that only a name has been reserved for the child, or a for a child that + has been initialized/created. + + TBD + TBD + TBD + + + + Tries to get the stats for the child with the specified name. This ignores children for whom only names have been reserved. + + + + + Tries to get the stats for the specified child. + Since the child exists is the only valid . + + TBD + TBD + TBD + + + + Obsolete. Use instead. + + N/A + N/A + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + NOTE! Only constructor and ClearActorFields is allowed to update this + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Initialize this cell, i.e. set up mailboxes and supervision. The UID must be + reasonably different from the previous UID of a possible actor with the same path, + which can be achieved by using + + TBD + TBD + + + + Obsolete. Use instead. + + N/A + N/A + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + When this actor is watching the subject of message + it will be propagated to user's receive. + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Starts subscription to AddressTerminated if not already subscribing and the + block adds a non-local ref to watching or watchedBy. + Ends subscription to AddressTerminated if subscribing and the + block removes the last non-local ref from watching and watchedBy. + + TBD + TBD + + + + Gets the type of the actor. + + The type of the actor. + + + + TBD + + + + + Invokes the specified envelope. + + The envelope. + + This exception is thrown if a message is included in the given . + > + + + + If the envelope.Sender property is null, then we'll substitute + Deadletters as the of this message. + + The envelope we received + An IActorRef that corresponds to a Sender + + + + TBD + + TBD + + This exception is thrown if a message is included in the given . + + + + + This is only intended to be called from TestKit's TestActorRef + + TBD + + + + TBD + + TBD + + + + Receives the selection. + + The m. + + + + Used to invoke system messages. + + The envelope. + + This exception is thrown if a system message is included in the given . + + + This exception is thrown if an unknown message type is included in the given . + + + + + TBD + + TBD + TBD + + + + Publishes the specified event. + + The event. + + + + Handles the identity. + + The m. + + + + Handles the poison pill. + + + + + Restarts the specified cause. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + The cause. + + + + Starts this instance. + + + + + Allow extra pre-start initialization in derived classes + + + + + Resumes the specified caused by failure. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + The caused by failure. + + + + Async stop this actor + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + + + + Suspends this instance. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + + + + TBD + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + TBD + + + Re-create the actor in response to a failure. + + + + Suspends the actor in response to a failure of a parent (i.e. the "recursive suspend" feature). + + + + + Resumes the actor in response to a failure + + The exception that caused the failure. signifies if it was our own failure + which prompted this action. + + + + Create the actor in response to a failure + + + + Terminates this instance. + + + + Handles the non fatal or interrupted exception. + + The action. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Actor path is a unique path to an actor that shows the creation path + up through the actor tree to the root actor. + ActorPath defines a natural ordering (so that ActorRefs can be put into + collections with this requirement); this ordering is intended to be as fast + as possible, which owing to the bottom-up recursive nature of ActorPath + is sorted by path elements FROM RIGHT TO LEFT, where RootActorPath > + ChildActorPath in case the number of elements is different. + Two actor paths are compared equal when they have the same name and parent + elements, including the root address information. That does not necessarily + mean that they point to the same incarnation of the actor if the actor is + re-created with the same path. In other words, in contrast to how actor + references are compared the unique id of the actor is not taken into account + when comparing actor paths. + + + + + This class represents a surrogate of an . + Its main use is to help during the serialization process. + + + + + Initializes a new instance of the class. + + The string representation of the actor path. + + + + The string representation of the actor path + + + + + Creates an encapsulated by this surrogate. + + The actor system that contains this actor path. + The encapsulated by this surrogate. + + + + + + + + + + + + + + + INTERNAL API + + TBD + + + + + Method that checks if actor name conforms to RFC 2396, http://www.ietf.org/rfc/rfc2396.txt + Note that AKKA JVM does not allow parenthesis ( ) but, according to RFC 2396 those are allowed, and + since we use URL Encode to create valid actor names, we must allow them. + + TBD + TBD + + + + Initializes a new instance of the class. + + The address. + The name. + + + + Initializes a new instance of the class. + + The parent path. + The name. + The uid. + + + + Gets the uid. + + The uid. + + + + This method pursuits optimization goals mostly in terms of allocations. + We're computing elements chain only once and storing it in . + Computed chain meant to be reused not only by calls to + but also during chain computation of children actors. + + + + + Gets the elements. + + The elements. + + + + INTERNAL API. + + Used in Akka.Remote - when resolving deserialized local actor references + we need to be able to include the UID at the tail end of the elements. + + It's implemented in this class because we don't have an ActorPathExtractor equivalent. + + + + + Gets the name. + + The name. + + + + The Address under which this path can be reached; walks up the tree to + the RootActorPath. + + The address. + + + + TBD + + + + + TBD + + + + + + + + + + + Withes the uid. + + The uid. + ActorPath. + + + + Creates a new with the specified parent + and the specified . + + The parent path of the newly created actor path + The name of child actor path + A newly created + + + + Creates a new by appending all the names in + to the specified . + + The base path of the newly created actor path. + The names being appended to the specified . + A newly created + + + + Creates an from the specified . + + The string representing a possible + + This exception is thrown if the given cannot be parsed into an . + + A newly created + + + + Tries to parse the uri, which should be a full uri, i.e containing protocol. + For example "akka://System/user/my-actor" + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Joins this instance. + + System.String. + + + + String representation of the path elements, excluding the address + information. The elements are separated with "/" and starts with "/", + e.g. "/user/a/b". + + System.String. + + + + + + + Returns a string representation of this instance including uid. + + TBD + + + + Creates a child with the specified name + + Name of the child. + ActorPath. + + + + + + + + + + Compares two specified actor paths for equality. + + The first actor path used for comparison + The second actor path used for comparison + true if both actor paths are equal; otherwise false + + + + Compares two specified actor paths for inequality. + + The first actor path used for comparison + The second actor path used for comparison + true if both actor paths are not equal; otherwise false + + + + Generate String representation, with the address in the RootActorPath. + + System.String. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Generate String representation, replacing the Address in the RootActorPath + with the given one unless this path’s address includes host and port + information. + + The address. + System.String. + + + + TBD + + TBD + TBD + + + + Creates a surrogate representation of the current . + + The actor system that references this actor path. + The surrogate representation of the current . + + + + Class RootActorPath. + + + + + Initializes a new instance of the class. + + The address. + The name. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + This exception is thrown if the given is not equal to 0. + TBD + + + + TBD + + TBD + TBD + + + + Class ChildActorPath. + + + + + Initializes a new instance of the class. + + The parent path. + The name. + The uid. + + + + TBD + + + + + TBD + + + + + Creates a copy of the given ActorPath and applies a new Uid + + The uid. + ActorPath. + + + + + + + Plugin interface used to define + + + + + Determines if current plugin can be applied to provided actor based on it's type. + + TBD + TBD + + + + Plugin behavior applied to underlying instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to underlying instance before the actor is being recycled. + + TBD + TBD + + + + Base actor producer pipeline plugin class. + + + + + By default derivatives of this plugin will be applied to all actors. + + TBD + TBD + + + + Plugin behavior applied to instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to instance before the actor is being recycled. + + TBD + TBD + + + + Base generic actor producer pipeline plugin class. + + + + + By default derivatives of this plugin will be applied to all actors inheriting from actor generic type. + + TBD + TBD + + + + Plugin behavior applied to instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to instance before the actor is being recycled. + + TBD + TBD + + + + Class used to resolving actor producer pipelines depending on actor type. + + + + + Gets total number of unique plugins registered inside current resolver. + + + + + TBD + + TBD + + + + Register target at the end of producer pipeline. + + TBD + True if plugin was registered (it has not been found in pipeline already). False otherwise. + + + + Register target inside producer pipeline at specified . + + TBD + TBD + True if plugin was registered (it has not been found in pipeline already). False otherwise. + + + + Unregisters plugin from producer pipeline, returning false if plugin was not found. + + TBD + TBD + + + + Returns true if current actor producer pipeline already has registered provided plugin type. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Resolves and applies all plugins valid to specified underlying + registered in current producer pipeline to newly created actor. + + TBD + TBD + + + + Resolves and applies all plugins valid to specified underlying + registered in current producer pipeline before old actor would be recycled. + + TBD + TBD + + + + TBD + + TBD + + + + INTERNAL API + + All ActorRefs have a scope which describes where they live. Since it is often + necessary to distinguish between local and non-local references, this is the only + method provided on the scope. + + + + + Returns true if the actor is local to this . + Returns false if the actor is remote. + + + + + Marker interface for Actors that are deployed within local scope, + i.e. always returns true. + + + + + INTERNAL API + + RepointableActorRef (and potentially others) may change their locality at + runtime, meaning that isLocal might not be stable. RepointableActorRef has + the feature that it starts out "not fully started" (but you can send to it), + which is why features here; it is not improbable that cluster + actor refs will have the same behavior. + + + + + Retruns true if this actor has started yet. false otherwise. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + INTERNAL API. + + + + + Gets the current actor, if any. Otherwise . + + The current , if applicable. If not, . + + + + An actor reference. Acts as a handle to an actor. Used to send messages to an actor, whether an actor is local or remote. + If you receive a reference to an actor, that actor is guaranteed to have existed at some point + in the past. However, an actor can always be terminated in the future. + + If you want to be notified about an actor terminating, call + on this actor and you'll receive a message when the actor dies or if it + is already dead. + + Actor references can be serialized and passed over the network. + + + + The path of this actor. Can be used to extract information about whether or not this actor is local or remote. + + + + + Extension method class. Used to deliver messages to instances + via and and pass along information about the current sender. + + + + + Asynchronously tells a message to an . + + The actor who will receive the message. + The message. + Will automatically resolve the current sender using the current , if any. + + + + Forwards the message using the current Sender + + The actor that receives the forward + The message to forward + + + + TBD + + + + + TBD + + + + + Use this value as an argument to if there is not actor to + reply to (e.g. when sending from non-actor code). + + + + + TBD + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + TBD + + TBD + + + + TBD + + + + + Creates an encapsulated by this surrogate. + + The actor system that contains this . + The encapsulated by this surrogate. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + + + + + + + + + + + This exception is thrown if the given isn't an . + + + + + + + + + + + Creates a surrogate representation of the current . + + The actor system that references this . + The surrogate representation of the current . + + + + INTERNAL API. + + Used by built-in implementations for handling + internal operations that are not exposed directly to end-users. + + + + + The parent of this actor. + + + + + The used by the + to which this actor belongs. + + + + + Obsolete. Use or Receive<> + + + + + Obtain a child given the paths element to that actor, by possibly traversing the actor tree or + looking it up at some provider-specific location. + A path element of ".." signifies the parent, a trailing "" element must be disregarded. + If the requested path does not exist, returns . + + The path elements. + The , or if the requested path does not exist, returns . + + + + Resumes an actor if it has been suspended. + + Optional. Passed in if the actor is resuming as a result of recovering from failure. + + + + Start a newly created actor. + + + + + Stop the actor. Terminates it permanently. + + + + + Restart the actor. + + The exception that caused the actor to fail in the first place. + + + + Suspend the actor. Actor will not process any more messages until is called. + + + + + Obsolete. Use instead. + + N/A + N/A + + + + Sends an to the underlying actor. + + The system message we're sending. + + + + INTERNAL API. + + Abstract implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INTERNAL API. + + Barebones with no backing actor or . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is an internal look-up failure token, not useful for anything else. + + + + A surrogate for serializing . + + + + + Converts the into a . + + The actor system. + TBD + + + + Singleton instance of . + + + + + + + N/A + + This exception is automatically thrown since this actor doesn't have a provider. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Returns true if the contains any children, + false otherwise. + + + + + Executes an action for each child in the current collection. + + A lambda which takes a reference to the internal child actor as an argument. + + + + An enumerable that continues where the supplied enumerator is positioned + + + + + + + + An extension method class for working with ActorRefs + + + + + If we call a method such as Context.Child(name) + and don't receive a valid result in return, this method will indicate + whether or not the actor we received is valid. + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Construct an from the given string representing a path + relative to the given target. This operation has to create all the + matching magic, so it is preferable to cache its result if the + intention is to send messages frequently. + + TBD + TBD + TBD + TBD + + + + This class contains implementations originally found in Akka´s trait ActorRefFactory in ActorRefProvider.scala + https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorRefProvider.scala#L180 + corresponds to that trait, but since it is an interface it + cannot contain any code, hence this class. + + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + TBD + TBD + TBD + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + TBD + TBD + TBD + TBD + + + + Construct an from the given string representing a path + relative to the given target. This operation has to create all the + matching magic, so it is preferable to cache its result if the + intention is to send messages frequently. + + TBD + TBD + TBD + + + + TBD + + + + + Reference to the supervisor of guardian and systemGuardian; this is + exposed so that the ActorSystemImpl can use it as lookupRoot, i.e. + for anchoring absolute actor look-ups. + + + + Reference to the supervisor of guardian and systemGuardian at the specified address; + this is exposed so that the ActorRefFactory can use it as lookupRoot, i.e. + for anchoring absolute actor selections. + + TBD + TBD + + + Gets the supervisor used for all top-level user actors. + + + Gets the supervisor used for all top-level system actors. + + + Gets the dead letters. + + + + Gets the root path for all actors within this actor system, not including any remote address information. + + + + Gets the settings. + + + + Initialization of an ActorRefProvider happens in two steps: first + construction of the object with settings, eventStream, etc. + and then—when the ActorSystem is constructed—the second phase during + which actors may be created (e.g. the guardians). + + TBD + + + Gets the deployer. + + + Generates and returns a unique actor path below "/temp". + TBD + + + Returns the actor reference representing the "/temp" path. + + + Registers an actorRef at a path returned by ; do NOT pass in any other path. + The actor reference. + A path returned by . Do NOT pass in any other path! + + + Unregister a temporary actor (i.e. obtained from ); do NOT pass in any other path. + A path returned by . Do NOT pass in any other path! + + + + Actor factory with create-only semantics: will create an actor as + described by with the given and (may be different + in case of remote supervision). If is true, deployment is + bypassed (local-only). If a value for is passed in, it should be + regarded as taking precedence over the nominally applicable settings, + but it should be overridable from external configuration; the lookup of + the latter can be suppressed by setting "lookupDeploy" to "false". + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + Get the actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference. + TBD + TBD + + + Get the actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference. + TBD + TBD + + + + This Future is completed upon termination of this , which + is usually initiated by stopping the guardian via . + + + + + Obtain the address which is to be used within sender references when + sending to the given other address or none if the other address cannot be + reached from this system (i.e. no means of communication known; no + attempt is made to verify actual reachability). + + TBD + TBD + + + Gets the external address of the default transport. + + + + Class LocalActorRefProvider. This class cannot be inherited. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Higher-level providers (or extensions) might want to register new synthetic + top-level paths for doing special stuff. This is the way to do just that. + Just be careful to complete all this before finishes, + or before you start your own auto-spawned actors. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Registers an actorRef at a path returned by ; do NOT pass in any other path. + + The actor reference. + A path returned by . Do NOT pass in any other path! + This exception is thrown if the given is not on the temp path. + + + + Unregister a temporary actor (i.e. obtained from ); do NOT pass in any other path. + + A path returned by . Do NOT pass in any other path! + This exception is thrown if the given is not on the temp path. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Resolves the actor reference. + + The actor path. + ActorRef. + + + + TBD + + TBD + TBD + TBD + + + + Actor factory with create-only semantics: will create an actor as + described by with the given and (may be different + in case of remote supervision). If is true, deployment is + bypassed (local-only). If a value for is passed in, it should be + regarded as taking precedence over the nominally applicable settings, + but it should be overridable from external configuration; the lookup of + the latter can be suppressed by setting "lookupDeploy" to "false". + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception can be thrown for a number of reasons. The following are some examples: +
+
non-routers
+
The dispatcher in the given is not configured for the given .
+
or
+
There was a configuration problem while creating the given with the dispatcher and mailbox from the given
+
routers
+
The dispatcher in the given is not configured for routees of the given
+
or
+
The dispatcher in the given is not configured for router of the given
+
or
+
$There was a configuration problem while creating the given with router dispatcher and mailbox and routee dispatcher and mailbox.
+
+
+ TBD +
+ + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + This class represents a logical view of a section of an ActorSystem's + tree of actors that allows for broadcasting of messages to that section. + + + + + Gets the anchor. + + + + + Gets the elements. + + + + + A string representation of all of the elements in the path, + starting with "/" and separated with "/". + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The anchor. + The path. + + + + Initializes a new instance of the class. + + The anchor. + The path. + + + + Initializes a new instance of the class. + + The anchor. + The elements. + + + + Sends a message to this ActorSelection. + + The message to send + The actor that sent the message + + + + Resolves the matching this selection. + The result is returned as a Task that is completed with the + if such an actor exists. It is completed with failure if + no such actor exists or the identification didn't complete within the supplied . + + Under the hood it talks to the actor to verify its existence and acquire its + + + The amount of time to wait while resolving the selection before terminating the operation and generating an error. + + + This exception is thrown if no such actor exists or the identification didn't complete within the supplied . + + TBD + + + + INTERNAL API + Convenience method used by remoting when receiving from a remote + actor. + + TBD + TBD + TBD + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified actor selection, is equal to this instance. + + The actor selection to compare. + true if the specified router is equal to this instance; otherwise, false. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class ActorSelectionMessage. + + + + + Initializes a new instance of the class. + + The message. + The elements. + TBD + + + + The message that should be delivered to this ActorSelection. + + + + + The elements, e.g. "foo/bar/baz". + + + + + TBD + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectionPathElement. + + + + + Class SelectChildName. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the actor name. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectChildPattern. + + + + + Initializes a new instance of the class. + + The pattern string. + + + + Gets the pattern string. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectParent. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + An actor system is a hierarchical group of actors which share common + configuration, e.g. dispatchers, deployments, remote capabilities and + addresses. It is also the entry point for creating or looking up actors. + There are several possibilities for creating actors (see + for details on `props`): + + system.ActorOf(props, "name"); + system.ActorOf(props); + system.ActorOf(Props.Create(typeof(MyActor)), "name"); + system.ActorOf(Props.Create(() => new MyActor(arg1, arg2), "name"); + + Where no name is given explicitly, one will be automatically generated. + + Important Notice: + + This class is not meant to be extended by user code. + + + + Gets the settings. + The settings. + + + Gets the name of this system. + The name. + + + Gets the serialization. + The serialization. + + + Gets the event stream. + The event stream. + + + + Gets the dead letters. + + The dead letters. + + + Gets the dispatchers. + The dispatchers. + + + Gets the mailboxes. + The mailboxes. + + + Gets the scheduler. + The scheduler. + + + Gets the log + + + + Start-up time since the epoch. + + + + + Up-time of this actor system. + + + + + Creates a new with the specified name and configuration. + + The name of the actor system to create. The name must be uri friendly. + Must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-' + + The configuration used to create the actor system + A newly created actor system with the given name and configuration. + + + + Creates a new with the specified name. + + The name of the actor system to create. The name must be uri friendly. + Must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-' + + A newly created actor system with the given name. + + + + Retrieves the specified extension that is registered to this actor system. + + The extension to retrieve + The specified extension registered to this actor system + + + + Retrieves an extension with the specified type that is registered to this actor system. + + The type of extension to retrieve + The specified extension registered to this actor system + + + + Determines whether this actor system has an extension with the specified type. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + Determines whether this actor system has the specified extension. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Tries to retrieve an extension with the specified type + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + + Registers a block of code (callback) to run after ActorSystem.shutdown has been issued and all actors + in this actor system have been stopped. Multiple code blocks may be registered by calling this method + multiple times. + + + The callbacks will be run sequentially in reverse order of registration, i.e. last registration is run first. + + + The code to run + + This exception is thrown if the system has already shut down or if shutdown has been initiated. + + + + + + Terminates this actor system. This will stop the guardian actor, which in turn will recursively stop + all its child actors, then the system guardian (below which the logging actors reside) and the execute + all registered termination handlers (). + + + Be careful to not schedule any operations on completion of the returned task using the `dispatcher` + of this actor system as it will have been shut down before the task completes. + + + + A that will complete once the actor system has finished terminating and all actors are stopped. + + + + + Returns a task which will be completed after the has been + terminated and termination hooks have been executed. Be careful to not schedule any + operations on the `dispatcher` of this actor system as it will have been shut down + before this task completes. + + + + + Stops the specified actor permanently. + + The actor to stop + + This method has no effect if the actor is already stopped. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + Registers the specified extension with this actor system. + + The extension to register with this actor system + The extension registered with this actor system + + + + + + + + + + + + + The address specifies the physical location under which an Actor can be + reached. Examples are local addresses, identified by the 's + name, and remote addresses, identified by protocol, host and port. + + This class is sealed to allow use as a case class (copy method etc.); if + for example a remote transport would want to associate additional + information with an address, then this must be done externally. + + + + + Pseudo address for all systems + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Returns true if this Address is only defined locally. It is not safe to send locally scoped addresses to remote + hosts. See also + + + + + Returns true if this Address is usable globally. Unlike locally defined addresses + addresses of global scope are safe to sent to other hosts, as they globally and uniquely identify an addressable + entity. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Creates a new copy with the same properties as the current address. + + A new copy of the current address + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The protocol used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The system used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The host used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The port used to configure the new address. + A new address with the provided . + + + + Compares two specified addresses for equality. + + The first address used for comparison + The second address used for comparison + true if both addresses are equal; otherwise false + + + + Compares two specified addresses for inequality. + + The first address used for comparison + The second address used for comparison + true if both addresses are not equal; otherwise false + + + + TBD + + TBD + + + + Parses a new from a given string + + The address to parse + A populated object with host and port included, if available + Thrown if the address is not able to be parsed + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Extractor class for so-called "relative actor paths" - as in "relative URI", not + "relative to some other actors." + + Examples: + + * "grand/child" + * "/user/hello/world" + + + + + TBD + + TBD + TBD + + + + Class EventStreamActor. + + + + + Processor for user defined messages. + + The message. + TBD + + + + Class GuardianActor. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + System guardian. + + Root actor for all actors under the /system path. + + + + + TBD + + TBD + + + + Processor for messages that are sent to the root system guardian + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Class DeadLetterActorRef. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + TBD + TBD + + + + A that is already canceled. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + A that wraps a . + When canceling this instance the underlying is canceled as well. + + + + + Initializes a new instance of the class that will be cancelled after the specified amount of time. + + The scheduler. + The delay before the cancelable is canceled. + + + + Initializes a new instance of the class that will be cancelled after the specified amount of time. + + The scheduler. + The delay before the cancelable is canceled. + + + + Initializes a new instance of the class that will be cancelled after the specified amount of milliseconds. + + The scheduler. + The delay in milliseconds. + + + + Initializes a new instance of the class. + + TBD + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. + + true if exceptions should immediately propagate; otherwise, false. + + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + If is true, an exception will immediately propagate out of + the call to Cancel, preventing the remaining callbacks and cancelable operations from being processed. + If is false, this overload will aggregate any exceptions + thrown into an , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will be reestablished when the callback is invoked. + + + This exception is thrown if this cancelable has already been disposed. + + + + + Schedules a cancel operation on this cancelable after the specified delay. + + The delay before this instance is canceled. + This exception is thrown if the given is less than or equal to 0. + This exception is thrown if this cancelable has already been disposed. + + + + Schedules a cancel operation on this cancelable after the specified number of milliseconds. + + The delay in milliseconds before this instance is canceled. + This exception is thrown if the given is less than or equal to 0. + This exception is thrown if this cancelable has already been disposed. + + + + Returns a that has already been canceled. + + TBD + + + + Creates a that will be in the canceled state + when any of the source cancelables are in the canceled state. + + The scheduler + The cancelables instances to observe. + A new that is linked to the source . + + + + Creates a that will be in the canceled state + when any of the source cancelables are in the canceled state. + + The scheduler + The cancelables instances to observe. + A new that is linked to the source . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + TBD + + + + + If is not null it's canceled. + + The cancelable. Will be canceled if it's not null + + + + Signifies something that can be canceled + + + + + Communicates a request for cancellation. + + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + However, this overload of Cancel will aggregate any exceptions thrown into an + , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will + be reestablished when the callback is invoked. + + + + Gets a value indicating whether cancellation has been requested + + + + + TBD + + + + + Schedules a cancel operation on this cancelable after the specified delay. + + The delay before this instance is canceled. + + + + Schedules a cancel operation on this cancelable after the specified number of milliseconds. + + The delay in milliseconds before this instance is canceled. + + + + Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. + + true if exceptions should immediately propagate; otherwise, false. + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + If is true, an exception will immediately propagate out of + the call to Cancel, preventing the remaining callbacks and cancelable operations from being processed. + If is false, this overload will aggregate any exceptions + thrown into an , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will be reestablished when the callback is invoked. + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + Gets the "self" reference which this Cell is attached to. + + + The system within which this Cell lives. + + + The system internals within which this Cell lives. + + + + Start the cell: enqueued message must not be processed before this has + been called. The usual action is to attach the mailbox to a dispatcher. + + + + Recursively suspend this actor and all its children. Is only allowed to throw fatal exceptions. + + + Recursively resume this actor and all its children. Is only allowed to throw fatal exceptions. + TBD + + + Restart this actor (will recursively restart or stop all children). Is only allowed to throw Fatal Throwables. + TBD + + + Recursively terminate this actor and all its children. Is only allowed to throw Fatal Throwables. + + + The supervisor of this actor. + + + Returns true if the actor is local. + + + The props for this actor cell. + + + + If the actor isLocal, returns whether "user messages" are currently queued, + falseotherwise. + + + + + If the actor isLocal, returns the number of "user messages" currently queued, + which may be a costly operation, 0 otherwise. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + Method for looking up a single child beneath this actor. + It is racy if called from the outside. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Tries to get the stats for the child with the specified name. The stats can be either + indicating that only a name has been reserved for the child, or a for a child that + has been initialized/created. + + TBD + TBD + TBD + + + + Enqueue a message to be sent to the actor; may or may not actually + schedule the actor to run, depending on which type of cell it is. + + The system message we're passing along + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + ChildRestartStats is the statistics kept by every parent Actor for every child Actor + and is used for SupervisorStrategies to know how to deal with problems that occur for the children. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + This is the empty container, shared among all leaf actors. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Normal children container: we do have at least one child, but none of our + children are currently terminating (which is the time period between calling + context.stop(child) and processing the ChildTerminated() system message). + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + This exception is thrown if the given is not unique in the container. + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + This is the empty container which is installed after the last child has + terminated while stopping; it is necessary to distinguish from the normal + empty state while calling handleChildTerminated() for the last time. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + N/A + + N/A + N/A + This exception is automatically thrown since the name belongs to an actor that is already terminated. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Waiting state: there are outstanding termination requests (i.e. context.stop(child) + was called but the corresponding ChildTerminated() system message has not yet been + processed). There could be no specific reason (UserRequested), we could be Restarting + or Terminating. + Removing the last child which was supposed to be terminating will return a different + type of container, depending on whether or not children are left and whether or not + the reason was "Terminating". + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + This exception is thrown if the given belongs to an actor that is terminating. + This exception is thrown if the given is not unique in the container. + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Initializes a new instance of the class. + + The name given to the actor system. + + + + Initializes a new instance of the class. + + The name given to the actor system. + The configuration used to configure the actor system. + + This exception is thrown if the given is an invalid name for an actor system. + Note that the name must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-'). + + This exception is thrown if the given is undefined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new system actor that lives under the "/system" guardian. + + The used to create the actor. + The name of the actor to create. The default value is . + + This exception is thrown when the given name is invalid or already in use. + + + This exception is thrown when deployment, dispatcher or mailbox configuration is incorrect. + + A reference to the underlying actor. + + + + Creates a new system actor that lives under the "/system" guardian. + + + The type of the actor to create. Must have a default constructor declared. + + The name of the actor to create. The default value is . + + This exception is thrown when the given name is invalid or already in use. + + + This exception is thrown when deployment, dispatcher or mailbox configuration is incorrect. + + A reference to the underlying actor. + + + + If true, then the is attempting to abort. + + + + + Shuts down the without all of the usual guarantees, + i.e. we may not guarantee that remotely deployed actors are properly shut down + when we abort. + + + + Starts this system + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Registers the specified extension with this actor system. + + The extension to register with this actor system + The extension registered with this actor system + + + + Retrieves the specified extension that is registered to this actor system. + + The extension to retrieve + The specified extension registered to this actor system + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Retrieves an extension with the specified type that is registered to this actor system. + + The type of extension to retrieve + The specified extension registered to this actor system + + + + Determines whether this actor system has an extension with the specified type. + + The type of the extension being queried. + true if this actor system has the extension; otherwise false. + + + + Determines whether this actor system has the specified extension. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + + Registers a block of code (callback) to run after ActorSystem.shutdown has been issued and all actors + in this actor system have been stopped. Multiple code blocks may be registered by calling this method + multiple times. + + + The callbacks will be run sequentially in reverse order of registration, i.e. last registration is run first. + + + The code to run + + This exception is thrown if the system has already shut down or if shutdown has been initiated. + + + + + + Terminates this actor system. This will stop the guardian actor, which in turn will recursively stop + all its child actors, then the system guardian (below which the logging actors reside) and the execute + all registered termination handlers (). + + + Be careful to not schedule any operations on completion of the returned task using the `dispatcher` + of this actor system as it will have been shut down before the task completes. + + + + A that will complete once the actor system has finished terminating and all actors are stopped. + + + + + Returns a task which will be completed after the has been + terminated and termination hooks have been executed. Be careful to not schedule any + operations on the `dispatcher` of this actor system as it will have been shut down + before this task completes. + + + + + Stops the specified actor permanently. + + The actor to stop + + + + This class represents a callback used to run a task when the actor system is terminating. + + + + + Initializes a new instance of the class. + + The task to run when the actor system is terminating + + + + Adds a continuation to the current task being performed. + + The method to run as part of the continuation + This exception is thrown if the actor system has been terminated. + + + + The task that is currently being performed + + + + + Marks that the actor needs to be initialized directly after it has been created. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + + INTERNAL! + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + INTERNAL! + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + This is used to let TestFSMRef in TestKit access to internal methods. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Abstract base class for stash support + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Abstract base class for stash support + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + This exception is thrown if the actor's mailbox isn't deque-based (e.g. ). + + + + Stashes the current message in the actor's state. + + This exception is thrown if we attempt to stash the same message more than once. + + This exception is thrown in the event that we're using a for the and we've exceeded capacity. + + + + + Unstash the most recently stashed message (top of the message stack.) + + + + + Unstash all of the s in the Stash. + + + + + Unstash all of the s in the Stash. + + A predicate function to determine which messages to select. + + + + Eliminates the contents of the , and returns + the previous contents of the messages. + + Previously stashed messages. + + + + TBD + + TBD + + + + Enqueues at the first position in the mailbox. If the message contained in + the envelope is a message, it will be ensured that it can be re-received + by the actor. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + + + INTERNAL + A stash implementation that is unbounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + Used to register the extension with a given . + + + + + Creates a new instance of the extension. + + The extended actor system. + A coordinated shutdown plugin. + + + + INTERNAL API + + + + + Creates a new + + The list of other phases this phase depends upon. + A timeout value for any tasks running during this phase. + When set to true, this phase can recover from a faulted state during shutdown. + + + + The names of other s this phase depends upon. + + + + + The amount of time this phase is allowed to run. + + + + + If true, this phase has the ability to recover during a faulted state. + + + + + + + + + + + + + + An extension used to help coordinate and sequence shutdown activities + during graceful termination of actor systems, plugins, and so forth. + + + + + Initializes a new instance. + + Access to the . + The list of s provided by the HOCON configuration. + + + + Retreives the extension for the current + + The current actor system. + A instance. + + + + The + + + + + The set of named s that will be executed during coordinated shutdown. + + + + + INTERNAL API + + + + + INTERNAL API + + + + + INTERNAL API + + Signals when CLR shutdown hooks have been completed + + + + + Add a task to a phase. It doesn't remove previously added tasks. + + Tasks added to the same phase are executed in parallel without any + ordering assumptions. Next phase will not start until all tasks of + previous phase have completed. + + The phase to add this task to. + The name of the task to add to this phase. + The delegate that produces a that will be executed. + + Tasks should typically be registered as early as possible after system + startup. When running the tasks that have been + registered will be performed but tasks that are added too late will not be run. + + + It is possible to add a task to a later phase from within a task in an earlier phase + and it will be performed. + + + + + Add a shutdown hook that will execute when the CLR process begins + its shutdown sequence, invoked via . + + Added hooks may run in any order concurrently, but they are run before + the Akka.NET internal shutdown hooks execute. + + A task that will be executed during shutdown. + + + + INTERNAL API + + Should only be called directly by the event + in production. + + Safe to call multiple times, but hooks will only be run once. + + Returns a that will be completed once the process exits. + + + + Run tasks of all phases including and after the given phase. + + Optional. The phase to start the run from. + A task that is completed when all such tasks have been completed, or + there is failure when is disabled. + + It is safe to call this method multiple times. It will only run once. + + + + + The configured timeout for a given . + + The name of the phase. + Returns the timeout if ti exists. + Thrown if doesn't exist in the set of registered phases. + + + + The sum of timeouts of all phases that have some task. + + + + + INTERNAL API + + The HOCON configuration for the + A map of all of the phases of the shutdown. + + + + INTERNAL API: https://en.wikipedia.org/wiki/Topological_sorting + + The set of phases to sort. + A topologically sorted list of phases. + + + + INTERNAL API + + Primes the with the default phase for + + + The actor system for this extension. + The HOCON configuration. + The plugin instance. + + + + Initializes the CLR hook + + The actor system for this extension. + The HOCON configuration. + The plugin instance. + + + + INTERNAL API + + Message queue implementation used to funnel messages to + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + Mailbox for dead letters. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + This class represents a configuration object used in the deployment of an actor. + + + + + A deployment configuration that is bound to the scope. + + + + + This deployment does not have a dispatcher associated with it. + + + + + This deployment does not have a mailbox associated with it. + + + + + This deployment has an unspecified scope associated with it. + + + + + A deployment configuration where none of the options have been configured. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The actor path associated with this deployment. + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The router to use for this deployment. + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The router to use for this deployment. + + + + Initializes a new instance of the class. + + The path to deploy the actor. + The configuration used when deploying the actor. + The router used in this deployment. + The scope to bind to this deployment. + The dispatcher used in this deployment. + + + + Initializes a new instance of the class. + + The path to deploy the actor. + The configuration used when deploying the actor. + The router used in this deployment. + The scope to bind to this deployment. + The dispatcher used in this deployment. + The mailbox configured for the actor used in this deployment. + + + + The path where the actor is deployed. + + + + + The configuration used for this deployment. + + + + + The router used for this deployment. + + + + + The scope bound to this deployment. + + + + + The mailbox configured for the actor used in this deployment. + + + + + The dispatcher used in this deployment. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Creates a new from this deployment using another + to backfill options that might be missing from this deployment. + + + This method is immutable and returns a new instance of . + + + The used for fallback configuration. + A new using for fallback configuration. + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The mailbox used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The dispatcher used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The used to configure the new . + A new with the provided . + + + + This class represents a surrogate of a configuration object. + Its main use is to help during the serialization process. + + + + + The scope bound to this deployment. + + + + + The router used for this deployment. + + + + + The path where the actor is deployed. + + + + + The configuration used for this deployment. + + + + + The mailbox configured for the actor used in this deployment. + + + + + The dispatcher used in this deployment. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Used to configure and deploy actors. + + + + + TBD + + + + + Initializes a new instance of the class. + + The settings used to configure the deployer. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the actor name in the deployment path is empty or contains invalid ASCII. + Valid ASCII includes letters and anything from . Note that paths + cannot start with the $. + + + + + Creates an actor deployment to the supplied path, , using the supplied configuration, . + + The path used to deploy the actor. + The configuration used to configure the deployed actor. + A configured actor deployment to the given path. + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Registers an async handler for messages of the specified type + + the type of the message + the message handler invoked on the incoming message + when not null, determines whether this handler should handle the message + + + + Registers an async handler for messages of the specified type + + + determines whether this handler should handle the message + the message handler invoked on the incoming message + + + + Registers an asynchronous handler for any incoming message that has not already been handled. + + The message handler that is invoked for all + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Changes the actor's behavior and replaces the current handler with the specified handler. + + TBD + + + + Changes the actor's behavior and replaces the current handler with the specified handler without discarding the current. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + TBD + + + + Changes the actor's behavior and replaces the current handler with the previous one on the behavior stack. + In order to store an actor on the behavior stack, a call to must have been made + prior to this call + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Registers an async handler for messages of the specified type + + the type of the message + the message handler invoked on the incoming message + when not null, determines whether this handler should handle the message + + + + Registers an async handler for messages of the specified type + + + determines whether this handler should handle the message + the message handler invoked on the incoming message + + + + Registers an asynchronous handler for any incoming message that has not already been handled. + + The message handler that is invoked for all + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + This exception provides the base for all Akka.NET specific exceptions within the system. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + The exception that is the cause of the current exception. + + + + + This exception is thrown when the actor name is invalid. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when an Ask operation times out. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when an actor is interrupted in the midst of processing messages. + + This is an exception typically thrown when the underlying dispatcher's threads are aborted. + + + + + TBD + + TBD + TBD + + + + This exception is thrown when the initialization logic for an Actor fails. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The actor whose initialization logic failed. + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Retrieves the actor whose initialization logic failed. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + This exception is thrown when there was a problem initializing a logger. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when a message has been sent to an Actor. + will by default stop the actor. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when a core invariant in the Actor implementation has been violated. + For instance, if you try to create an Actor that doesn't inherit from . + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when an Actor with an invalid name is deployed. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown by an Actor that receives a Terminated(someActor) message + that it doesn't handle itself, effectively crashing the Actor and escalating to the supervisor. + + + + + Initializes a new instance of the class. + + The actor that has been terminated. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Retrieves the actor that has been terminated. + + + + + This exception is thrown when the method fails during a restart attempt. + + + This exception is not propagated to the supervisor, as it originates from the already failed instance, + hence it is only visible as log entry on the event stream. + + + + + + Initializes a new instance of the class. + + The actor whose hook failed. + The exception thrown by the within . + The exception which caused the restart in the first place. + The message which was optionally passed into . + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the Actor constructor or method + fails during a restart attempt. + + + + + Initializes a new instance of the class. + + The actor whose constructor or hook failed. + The exception thrown by the within . + The original cause is the exception which caused the restart in the first place. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Retrieves the exception which caused the restart in the first place. + + + + + This exception is thrown when an Actor can not be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + that takes a descriptive and optional . + + A user-defined error message. + An inner . + + + + This exception is thrown when an invalid message is sent to an Actor. + + + Currently only null is an invalid message. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + More powerful interface to the actor system’s implementation which is presented to + extensions (see ). + Important Notice: + This class is not meant to be extended by user code. If you want to + actually roll your own Akka, beware that you are completely on your own in + that case! + + + + Gets the provider. + The provider. + + + + Gets the top-level supervisor of all user actors created using + system.ActorOf(...) + + + + + The , used as the lookup for resolutions. + + + + + Gets the top-level supervisor of all system-internal services like logging. + + + + + Gets the actor producer pipeline resolver for current actor system. It may be used by + Akka plugins to inject custom behavior directly into actor creation chain. + + + + + Creates a new system actor in the "/system" namespace. This actor + will be shut down during system shutdown only after all user actors have + terminated. + + The used to create the actor + The name of the actor to create. The default value is . + A reference to the newly created actor + + + + Creates a new system actor in the "/system" namespace. This actor + will be shut down during system shutdown only after all user actors have + terminated. + + The type of actor to create + The name of the actor to create. The default value is . + A reference to the newly created actor + + + + Aggressively terminates an without waiting for the normal shutdown process to run as-is. + + + + + This interface is used to mark an object as an extension. + + + + + This interface is used to distinguish unique extensions. + + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + + Internal use only. + + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + Retrieves the underlying type for the current extension + + + + + This interface is used to distinguish unique extensions. + + The type associated with the current extension. + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + + Internal use only. + + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + This class contains extension methods used for resolving extensions. + + + + + Retrieves the extension specified by a given type, , from a given actor system. + + The type associated with the extension to retrieve. + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Retrieves the extension specified by a given type, , from a given actor system. + If the extension does not exist within the actor system, then the extension specified by + is registered to the actor system. + + The type associated with the extension to retrieve. + The actor system from which to retrieve the extension or to register with if it does not exist. + The type of the extension to register if it does not exist in the given actor system. + The extension retrieved from the given actor system. + + + + Retrieves the extension specified by a given type, , from a given actor system. + If the extension does not exist within the actor system, then the extension specified by + is registered to the actor system. + + The type associated with the extension to retrieve. + The type associated with the extension to retrieve if it does not exist within the system. + The actor system from which to retrieve the extension or to register with if it does not exist. + The extension retrieved from the given actor system. + + + + This class represents the base provider implementation for creating, registering and retrieving extensions within an . + + The type of the extension being provided. + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the underlying type for the current extension + + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + true if the specified is equal to this instance; otherwise, false. + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + TBD + + + + + Message type which is sent directly to the subscriber Actor in + before sending any messages. + + The type of the state being used in this finite state machine. + + + + Initializes a new instance of the CurrentState + + TBD + TBD + + + + TBD + + + + + TBD + + + + + + + + + + + + + + Message type which is used to communicate transitions between states to all subscribed listeners + (use ) + + The type of state used + + + + Initializes a new instance of the Transition + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + + + + + + + Send this to an to request first the + followed by a series of updates. Cancel the subscription using + . + + + + + Initializes a new instance of the SubscribeTransitionCallBack + + TBD + + + + TBD + + + + + Unsubscribe from notifications which were + initialized by sending the corresponding . + + + + + Initializes a new instance of the UnsubscribeTransitionCallBack + + TBD + + + + TBD + + + + + Reason why this is shutting down + + + + + Default if calling Stop(). + + + + + Obsolete. Use instead. + + + + + Singleton instance of Normal + + + + + Reason given when someone as calling from outside; + also applies to supervision directive. + + + + + Obsolete. Use instead. + + + + + Singleton instance of Shutdown + + + + + Signifies that the is shutting itself down because of an error, + e.g. if the state to transition into does not exist. You can use this to communicate a more + precise cause to the block. + + + + + Initializes a new instance of the Failure + + TBD + + + + TBD + + + + + + + + Used in the event of a timeout between transitions + + + + + Obsolete. Use instead. + + + + + Singleton instance of StateTimeout + + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Log entry of the - can be obtained by calling + + The name of the state + The data of the state + + + + Initializes a new instance of the LogEntry + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + This captures all of the managed state of the : the state name, + the state data, possibly custom timeout, stop reason, and replies accumulated while + processing the last message. + + The name of the state + The data of the state + + + + Initializes a new instance of the State + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Modify the state transition descriptor to include a state timeout for the + next state. This timeout overrides any default timeout set for the next state. + Use to cancel a timeout. + + TBD + TBD + + + + Send reply to sender of the current message, if available. + + TBD + TBD + + + + Modify state transition descriptor with new state data. The data will be set + when transitioning to the new state. + + TBD + TBD + + + + INTERNAL API + + TBD + TBD + + + + INTERNAL API + + + + + + + + + + + + + + + + + All messages sent to the will be wrapped inside an , + which allows pattern matching to extract both state and data. + + The state data for this event + + + + Initializes a new instance of the Event + + TBD + TBD + + + + TBD + + + + + TBD + + + + + + + + Class representing the state of the within the OnTermination block. + + TBD + TBD + + + + Initializes a new instance of the StopEvent + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + Finite state machine (FSM) actor. + + The state name type + The state data type + + + + Initializes a new instance of the FSM class. + + + + + Delegate describing this state's response to input + + TBD + TBD + + + + Handler which is called upon each state transition + + State designator for the initial state + State designator for the next state + + + + Insert a new at the end of the processing chain for the + given state. If the stateTimeout parameter is set, entering this state without a + differing explicit timeout setting will trigger a . + + designator for the state + delegate describing this state's response to input + default timeout for this state + + + + Sets the initial state for this FSM. Call this method from the constructor before the method. + If different state is needed after a restart this method, followed by , can be used in the actor + life cycle hooks and . + + Initial state designator. + Initial state data. + State timeout for the initial state, overriding the default timeout for that state. + + + + Produce transition to other state. Return this from a state function + in order to effect the transition. + + State designator for the next state + State transition descriptor + + + + Obsolete. Use GoTo(nextStateName).Using(stateData) instead. + + N/A + N/A + N/A + + + + Produce "empty" transition descriptor. Return this from a state function + when no state change is to be effected. + + Descriptor for staying in the current state. + + + + Produce change descriptor to stop this FSM actor with + + Descriptor for stopping in the current state. + + + + Produce change descriptor to stop this FSM actor with the specified . + + Reason why this is shutting down. + Descriptor for stopping in the current state. + + + + Produce change descriptor to stop this FSM actor with the specified . + + Reason why this is shutting down. + State data. + Descriptor for stopping in the current state. + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Schedule named timer to deliver message after given delay, possibly repeating. + Any existing timer with the same name will automatically be canceled before adding + the new timer. + + identifier to be used with . + message to be delivered + delay of first message delivery and between subsequent messages. + send once if false, scheduleAtFixedRate if true + + + + Cancel a named , ensuring that the message is not subsequently delivered (no race.) + + The name of the timer to cancel. + + + + Determines whether the named timer is still active. Returns true + unless the timer does not exist, has previously been cancelled, or + if it was a single-shot timer whose message was already received. + + TBD + TBD + + + + Set the state timeout explicitly. This method can be safely used from + within a state handler. + + TBD + TBD + + + + Set handler which is called upon each state transition + + TBD + + + + Set the handler which is called upon termination of this FSM actor. Calling this + method again will overwrite the previous contents. + + TBD + + + + Set handler which is called upon reception of unhandled FSM messages. Calling + this method again will overwrite the previous contents. + + TBD + + + + Verify the existence of initial state and setup timers. This should be the + last call within the constructor or and + . + + + This exception is thrown when this method is called before is called. + + + + + Current state name + + + This exception is thrown if this property is accessed before was called. + + + + + Current state data + + + This exception is thrown if this property is accessed before was called. + + + + + Return next state data (available in handlers) + + + This exception is thrown if this property is accessed outside of an handler. + + + + + Retrieves the support needed to interact with an actor's listeners. + + + + + Can be set to enable debugging on certain actions taken by the FSM + + + + + FSM state data and current timeout handling + + + + + Timer handling + + + + + State definitions + + + + + Unhandled event handler + + + + + Termination handling + + + + + Transition handling + + + + + C# port of Scala's orElse method for partial function chaining. + + See http://scalachina.com/api/scala/PartialFunction.html + + The original to be called + The to be called if returns null + A which combines both the results of and + + + + + + + Call the hook if you want to retain this behavior. + When overriding make sure to call base.PostStop(); + + Please note that this method is called by default from so + override that one if shall not be called during restart. + + + + + By default, is logged at error level and other + reason types are not logged. It is possible to override this behavior. + + TBD + + + + Marker interface to let the setting "akka.actor.debug.fsm" control if logging should occur in + + + + + Extension method class designed to create Ask support for + non-ActorRef objects such as . + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if the system can't resolve the target provider. + + TBD + + + + TBD + + TBD + TBD + + + + Akka private optimized representation of the temporary actor spawned to + receive the reply to an "ask" operation. + + INTERNAL API + + + + + Can't access constructor directly - use instead. + + + + + TBD + + + + + This is necessary for weaving the PromiseActorRef into the asked message, i.e. the replyTo pattern. + + + + As an optimization for the common (local) case we only register this PromiseActorRef + with the provider when the `path` member is actually queried, which happens during + serialization (but also during a simple call to `ToString`, `Equals` or `GetHashCode`!). + + Defined states: + null => started, path not yet created + Registering => currently creating temp path and registering it + path: ActorPath => path is available and was registered + StoppedWithPath(path) => stopped, path available + Stopped => stopped, path not yet created + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Returns false if the is already completed. + + + + + TBD + + + + + TBD + + + + + Contract of this method: + Must always return the same ActorPath, which must have + been registered if we haven't been stopped yet. + + + + + TBD + + TBD + TBD + + This exception is thrown if the given is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + Returns a that will be completed with success when existing messages + of the target actor have been processed and the actor has been terminated. + + Useful when you need to wait for termination or compose ordered termination of several actors, + which should only be done outside of the as blocking inside is discouraged. + + IMPORTANT: the actor being terminated and its supervisor being informed of the availability of the deceased actor's name + are two distinct operations, which do not obey any reliable ordering. + + If the target actor isn't terminated within the timeout the is completed with failure. + + If you want to invoke specialized stopping logic on your target actor instead of , you can pass your stop command as a parameter: + + GracefulStop(someChild, timeout, MyStopGracefullyMessage).ContinueWith(r => { + // Do something after someChild starts being stopped. + }); + + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the underlying task is . + + TBD + + + + TBD + + + + + Monitors the specified actor for termination. When the terminates + the instance watching will receive a message. + Note that if the message isn't handled by the actor, + by default the actor will crash by throwing a . To change + the default behavior, override . + + + The actor to monitor for termination. + Returns the provided subject + + + + Stops monitoring the for termination. + + The actor to stop monitor for termination. + Returns the provided subject + + + + TBD + + + + + Gets the belonging to the current actor. + + + + + The used to originally create this + + + + + The dispatcher this actor is running on + + + + + Gets the of the actor who sent the current message. + + If the message was not sent by an actor (i.e. some external non-actor code + sent this actor a message) then this value will default to . + + + + + Gets a reference to the to which this actor belongs. + + + This property is how you can get access to the and other parts + of Akka.NET from within an actor instance. + + + + + + Gets the of the parent of the current actor. + + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the previous one on the behavior stack. + In order to store an actor on the behavior stack, a call to must have been made + prior to this call + + + + + Retrieves a child actor with the specified name, if it exists. + + If the child with the given name cannot be found, + then will be returned instead. + + + The name of the child actor. + + e.g. "child1", "foo" + + Not the path, just the name of the child at the time it was created by this parent. + + The belonging to the child if found, otherwise. + + + + Gets all of the children that belong to this actor. + + If this actor has no children, + an empty collection of is returned instead. + + TBD + + + + + Defines the inactivity timeout after which the sending of a message is triggered. + When specified, the receive function should be able to handle a message. + + + + Please note that the receive timeout might fire and enqueue the message right after + another message was enqueued; hence it is not guaranteed that upon reception of the receive + timeout there must have been an idle period beforehand as configured via this method. + + + + Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity + periods). Pass in null to switch off this feature. + + + The timeout. Pass in null to switch off this feature. + + + + Gets the inactivity deadline timeout set using . + + + + + Issues a stop command to the provided , which will cause that actor + to terminate. + + The actor who will be stopped. + + + + Interface IActorRefFactory + + + + + Create new actor as child of this context with the given name, which must + not start with "$". If the given name is already in use, + and is thrown. + + See for details on how to obtain a object. + + The props used to create this actor. + Optional. The name of this actor. + A reference to the underlying actor. + Thrown if the given name is + invalid or already in use + Thrown if deployment, dispatcher + or mailbox configuration is wrong + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + The actor path. + ActorSelection. + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + The actor path. + ActorSelection. + + + + Marker trait to show which Messages are automatically handled by Akka.NET + + + + + When Death Watch is used, the watcher will receive a Terminated(watched) message when watched is terminated. + Terminated message can't be forwarded to another actor, since that actor might not be watching the subject. + Instead, if you need to forward Terminated to another actor you should send the information in your own message. + + + + + Initializes a new instance of the class. + + the watched actor that terminated + is false when the Terminated message was not sent directly from the watched actor, but derived from another source, such as when watching a non-local ActorRef, which might not have been resolved + the Terminated message was derived from that the remote node hosting the watched actor was detected as unreachable + + + + The watched actor that terminated + + + + + Is false when the Terminated message was not sent + directly from the watched actor, but derived from another source, such as + when watching a non-local ActorRef, which might not have been resolved + + + + + The Terminated message was derived from that the remote node hosting the watched actor was detected as unreachable + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Request to an to get back the identity of the underlying actors. + + + + + Initializes a new instance of the class. + + A correlating ID used to distinguish multiple requests to the same receiver. + + + + A correlating ID used to distinguish multiple requests to the same receiver. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Response to the message, get identity by Sender + + + + + Initializes a new instance of the class. + + The same correlating ID used in the original message. + A reference to the underyling actor. + + + + The same correlating ID used in the original message. + + + + + A reference to the underyling actor. + + Will be null if sent an that could not be resolved. + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Sending a to an will stop the actor when the message + is processed. is enqueued as ordinary messages and will be handled after + messages that were already queued in the mailbox. + See also which causes the actor to throw an when + it processes the message, which gets handled using the normal supervisor mechanism, and + which causes the actor to stop without processing any more messages. + + + + + The singleton instance of PoisonPill. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Sending an message to an actor causes the actor to throw an + when it processes the message, which gets handled using the normal supervisor mechanism. + See also which causes the actor to stop when the + is processed, without throwing an exception, and + which causes the actor to stop without processing any more messages. + + + + + The singleton instance of Kill. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + INTERNAL API + + Used for remote death watch. Failure detectors publish this to the + when a remote node is detected to be unreachable and / or decided + to be removed. + + The watcher subscribes to the and translates this + event to , which is sent to itself. + + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + A shared interface for both and , + both of which can be sent messages via the command. + + + + + Asynchronously delivers a message to this or + in a non-blocking fashion. Uses "at most once" delivery semantics. + + The message to be sent to the target. + The sender of this message. Defaults to if left to null. + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + The singleton instance of this comparer + + + + + + + + is an actor-like object to be listened by external objects. + It can watch other actors lifecycle and contains inner actor, which could be passed + as reference to other actors. + + + + + Get a reference to internal actor. It may be for example registered in event stream. + + + + + Receive a next message from current with default timeout. This call will return immediately, + if the internal actor previously received a message, or will block until it'll receive a message. + + TBD + + + + Receive a next message from current . This call will return immediately, + if the internal actor previously received a message, or will block for time specified by + until it'll receive a message. + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Receive a next message satisfying specified under default timeout. + + TBD + TBD + + + + Receive a next message satisfying specified under provided . + + TBD + TBD + TBD + + + + Makes an internal actor act as a proxy of a given , + which is sent to a given target actor. It means, that all 's + replies will be sent to current inbox instead. + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Make the inbox’s actor watch the actor such that + reception of the message can then be awaited. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Receive a single message from actor with default timeout. + NOTE: Timeout resolution depends on system's scheduler. + + + Don't use this method within actors, since it block current thread until a message is received. + + TBD + + + + Receive a single message from actor. + Provided is used for cleanup purposes. + NOTE: resolution depends on system's scheduler. + + + Don't use this method within actors, since it block current thread until a message is received. + + TBD + + This exception is thrown if the inbox received a response message or + it didn't receive a response message by the given . + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the inbox received a response message or + it didn't receive a response message by the given . + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + Marker Interface INoSerializationVerificationNeeded, this interface prevents + implementing message types from being serialized if configuration setting 'akka.actor.serialize-messages' is "on" + + + + + Marker interface to indicate that a message might be potentially harmful; + this is used to block messages coming in over remoting. + + + + + Interface IUntypedActorContext + + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a binding of an actor deployment to a local system. + + + + + This class represents a surrogate of a binding. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The singleton instance of this scope. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method ignores the given scope and returns the singleton instance of this scope. + + + The used for fallback configuration. + The singleton instance of this scope + + + + Creates a copy of the current instance. + + + This method returns the singleton instance of this scope. + + + The singleton instance of this scope + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Envelope class, represents a message and the sender of the message. + + + + + Initializes a new instance of the struct. + + The message being sent. + The actor who sent the message. + The current actor system. + + This exception is thrown if the given is undefined. + + + + + Initializes a new instance of the struct. + + The message being sent. + The actor who sent the message. + + + + Gets or sets the sender. + + The sender. + + + + Gets or sets the message. + + The message. + + + + Converts the to a string representation. + + A string. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Creates the PipeTo pattern for automatically sending the results of completed tasks + into the inbox of a designated Actor + + + + + Pipes the output of a Task directly to the 's mailbox once + the task completes + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + Pipes the output of a Task directly to the 's mailbox once + the task completes. As this task has no result, only exceptions will be piped to the + + TBD + TBD + TBD + TBD + TBD + TBD + + + + This class represents a configuration object used in creating an actor. + It is immutable and thus thread-safe. + + + private Props props = Props.Empty(); + private Props props = Props.Create(() => new MyActor(arg1, arg2)); + + private Props otherProps = props.WithDispatcher("dispatcher-id"); + private Props otherProps = props.WithDeploy(deployment info); + + + + + + + This class represents a surrogate of a configuration object. + Its main use is to help during the serialization process. + + + + + The type of actor to create + + + + + The configuration used to deploy the actor. + + + + + The arguments used to create the actor. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + + + + + + + A pre-configured that doesn't create actors. + + + The value of this field is null. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that is being cloned. + + + + Initializes a new instance of the class. + + + configured in this way uses the deployer. + + + The type of the actor to create. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + + configured in this way uses the deployer. + + + The type of the actor to create. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The configuration used to deploy the actor. + The type of the actor to create. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The configuration used to deploy the actor. + The type of the actor to create. + The arguments needed to create the actor. + This exception is thrown if is an unknown actor producer. + + + + The type of the actor that is created. + + + + + The dispatcher used in the deployment of the actor. + + + + + The mailbox used in the deployment of the actor. + + + + + The assembly qualified name of the type of the actor that is created. + + + + + The router used in the deployment of the actor. + + + + + The configuration used to deploy the actor. + + + + + The supervisor strategy used to manage the actor. + + + + + A pre-configured that creates an actor that doesn't respond to messages. + + + + + The arguments needed to create the actor. + + + + + Creates an actor using a specified lambda expression. + + The type of the actor to create. + The lambda expression used to create the actor. + Optional: The supervisor strategy used to manage the actor. + The newly created . + The create function must be a 'new T (args)' expression + + + + Creates an actor using the given arguments. + + The type of the actor to create. + The arguments needed to create the actor. + The newly created . + + + + Creates an actor using a specified actor producer. + + The type of producer used to create the actor. + The arguments needed to create the actor. + The newly created . + + + + Creates an actor using a specified supervisor strategy. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The newly created . + + + + Creates an actor of a specified type. + + The type of the actor to create. + The arguments needed to create the actor. + The newly created . + Props must be instantiated with an actor type. + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The mailbox used when deploying the actor. + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The dispatcher used when deploying the actor. + A new with the provided . + + + + Creates a new with a given router. + + + This method is immutable and returns a new instance of . + + + The router used when deploying the actor. + A new with the provided . + + + + Creates a new with a given deployment configuration. + + + This method is immutable and returns a new instance of . + + + The configuration used to deploy the actor. + A new with the provided . + + + + Creates a new with a given supervisor strategy. + + + This method is immutable and returns a new instance of . + + + The supervisor strategy used to manage the actor. + A new with the provided . + + + + Creates a new actor using the configured actor producer. + + + This method is only useful when called during actor creation by the ActorSystem. + + + + This exception is thrown if there was an error creating an actor of type + with the arguments from . + + The newly created actor + + + + Creates a copy of the current instance. + + The newly created + + + + This class represents a specialized that doesn't respond to messages. + + + + + Handles messages received by the actor. + + The message past to the actor. + + + + Signals the producer that it can release its reference to the actor. + + The actor to release + + + + This class represents a specialized used when the actor has been terminated. + + + + + N/A + + This exception is thrown automatically since the actor has been terminated. + N/A + + + + This class represents a specialized that uses dynamic invocation + to create new actor instances, rather than a traditional . + + + This is intended to be used in conjunction with Dependency Injection. + + + The type of the actor to create. + + + + Initializes a new instance of the class. + + The factory method used to create an actor. + + + + Creates a new actor using the configured factory method. + + The actor created using the factory method. + + + + Creates a copy of the current instance. + + The newly created + + + + This interface defines a class of actor creation strategies deviating from + the usual default of just reflectively instantiating the Actor + subclass. It can be used to allow a dependency injection framework to + determine the actual actor class and how it shall be instantiated. + + + + + This factory method must produce a fresh actor instance upon each + invocation. It is not permitted to return the same instance more than + once. + + A fresh actor instance. + + + + This method is used by to determine the type of actor to create. + The returned type is not used to produce the actor. + + The type of the actor created. + + + + This method is used by to signal the producer that it can + release it's reference. + + + To learn more about using Dependency Injection in .NET, see HERE. + + + The actor to release + + + + Delegate Receive + + The message. + + + + TBD + + + + + TBD + + + + + Creates and pushes a new MatchBuilder + + + + + TBD + + TBD + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + Configures the new handler by calling the different Receive overloads. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + Configures the new handler by calling the different Receive overloads. + + + + Registers an asynchronous handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + + + + Registers an asynchronous handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + When not null it is used to determine if the message matches. + The message handler that is invoked for incoming messages of the specified type + + + + Registers an asynchronous handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + + + + Registers an asynchronous handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + When not null it is used to determine if the message matches. + The message handler that is invoked for incoming messages of the specified + + + + Registers an asynchronous handler for incoming messages of any type. + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The message handler that is invoked for all + + + + Registers a handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified type . + The handler should return true if it has handled the message. + If the handler returns true no more handlers will be tried; otherwise the next registered handler will be tried. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the + specified type . It should return trueif it handled/matched + the message; false otherwise. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + The handler should return true if it has handled the message. + If the handler returns true no more handlers will be tried; otherwise the next registered handler will be tried. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the + specified type . It should return trueif it handled/matched + the message; false otherwise. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of any type. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The message handler that is invoked for all + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + This message is sent to an actor that has set a receive timeout, either by calling + Context.SetReceiveTimeout or + SetReceiveTimeout + and no message has been sent to the actor during the specified amount of time. + + + + + Gets the singleton instance. + + + + + This class represents a binding of an actor deployment to a remote system. + Actors in this scope are deployed to a specified . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The address to which actors are deployed. + + + + The address to which actors are deployed. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method ignores the given scope and returns the current instance. + + + The used for fallback configuration. + The instance of this scope + + + + Creates a new that uses the current . + + The newly created + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Initialize: make a dummy cell which holds just a mailbox, then tell our + supervisor that we exist so that he can create the real Cell in + handleSupervise(). + + TBD + This exception is thrown if this function is called more than once. + TBD + + + + This method is supposed to be called by the supervisor in HandleSupervise() + to replace the UnstartedCell with the real one. It assumes no concurrent + modification of the `underlying` field, though it is safe to send messages + at any time. + + This exception is thrown if the underlying cell is undefined. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + This exception is thrown if this property is called before actor is initialized (). + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + INTERNAL API. + + Used by + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Top-level anchor for the supervision hierarchy of this actor system. + Note: This class is called theOneWhoWalksTheBubblesOfSpaceTime in Akka + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + N/A + + + + Obsolete. Use instead. + + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + + + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + This implementation is built using a revolving wheel of buckets + with each bucket belonging to a specific time resolution. As the "clock" of the scheduler ticks it advances + to the next bucket in the circle and processes the items in it, and optionally reschedules recurring + tasks into the future into the next relevant bucket. + + There are `akka.scheduler.ticks-per-wheel` initial buckets (we round up to the nearest power of 2) with 512 + being the initial default value. The timings are approximated and are still limited by the ceiling of the operating + system's clock resolution. + + Further reading: http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf + Presentation: http://www.cse.wustl.edu/~cdgill/courses/cs6874/TimingWheels.ppt + + + + + TBD + + TBD + TBD + TBD + + + + 0 - init, 1 - started, 2 - shutdown + + + + + Normalize a wheel size to the nearest power of 2. + + The original input per wheel. + normalized to the nearest power of 2. + + + + Scheduler thread entry method + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + INTERNAL API. + + + + + The cancellation handle, if any + + + + + The task to be executed + + + + + Used to determine the delay for repeatable sends + + + + + The deadline for determining when to execute + + + + + Determines if this task will need to be re-scheduled according to its . + + + + + If true, we skip execution of this task. + + + + + The to which this registration belongs. + + + + + Resets all of the fields so this registration object can be used again + + + + + Adds a to this bucket. + + The scheduled task. + + + + Slot a repeating task into the "reschedule" linked list. + + The registration scheduled for repeating + + + + Empty this bucket + + A set of registrations to populate. + + + + Reset the reschedule list for this bucket + + A set of registrations to populate. + + + + Execute all s that are due by or after . + + The execution time. + + + + A scheduler able of scheduling actions + + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before the action is invoked. + The action to perform. + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + + + + TBD + + + + + Marks that an uses , + i.e. system time, to provide . + + + + + TBD + + + + + Gets the advanced scheduler which will allow you to schedule actions. + Note! It's considered bad practice to use concurrency inside actors and very easy to get wrong so usage is discouraged. + + + + + A scheduler that's able to schedule sending messages. + + + + Schedules to send a message once after a specified period of time. + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + + + Schedules to send a message once after a specified period of time. + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message has been sent, it cannot be canceled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message has been sent, it cannot be canceled. + + + + TBD + + + + + Gets the scheduler's notion of current time. + + + + + TBD + + + + + TBD + + + + + Abstract base class for implementing any custom implementation used by Akka.NET. + + All constructed schedulers are expected to support the and arguments + provided on the default constructor for this class. + + + + + The configuration section for a specific implementation. + + + + + The provided by the at startup. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + The current time since startup, as determined by the monotonic clock implementation. + + + Typically uses in most implementations, but in some cases a + custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit. + + + + + The current time since startup, as determined by the high resolution monotonic clock implementation. + + + Typically uses in most implementations, but in some cases a + custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is negative or zero. + + + + TBD + + TBD + TBD + This exception is thrown if the given is negative. + + + + An that is thrown by the methods + when scheduling is not possible, e.g. after shutting down the . + + + + + TBD + + TBD + + + + TBD + + + + Schedules to send a message once after a specified period of time. + The scheduler + The time in milliseconds that has to pass before the message is sent. + The receiver. + The message. + The sender. + OPTIONAL. An that can be used to cancel sending of the message. Note that once the message has been sent, it cannot be canceled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time in milliseconds that has to pass before the first message is sent. + The interval, i.e. the time in milliseconds that has to pass between messages are being sent. + The receiver. + The message. + The sender. + OPTIONAL. An that can be used to cancel sending of the message. Note that once the message has been sent, it cannot be canceled. + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The scheduler + The time in milliseconds that has to pass before the action is invoked. + The action to perform. + OPTIONAL. A cancelable that can be used to cancel the action from being executed. Defaults to null + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The scheduler + The time in milliseconds that has to pass before first invocation. + The interval, i.e. the time in milliseconds that has to pass before the action is invoked again. + The action to perform. + OPTIONAL. A cancelable that can be used to cancel the action from being executed. Defaults to null + + + Schedules to send a message once after a specified period of time. + The scheduler + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message once after a specified period of time. + The scheduler + The time in milliseconds that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time in milliseconds that has to pass before the first message is sent. + The interval, i.e. the time in milliseconds that has to pass between messages are sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + + Schedules an action to be invoked after an delay. + + The scheduler + The time period that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an delay. + + The scheduler + The time in milliseconds that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + + The scheduler + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + + The scheduler + The time in milliseconds that has to pass before first invocation. + The interval, i.e. the time in milliseconds that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + This class provides base functionality when defining a system binding (e.g. local/remote/cluster) used during actor deployment. + + + + + A binding that binds actor deployments to the local system. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method is immutable and returns a new instance of . + + + The used for fallback configuration. + A new using for fallback configuration. + + + + Creates a copy of the current instance. + + The newly created + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + This class represents a binding of an actor deployment to an unspecified system. + + + + + The singleton instance of this scope. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method returns the given scope unaltered. + + + The used for fallback configuration. + The scope passed in as the parameter. + + + + Creates a copy of the current instance. + + + This method returns a singleton instance of this scope. + + + The singleton instance of this scope + + + + Settings are the overall ActorSystem Settings which also provides a convenient access to the Config object. + For more detailed information about the different possible configuration options, look in the Akka .NET + Documentation under "Configuration" + + + + + Combines the user config and the fallback chain of configs + + + + + Injects a system config at the top of the fallback chain + + TBD + + + + Initializes a new instance of the class. + + The system. + The configuration. + + This exception is thrown if the 'akka.actor.provider' configuration item is not a valid type name or a valid actor ref provider. + + + + + Gets the system. + + The system. + + + + Gets the configuration. + + The configuration. + + + + Gets the configuration version. + + The configuration version. + + + + Gets the provider class. + + The provider class. + + + + Gets the supervisor strategy class. + + The supervisor strategy class. + + + + Gets a value indicating whether [serialize all messages]. + + true if [serialize all messages]; otherwise, false. + + + + Gets a value indicating whether [serialize all creators]. + + true if [serialize all creators]; otherwise, false. + + + + Gets the default timeout for calls. + + The ask timeout. + + + + Gets the creation timeout. + + The creation timeout. + + + + Gets the unstarted push timeout. + + The unstarted push timeout. + + + + Gets the log level. + + The log level. + + + + Gets the stdout log level. + + The stdout log level. + + + + Gets the loggers. + + The loggers. + + + + Gets the default loggers dispatcher. + + The loggers dispatcher. + + + + Gets the logger start timeout. + + The logger start timeout. + + + + Gets a value indicating whether [log configuration on start]. + + true if [log configuration on start]; otherwise, false. + + + + Gets the log dead letters. + + The log dead letters. + + + + Gets a value indicating whether [log dead letters during shutdown]. + + true if [log dead letters during shutdown]; otherwise, false. + + + + Gets a value indicating whether [add logging receive]. + + true if [add logging receive]; otherwise, false. + + + + Gets a value indicating whether [debug automatic receive]. + + true if [debug automatic receive]; otherwise, false. + + + + Gets a value indicating whether [debug event stream]. + + true if [debug event stream]; otherwise, false. + + + + Gets a value indicating whether [debug unhandled message]. + + true if [debug unhandled message]; otherwise, false. + + + + Gets a value indicating whether [debug router misconfiguration]. + + true if [debug router misconfiguration]; otherwise, false. + + + + Gets the home. + + The home. + + + + Gets a value indicating whether [debug lifecycle]. + + true if [debug lifecycle]; otherwise, false. + + + + TBD + + + + + The number of default virtual nodes to use with . + + + + + Gets the scheduler implementation used by this system. + + + + + TBD + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Marker interface for adding stash support + + + + + Gets or sets the stash. This will be automatically populated by the framework AFTER the constructor has been run. + Implement this as an auto property. + + + The stash. + + + + + TBD + + + + + Stash plugin is applied to all actors implementing interface. + + TBD + TBD + + + + Creates a new stash for specified if it has not been initialized already. + + TBD + TBD + + + + Ensures, that all stashed messages inside stash have been unstashed. + + TBD + TBD + + + + Public interface used to expose stash capabilities to user-level actors + + + + + Stashes the current message (the message that the actor received last) + + + + + Unstash the oldest message in the stash and prepends it to the actor's mailbox. + The message is removed from the stash. + + + + + Unstashes all messages by prepending them to the actor's mailbox. + The stash is guaranteed to be empty afterwards. + + + + + Unstashes all messages selected by the predicate function. Other messages are discarded. + The stash is guaranteed to be empty afterwards. + + TBD + + + + Returns all messages and clears the stash. + The stash is guaranteed to be empty afterwards. + + TBD + + + + TBD + + TBD + + + + Lets the know that this Actor needs stash support + with restricted storage capacity + You need to add the property: + public IStash Stash { get; set; } + + + + + Lets the know that this Actor needs stash support + with unrestricted storage capacity. + You need to add the property: + public IStash Stash { get; set; } + + + + + Static factor used for creating Stash instances + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given implements an unrecognized subclass of . + + TBD + + + + This exception is thrown when the size of the Stash exceeds the capacity of the stash. + + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Base class for supervision strategies + + + + + TBD + + + + + Handles the specified child. + + The actor that caused the evaluation to occur + The exception that caused the evaluation to occur. + Directive. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + This is the main entry point: in case of a child’s failure, this method + must try to handle the failure by resuming, restarting or stopping the + child (and returning `true`), or it returns `false` to escalate the + failure, which will lead to this actor re-throwing the exception which + caused the failure. The exception will not be wrapped. + This method calls , which will + log the failure unless it is escalated. You can customize the logging by + setting to `false` and + do the logging inside the `decider` or override the `LogFailure` method. + + The actor cell. + The child actor. + The cause. + The stats for the failed child. + TBD + true if XXXX, false otherwise. + + + + When supervisorStrategy is not specified for an actor this + Decider is used by default in the supervisor strategy. + The child will be stopped when , + , or is + thrown. It will be restarted for other `Exception` types. + The error is escalated if it's a `Exception`, i.e. `Error`. + + Directive. + + + + Restarts the child. + + The child. + The cause. + if set to true [suspend first]. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + This method is called to act on the failure of a child: restart if the flag is true, stop otherwise. + + The actor context. + if set to true restart, stop otherwise. + The child actor + The exception that caused the child to fail. + The stats for the child that failed. The ActorRef to the child can be obtained via the property + The stats for all children + + + + Resume the previously failed child: do never apply this to a child which + is not the currently failing child. Suspend/resume needs to be done in + matching pairs, otherwise actors will wake up too soon or never at all. + + The child. + The exception. + + + + Logs the failure. + + The actor cell. + The child. + The cause. + The directive. + + + + Determines if failures are logged + + + + + When supervisorStrategy is not specified for an actor this + is used by default. OneForOneStrategy with decider defined in + . + + The default. + + + + This strategy resembles Erlang in that failing children are always + terminated (one-for-one). + + + + + This method is called after the child has been removed from the set of children. + It does not need to do anything special. Exceptions thrown from this method + do NOT make the actor fail if this happens during termination. + + TBD + TBD + TBD + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Class OneForOneStrategy. This class cannot be inherited. + The result of this strategy is applied only to the failing child + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, System.Threading.Timeout.InfiniteTimeSpan means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, System.Threading.Timeout.InfiniteTimeSpan means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + mapping from Exception to + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + mapping from Exception to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Serialization-friendly constructor + + + + + Handles the specified child. + + The child. + The x. + Directive. + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Determines if failures are logged + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + This exception is thrown if the is of type . + The surrogate representation of the current . + + + + + + + + + + + + + Class AllForOneStrategy. This class cannot be inherited. + The result of this strategy is applied to the failed child and all its siblings. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value and null means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value and null means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Serialization-friendly constructor + + + + + Determines what to do with the child when the given exception occurs. + + The child. + The x. + Directive. + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Determines if failures are logged + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + + + + + + + + + + Collection of failures, used to keep track of how many times a given actor have failed. + + + + + Initializes a new instance of the class. + + + + + Gets the entries. + + The entries. + + + + Represents a single failure. + + + + + The exception that caused the failure. + + The exception. + + + + The timestamp when the failure occurred. + + The timestamp. + + + + Enum Directive for supervisor actions + + + + + Resumes message processing for the failed Actor + + + + + Discards the old Actor instance and replaces it with a new, + then resumes message processing. + + + + + Escalates the failure to the supervisor of the supervisor, + by rethrowing the cause of the failure, i.e. the supervisor fails with + the same exception as the child. + + + + + Stops the Actor + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + + + + + + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if the given is undefined or references an unknown type. + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + Interface IHandle + + The type of the t message. + + + + Handles the specified message. + + The message. + + + + Class TypedActor. + + + + + Processor for user defined messages. + + The message. + TBD + + + + Class UntypedActor. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + To be implemented by concrete UntypedActor, this defines the behavior of the UntypedActor. + This method is called for every message received by the actor. + + The message. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + TBD + + + + + Delegate UntypedReceive + + The message. + + + + This class represents the main configuration object used by Akka.NET + when configuring objects within the system. To put it simply, it's + the internal representation of a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The root node to base this configuration. + This exception is thrown if the given value is undefined. + + + + Initializes a new instance of the class. + + The configuration to use as the primary source. + The configuration to use as a secondary source. + This exception is thrown if the given is undefined. + + + + The configuration used as a secondary source. + + + + + Determines if this root node contains any values + + + + + The root node of this configuration section + + + + + An enumeration of substitutions values + + + + + Generates a deep clone of the current configuration. + + A deep clone of the current configuration + + + + Retrieves a boolean value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The boolean value defined in the specified path. + + + + Retrieves a long value, optionally suffixed with a 'b', from the specified path in the configuration. + + The path that contains the value to retrieve. + This exception is thrown if the current node is undefined. + The long value defined in the specified path. + + + + Retrieves an integer value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The integer value defined in the specified path. + + + + Retrieves a long value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The long value defined in the specified path. + + + + Retrieves a string value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The string value defined in the specified path. + + + + Retrieves a float value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The float value defined in the specified path. + + + + Retrieves a decimal value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The decimal value defined in the specified path. + + + + Retrieves a double value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The double value defined in the specified path. + + + + Retrieves a list of boolean values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of boolean values defined in the specified path. + + + + Retrieves a list of decimal values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of decimal values defined in the specified path. + + + + Retrieves a list of float values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of float values defined in the specified path. + + + + Retrieves a list of double values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of double values defined in the specified path. + + + + Retrieves a list of int values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of int values defined in the specified path. + + + + Retrieves a list of long values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of long values defined in the specified path. + + + + Retrieves a list of byte values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of byte values defined in the specified path. + + + + Retrieves a list of string values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of string values defined in the specified path. + + + + Retrieves a new configuration from the current configuration + with the root node being the supplied path. + + The path that contains the configuration to retrieve. + This exception is thrown if the current node is undefined. + A new configuration with the root node being the supplied path. + + + + Retrieves a from a specific path. + + The path that contains the value to retrieve. + This exception is thrown if the current node is undefined. + The found at the location if one exists, otherwise null. + + + + Retrieves a value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + true if infinite timespans are allowed; otherwise false. + This exception is thrown if the current node is undefined. + The value defined in the specified path. + + + + Converts the current configuration to a string. + + A string containing the current configuration. + + + + Converts the current configuration to a string + + if true returns string with current config combined with fallback key-values else only current config key-values + TBD + + + + Configure the current configuration with a secondary source. + + The configuration to use as a secondary source. + This exception is thrown if the given is a reference to this instance. + The current configuration configured with the specified fallback. + + + + Determine if a HOCON configuration element exists at the specified location + + The location to check for a configuration value. + This exception is thrown if the current node is undefined. + true if a value was found, false otherwise. + + + + Adds the supplied configuration string as a fallback to the supplied configuration. + + The configuration used as the source. + The string used as the fallback configuration. + The supplied configuration configured with the supplied fallback. + + + + Adds the supplied configuration as a fallback to the supplied configuration string. + + The configuration string used as the source. + The configuration used as the fallback. + A configuration configured with the supplied fallback. + + + + Performs an implicit conversion from to . + + The string that contains a configuration. + A configuration based on the supplied string. + + + + Retrieves an enumerable key value pair representation of the current configuration. + + The current configuration represented as an enumerable key value pair. + + + + A static "Empty" configuration we can use instead of null in some key areas. + + + + + This class contains convenience methods for working with . + + + + + Retrieves the current configuration or the fallback + configuration if the current one is null. + + The configuration used as the source. + The configuration to use as a secondary source. + The current configuration or the fallback configuration if the current one is null. + + + + Determines if the supplied configuration has any usable content period. + + The configuration used as the source. + true> if the is null or ; otherwise false. + + + + The exception that is thrown when a configuration is invalid. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + This class contains methods used to retrieve configuration information + from a variety of sources including user-supplied strings, configuration + files and assembly resources. + + + + + Generates an empty configuration. + + + + + Generates a configuration defined in the supplied + HOCON (Human-Optimized Config Object Notation) string. + + A string that contains configuration options to use. + callback used to resolve includes + The configuration defined in the supplied HOCON string. + + + + Generates a configuration defined in the supplied + HOCON (Human-Optimized Config Object Notation) string. + + A string that contains configuration options to use. + The configuration defined in the supplied HOCON string. + + + + Loads a configuration defined in the current application's + configuration file, e.g. app.config or web.config + + The configuration defined in the configuration file. + + + + Retrieves the default configuration that Akka.NET uses + when no configuration has been defined. + + The configuration that contains default values for all options. + + + + Retrieves a configuration defined in a resource of the + current executing assembly. + + The name of the resource that contains the configuration. + The configuration defined in the current executing assembly. + + + + Retrieves a configuration defined in a resource of the + assembly containing the supplied instance object. + + The name of the resource that contains the configuration. + An instance object located in the assembly to search. + The configuration defined in the assembly that contains the instanced object. + + + + Retrieves a configuration defined in a resource of the assembly + containing the supplied type . + + A type located in the assembly to search. + The name of the resource that contains the configuration. + The configuration defined in the assembly that contains the type . + + + + Retrieves a configuration defined in a resource of the supplied assembly. + + The name of the resource that contains the configuration. + The assembly that contains the given resource. + The configuration defined in the assembly that contains the given resource. + + + + Creates a configuration based on the supplied source object + + The source object + The configuration created from the source object + + + + This class represents a custom akka node within a configuration file. + + + + +
+ + + ... + + + ]]> + +
+
+ + + Retrieves a from the contents of the + custom akka node within a configuration file. + + + + + Retrieves the HOCON (Human-Optimized Config Object Notation) + configuration string from the custom akka node. + + + + +
+ + + + ... + + + + ]]> + +
+
+ + + This class represents the base implementation for retrieving text from + an XML CDATA node within a configuration file. + + + + +
+ + + + <![CDATA[ + ... + ]]> + + + + ]]> + +
+
+ + + The name of the property that contains the content to deserialize. + + + + + Deserializes the text located in a CDATA node of the configuration file. + + The that reads from the configuration file. + true to serialize only the collection key properties; otherwise, false. + + + + This class represents an array element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + cluster { + seed-nodes = [ + "akka.tcp://ClusterSystem@127.0.0.1:2551", + "akka.tcp://ClusterSystem@127.0.0.1:2552"] + } + } + + + + + + Determines whether this element is a string. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an array and not a string. + + + + + Determines whether this element is an array. + + true + + + + Retrieves a list of elements associated with this element. + + + A list of elements associated with this element. + + + + + Returns a HOCON string representation of this element. + + A HOCON string representation of this element. + + + + This class represents a custom HOCON (Human-Optimized Config Object Notation) + node within a configuration file. + + + + +
+ + + + ... + + + + ]]> + +
+
+ + + Gets or sets the HOCON configuration string contained in the hocon node. + + + + + This class represents a string literal element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + actor { + provider = "Akka.Remote.RemoteActorRefProvider, Akka.Remote" + } + } + + + + + + Gets or sets the value of this element. + + + + + Determines whether this element is a string. + + true + + + + Retrieves the string representation of this element. + + The value of this element. + + + + Determines whether this element is an array. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is a string literal and not an array. + + + + + Returns the string representation of this element. + + The value of this element. + + + + This class represents an object element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + actor { + debug { + receive = on + autoreceive = on + lifecycle = on + event-stream = on + unhandled = on + } + } + } + + + + + + Initializes a new instance of the class. + + + + + Retrieves the underlying map that contains the barebones + object values. + + + + + Retrieves the underlying map that this element is based on. + + + + + Determines whether this element is a string. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an object and not a string. + + + + + Determines whether this element is an array. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an object and not an array. + + + + + Retrieves the value associated with the supplied key. + + The key associated with the value to retrieve. + + The value associated with the supplied key or null + if they key does not exist. + + + + + Retrieves the value associated with the supplied key. + If the supplied key is not found, then one is created + with a blank value. + + The key associated with the value to retrieve. + The value associated with the supplied key. + + + + Returns a HOCON string representation of this element. + + A HOCON string representation of this element. + + + + Returns a HOCON string representation of this element. + + The number of spaces to indent the string. + A HOCON string representation of this element. + + + + Merges the specified object into this instance. + + The object to merge into this instance. + + + + Merges the specified object with this instance producing new one. + + The object to merge into this instance. + + + + This class contains methods used to parse HOCON (Human-Optimized Config Object Notation) + configuration strings. + + + + + Parses the supplied HOCON configuration string into a root element. + + The string that contains a HOCON configuration string. + Callback used to resolve includes + This exception is thrown if an unresolved substitution or an unknown token is encountered. + This exception is thrown if the end of the file has been reached while trying to read a value. + The root element created from the supplied HOCON configuration string. + + + + Retrieves the next value token from the tokenizer and appends it + to the supplied element . + + The element to append the next token. + The location in the HOCON object hierarchy that the parser is currently reading. + This exception is thrown if the end of the file has been reached while trying to read a value. + + + + Retrieves the next array token from the tokenizer. + + The location in the HOCON object hierarchy that the parser is currently reading. + An array of elements retrieved from the token. + + + + This class represents the root element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value to associate with this element. + An enumeration of substitutions to associate with this element. + + + + Initializes a new instance of the class. + + The value to associate with this element. + + + + Retrieves the value associated with this element. + + + + + Retrieves an enumeration of substitutions associated with this element. + + + + + This class represents a substitution element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + defaultInstances = 10 + deployment{ + /user/time{ + nr-of-instances = $defaultInstances + } + } + } + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The path. + + + + The full path to the value which should substitute this instance. + + + + + The evaluated value from the Path property + + + + + Determines whether this element is a string. + + true if this element is a string; otherwise false + + + + Retrieves the string representation of this element. + + The string representation of this element. + + + + Determines whether this element is an array. + + true if this element is aan array; otherwise false + + + + Retrieves a list of elements associated with this element. + + A list of elements associated with this element. + + + + Determines whether this element is a HOCON object. + + true if this element is a HOCON object; otherwise false + + + + Retrieves the HOCON object representation of this element. + + The HOCON object representation of this element. + + + + This enumeration defines the different types of tokens found within + a HOCON (Human-Optimized Config Object Notation) configuration string. + + + + + This token type represents a comment. + + + + + This token type represents the key portion of a key-value pair. + + + + + This token type represents the value portion of a key-value pair. + + + + + This token type represents the assignment operator, = or : . + + + + + This token type represents the beginning of an object, { . + + + + + This token type represents the end of an object, } . + + + + + This token type represents a namespace separator, . . + + + + + This token type represents the end of the configuration string. + + + + + This token type represents the beginning of an array, [ . + + + + + This token type represents the end of an array, ] . + + + + + This token type represents the separator in an array, , . + + + + + This token type represents a replacement variable, $foo . + + + + + This token type represents an include statement. + + + + + This class represents a token within a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The type of token to associate with. + + + + Initializes a new instance of the class. + + The string literal value to associate with this token. + + + + The value associated with this token. If this token is + a , then this property + holds the string literal. + + + + + The type that represents this token. + + + + + Creates a key token with a given . + + The key to associate with this token. + A key token with the given key. + + + + Creates a substitution token with a given . + + The path to associate with this token. + A substitution token with the given path. + + + + Creates a string literal token with a given . + + The value to associate with this token. + A string literal token with the given value. + + + + This class contains methods used to tokenize a string. + + + + + Adds the current index to the tokenizer's bookkeeping stack. + + + + + Removes an index from the tokenizer's bookkeeping stack. + + + + + Initializes a new instance of the class. + + The string that contains the text to tokenize. + + + + A value indicating whether the tokenizer has reached the end of the string. + + + + + Determines whether the given pattern matches the value at the current + position of the tokenizer. + + The string that contains the characters to match. + true if the pattern matches, otherwise false. + + + + Retrieves a string of the given length from the current position of the tokenizer. + + The length of the string to return. + + The string of the given length. If the length exceeds where the + current index is located, then null is returned. + + + + + Determines whether any of the given patterns match the value at the current + position of the tokenizer. + + The string array that contains the characters to match. + true if any one of the patterns match, otherwise false. + + + + Retrieves the next character in the tokenizer without advancing its position. + + The character at the tokenizer's current position. + + + + Retrieves the next character in the tokenizer. + + The character at the tokenizer's current position. + + + + Advances the tokenizer to the next non-whitespace character. + + + + + This class contains methods used to tokenize HOCON (Human-Optimized Config Object Notation) + configuration strings. + + + + + Initializes a new instance of the class. + + The string that contains the text to tokenize. + + + + Advances the tokenizer to the next non-whitespace, non-comment token. + + + + + Retrieves the current line from where the current token + is located in the string. + + The current line from where the current token is located. + + + + Retrieves the next token from the string. + + This exception is thrown if an unknown token or escape code is encountered. + The next token contained in the string. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches the start of a quoted string. + + true if token matches; otherwise, false. + + + + Determines whether the current token matches the start of a triple quoted string. + + true if token matches; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves an unquoted token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token is an unquoted key. + + true if token is an unquoted key; otherwise, false. + + + + Determines whether the current token is the start of an unquoted key. + + true if token is the start of an unquoted key; otherwise, false. + + + + Determines whether the current token is whitespace. + + true if token is whitespace; otherwise, false. + + + + Determines whether the current token is whitespace or a comment. + + true if token is whitespace or a comment; otherwise, false. + + + + Retrieves a triple quoted token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a quoted token from the tokenizer's current position. + + This exception is thrown if an unknown escape code is encountered. + A token from the tokenizer's current position. + + + + Retrieves a quoted token from the tokenizer's current position. + + This exception is thrown if an unknown escape code is encountered. + A token from the tokenizer's current position. + + + + TBD + + This exception is thrown if an unknown escape code is encountered. + TBD + + + + Determines whether the current token is the start of a comment. + + true if token is the start of a comment; otherwise, false. + + + + Retrieves a value token from the tokenizer's current position. + + A value token from the tokenizer's current position. + + This exception is thrown if an unknown token is encountered. Expected values include the following: + Null literal, Array, Quoted Text, Unquoted Text, Triple quoted Text, Object or End of array. + + + + + Determines whether the current token is the start of a substitution. + + true if token is the start of a substitution; otherwise, false. + + + + Determines whether the current token is the start of an include directive. + + This exception is thrown if an unknown escape code is encountered. + true if token is the start of an include directive; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token is a space or a tab. + + true if token is the start of a space or a tab; otherwise, false. + + + + Determines whether the current token is the start of an unquoted string literal. + + true if token is the start of an unquoted string literal; otherwise, false. + + + + Retrieves the current token, including whitespace and tabs, as a string literal token. + + A token that contains the string literal value. + + + + Retrieves the current token as a string literal token. + + + This exception is thrown if the tokenizer cannot find a string literal value from the current token. + + A token that contains the string literal value. + + + + Determines whether the current token is a value. + + true if the current token is a value; otherwise, false. + + + + This class represents the root type for a HOCON (Human-Optimized Config Object Notation) + configuration object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The list of elements inside this HOCON value. + Indicates whether this instance was constructed during association with fallback . + + + + Returns true if this HOCON value doesn't contain any elements + + + + + The list of elements inside this HOCON value + + + + + Marker for values were merged during fallback attaching + serving exclusively to skip rendering such values in + + + + + Wraps this into a new object at the specified key. + + The key designated to be the new root element. + A with the given key as the root element. + + + + Retrieves the from this . + + The that represents this . + + + + Determines if this is a . + + true if this value is a , false otherwise. + + + + Adds the given element to the list of elements inside this . + + The element to add to the list. + + + + Clears the list of elements inside this . + + + + + Creates a fresh list of elements inside this + and adds the given value to the list. + + The element to add to the list. + + + + Determines whether all the elements inside this + are a string. + + + trueif all elements inside this are a string; otherwise false. + + + + + Retrieves the child object located at the given key. + + The key used to retrieve the child object. + The element at the given key. + + + + Retrieves the boolean value from this . + + The boolean value represented by this . + + This exception is thrown if the doesn't + conform to the standard boolean values: "on", "off", "true", or "false" + + + + + Retrieves the string value from this . + + The string value represented by this . + + + + Retrieves the decimal value from this . + + The decimal value represented by this . + + + + Retrieves the float value from this . + + The float value represented by this . + + + + Retrieves the double value from this . + + The double value represented by this . + + + + Retrieves the long value from this . + + The long value represented by this . + + + + Retrieves the integer value from this . + + The integer value represented by this . + + + + Retrieves the byte value from this . + + The byte value represented by this . + + + + Retrieves a list of byte values from this . + + A list of byte values represented by this . + + + + Retrieves a list of integer values from this . + + A list of integer values represented by this . + + + + Retrieves a list of long values from this . + + A list of long values represented by this . + + + + Retrieves a list of boolean values from this . + + A list of boolean values represented by this . + + + + Retrieves a list of float values from this . + + A list of float values represented by this . + + + + Retrieves a list of double values from this . + + A list of double values represented by this . + + + + Retrieves a list of decimal values from this . + + A list of decimal values represented by this . + + + + Retrieves a list of string values from this . + + A list of string values represented by this . + + + + Retrieves a list of values from this . + + A list of values represented by this . + + + + Determines whether this is an array. + + + true if this is an array; otherwise false. + + + + + Retrieves the time span value from this . + + A flag used to set infinite durations. + + This exception is thrown if the timespan given in the is negative. + + The time span value represented by this . + + + + Retrieves the long value, optionally suffixed with a 'b', from this . + + The long value represented by this . + + + + Returns a HOCON string representation of this . + + A HOCON string representation of this . + + + + Returns a HOCON string representation of this . + + The number of spaces to indent the string. + A HOCON string representation of this . + + + + Marker interface to make it easier to retrieve HOCON + (Human-Optimized Config Object Notation) objects for + substitutions. + + + + + Determines whether this element is a HOCON object. + + true if this element is a HOCON object; otherwise false + + + + Retrieves the HOCON object representation of this element. + + The HOCON object representation of this element. + + + + This interface defines the contract needed to implement + a HOCON (Human-Optimized Config Object Notation) element. + + + + + Determines whether this element is a string. + + true if this element is a string; otherwise false + + + + Retrieves the string representation of this element. + + The string representation of this element. + + + + Determines whether this element is an array. + + true if this element is aan array; otherwise false + + + + Retrieves a list of elements associated with this element. + + A list of elements associated with this element. + + + + Contextual information that's useful for dispatchers + + + + + The that belongs to the current . + + + + + The that belongs to the current . + + + + + The for the current . + + + + + The list of registered for the current . + + + + + The default set of contextual data needed for s + + + + + Default constructor... + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + INTERNAL API - used to configure the executor used by the + + + + + A configurable factory for producing instances. + + The configuration for this type of executor. + The prerequesites for this type of executor. + + + + Executor-specific configuration + + + + + The system prerequisites needed for this dispatcher to do its job + + + + + INTERNAL API + + Produces that dispatches messages using the default . + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + + + + Used by + + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if either 'dedicated-thread-pool' OR 'fork-join-executor' is not defined in . + + + + + TBD + + TBD + TBD + + + + Factory for producing types. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Base class used for hooking new types into + + + + + Takes a object, usually passed in via + + TBD + TBD + + + + System-wide configuration + + + + + The system prerequisites needed for this dispatcher to do its job + + + + + Returns a instance. + + Whether or not this returns a new instance + or returns a reference to an existing instance is an implementation detail of the + underlying implementation. + + TBD + + + + Configures the that will be used inside this dispatcher. + + + This exception is thrown if a custom ExecutorServiceConfiguration implementation cannot be loaded. + + The requested instance. + + + + Class responsible for pushing messages from an actor's mailbox into its + receive methods. Comes in many different flavors. + + + + + TBD + + + + + INTERNAL API - Debugging purposes only! Should be elided by compiler in release builds. + + + + + The default throughput + + + + + The configurator used to configure this message dispatcher. + + + + + Initializes a new instance of the class. + + TBD + + + + The for this dispatcher's actor system + + + + + The list of available for this dispatcher's actor system + + + + + The ID for this dispatcher. + + + + + Gets or sets the throughput deadline time. + + The throughput deadline time. + + + + Gets or sets the throughput. + + The throughput. + + + + INTERNAL API + + When the dispatcher no longer has any actors registered, the determines + how long it will wait until it shuts itself down, defaulting to your Akka.NET config's 'akka.actor.default-dispatcher.shutdown-timeout' + or the system default specified. + + + + + The number of actors attached to this + + + + + Used for executing arbitrary s on this . + + Not used for mailbox runs. + + + + + Schedules the specified delegate. + + The run. + + + + Schedules an arbitrary task to run. + + The run. + + + + Schedules the to be executed. + + The asynchronous task we're going to run + + + + Publish failure that occurred while inside the running + to the . + + The failure to publish. + + + + INTERNAL API + + Called one time every time an actor is detached from this dispatcher and this dispatcher has no actors left attached + + + MUST BE IDEMPOTENT + + + + + Creates and returns a for the given actor. + + Cell of the actor. + The mailbox configurator. + The configured for this actor. + + + + Dispatches a user-defined message from a mailbox to an + + TBD + TBD + + + + Dispatches a from a mailbox to an + + TBD + TBD + + + + Attaches the dispatcher to the + + + Practically, doesn't do very much right now - dispatchers aren't responsible for creating + mailboxes in Akka.NET + + + The ActorCell belonging to the actor who's attaching to this dispatcher. + + + + INTERNAL API + + If you override it, you must still call the base method. But only ever once. See for only invocation. + + The actor we're registering + + + + INTERNAL API + + Suggest to register the provided mailbox for execution + + The mailbox + Do we have any messages? + Do we have any system messages? + true if the was scheduled for execution, otherwise false. + + + + Detaches the dispatcher to the + + + Only really used in dispatchers with 1:1 relationship with dispatcher. + + + The ActorCell belonging to the actor who's detaching from this dispatcher. + + + + INTERNAL API + + If you override it, you must call it. But only ever once. See for the only invocation + + The actor who is unregistering + + + + After the call to this method, the dispatcher mustn't begin any new message processing for the specified reference + + The cell of the actor whose mailbox will be suspended. + + + + After the call to this method, the dispatcher must begin any new message processing for the specified reference + + The cell of the actor whose mailbox will be resumed. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if this method is called outside an actor context. + + + + + INTERNAL API + + A is a that wraps another and is used to + cache path lookup and string retrieval, which we happen to do in some critical paths of the actor creation + and mailbox selection code. + + All other operations are delegated to the wrapped . + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + Produces that dispatches messages on the current synchronization context, + e.g. WinForms or WPF GUI thread + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Used to create instances of the . + + Each actor created using the pinned dispatcher gets its own unique thread. + + Always returns a new instance. + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Behaves like a and always executes using + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the registering is not the owner. + + + + + TBD + + TBD + + + + The event-based binds a set of actors to a thread pool backed up + by a thread-safe queue. + + The preferred way of creating dispatchers is to define them in configuration and use the + method. + + + + + Used to create a default + + The configurator used. + The id of this dispatcher. + The throughput of this dispatcher. + The deadline for completing N (where N = throughput) operations on the mailbox.. + The factory for producing the executor who will do the work. + The graceful stop timeout period. + + + + Schedules the to be executed. + + The asynchronous task we're going to run + + + + INTERNAL API + + Called one time every time an actor is detached from this dispatcher and this dispatcher has no actors left attached + + + MUST BE IDEMPOTENT + + + + + INTERNAL API + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + INTERNAL API + + Executes its tasks using the + + + + + The scheduler + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + ForkJoinExecutorService - custom multi-threaded dispatcher that runs on top of a + , designed to be used for mission-critical actors + that can't afford starvation. + + Relevant configuration options: + + my-forkjoin-dispatcher { + type = ForkJoinDispatcher + throughput = 100 + dedicated-thread-pool { #settings for Helios.DedicatedThreadPool + thread-count = 3 #number of threads + #deadlock-timeout = 3s #optional timeout for deadlock detection + threadtype = background #values can be "background" or "foreground" + } + } + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if this method is called during the shutdown of this executor. + + + + + TBD + + + + + The registry of all instances available to this . + + + + + The default dispatcher identifier, also the full key of the configuration of the default dispatcher. + + + + + The identifier for synchronized dispatchers. + + + + + The list of all configurators used to create instances. + + Has to be thread-safe, as this collection can be accessed concurrently by many actors. + + + + Initializes a new instance of the class. + The system. + The prerequisites required for some instances. + + + Gets the one and only default dispatcher. + + + + The for the default dispatcher. + + + + + INTERNAL API + + Used when a plugin like Akka.Persistence needs to be able to load dispatcher configurations to the chain. + + TBD + + + + The prerequisites required for some instances. + + + + + Returns a dispatcher as specified in configuration. Please note that this method _MAY_ + create and return a new dispatcher on _EVERY_ call. + + TBD + + This exception is thrown if the specified dispatcher cannot be found in the configuration. + + TBD + + + + Checks that configuration provides a section for the given dispatcher. + This does not guarantee that no will be thrown + when using the dispatcher, because the details can only be checked by trying to + instantiate it, which might be undesirable when just checking. + + TBD + + + + INTERNAL API + + Creates a dispatcher from a . Internal test purpose only. + + From(Config.GetConfig(id)); + + + The Config must also contain an `id` property, which is the identifier of the dispatcher. + + The provided configuration section. + + This exception is thrown if the specified dispatcher cannot be found in . + It can also be thrown if the dispatcher path or type cannot be resolved. + + An instance of the , if valid. + + + + Register a that will be used by + and instead of looking up the configurator from the system + configuration. + + This enables dynamic addition of dispatchers. + + + A for a certain id can only be registered once, + i.e. it can not be replaced. It is safe to call this method multiple times, but only the + first registration will be used. + + + TBD + TBD + This method returns true if the specified configurator was successfully registered. + + + + INTERNAL API + + + + + The cached factory that gets looked up via configuration + inside + + + + + Used to configure and produce instances for use with actors. + + The configuration for this dispatcher. + System pre-reqs needed to run this dispatcher. + + + + Returns a instance. + + Whether or not this returns a new instance + or returns a reference to an existing instance is an implementation detail of the + underlying implementation. + + TBD + + + + Used by the to execute asynchronous invocations + + + + + TBD + + TBD + + + + The Id of the this executor is bound to + + + + + Queues or executes (depending on the implementation) the + + The asynchronous task to be executed + Thrown when the service can't accept additional tasks. + + + + Terminates this instance. + + + + + INTERNAL API + + Used to produce instances for use inside s + + + + + TBD + + TBD + TBD + + + + Thrown when a implementation rejects + + + + + TBD + + TBD + TBD + + + + Class FutureActor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The completion source. + The respond to. + + + + Processor for user defined messages. + + The message. + TBD + + + + Used to help give hints to the as to what types of this + actor requires. Used mostly for system actors. + + The type of required + + + + An asynchronous opreation will be executed by a . + + + + + TBD + + + + + which executes an + + + + + TBD + + TBD + + + + TBD + + + + + which executes an and an representing the state. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Semantics for message queues that support multiple consumers + + + + + Semantics for message queues that have an unbounded size + + + + + Semantics for message queues that have a bounded size + + + + + The enqueue time to wait until message is dropped to deadletters if the message queue is full + + + + + Semantics for message queues that are blocking + + + + + The time to wait on a lock before throwing an timeout exception. + + + + + Semantics for message queues that are Double-Ended. + + + + + TBD + + TBD + + + + Semantics for message queues that are Double-Ended and unbounded + + + + + Semantics for message queues that are Double-Ended and bounded + + + + + Mailbox base class + + + + + Status codes for the state of the mailbox + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The queue used for user-defined messages inside this mailbox + + + + + Creates a new mailbox + + The used by this mailbox. + + + + Posts the specified envelope to the mailbox. + + TBD + The envelope. + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Atomic reader for the system message queue + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + The for the underlying mailbox. + + + + + INTERNAL API + + must not be visible to user-defined implementations + + + + + Attaches an ActorCell to the Mailbox. + + TBD + + + + TBD + + + + + TBD + + + + + Returns the number of times this mailbox is currently suspended. + + + + + Returns true if the mailbox is currently suspended from processing. false otherwise. + + + + + Returns true if the mailbox is closed. false otherwise. + + + + + Returns true if the mailbox is scheduled for execution on a . false otherwise. + + + + + Updates the status of the current mailbox. + + + + + Forcefully sets the status of the current mailbox. + + + + + Reduce the suspend count by one. Caller does not need to worry about whether + status was or not. + + true if the suspend count reached zero. + + + + Increment the suspend count by one. Caller does not need to worry about whether + status was or not. + + true if the previous suspend count was zero. + + + + Set the new primary status to . + + true if we were able to successfully close the mailbox. false otherwise. + + + + Set scheduled status, keeping primary status as-is. + + Returns true if the set operation succeeded. false otherwise. + + + + Reset Scheduled status, keeping primary status as-is + + Returns true if the set operation succeeded. false otherwise. + + + + Processes the contents of the mailbox + + + + + Will at least try to process all queued system messages: in case of + failure simply drop and go on to the next, because there is nothing to + restart here (failure is in somewhere …). In case the mailbox + becomes closed (because of processing a message), dump all + already dequeued message to deadLetters. + + + + + Overrideable callback to clean up the mailbox, called + when an actor is unregistered. + + By default it dequeues all system messages + messages and ships them to the owning actor's systems' . + + + + + Enqueues a new into the for a given actor. + + The actor who will receive the system message. + The system message. + + + + Drains from this mailbox. + + The replacement queue for the system messages inside this mailbox. + + + + Returns true if there are instances inside this mailbox. + false otherwise. + + + + + Prints a message tosStandard out if the Compile symbol "MAILBOXDEBUG" has been set. + If the symbol is not set all invocations to this method will be removed by the compiler. + + TBD + TBD + + + + A factory to create s for an optionally provided . + + + Possibily important notice. + + When implementing a custom MailboxType, be aware that there is special semantics attached to + in that sending the returned may, for a short + period of time, enqueue the messages first in a dummy queue. Top-level actors are created in two steps, and only + after the guardian actor ahs performed that second step will all previously sent messages be transferred from the + dummy queue to the real mailbox. + + Implemented as an abstract class in order to enforce constructor requirements. + + + + + The settings for the given . + + + + + The configuration for this mailbox. + + + + + Constructor used for creating a + + The for this system. + The for this mailbox. + + + + Creates a new from the specified parameters. + + Optional. + Optional. + The resulting + + + + Compilment to + + The type of produced by this class. + + + + UnboundedMailbox is the default used by Akka.NET Actors + + + + + + + + Default constructor for an unbounded mailbox. + + + + + + + + The default bounded mailbox implementation + + + + + The capacity of this mailbox. + + + + + The push timeout value. Will throw a timeout error after this period of time + + + + + + This exception is thrown if the 'mailbox-capacity' in + or the 'mailbox-push-timeout-time' in is negative. + + + + + + + + Priority mailbox base class; unbounded mailbox that allows for prioritization of its contents. + Extend this class and implement the method with your own prioritization. + The value returned by the method will be used to order the message in the mailbox. + Lower values will be delivered first. Messages ordered by the same number will remain in delivery order. + + + + + Function responsible for generating the priority value of a message based on its type and content. + + The message to inspect. + An integer. The lower the value, the higher the priority. + + + + The initial capacity of the unbounded mailbox. + + + + + The default capacity of an unbounded priority mailbox. + + + + + + + + + + + UnboundedDequeBasedMailbox is an unbounded backed by a double-ended queue. Used for stashing. + + + + + + + + + + + BoundedDequeBasedMailbox is an bounded backed by a double-ended queue. Used for stashing. + + + + + The capacity of this mailbox. + + + + + The push timeout. Fires a if it takes longer than this to add a message to + a full bounded mailbox. + + + + + + This exception is thrown if the 'mailbox-capacity' in + or the 'mailbox-push-timeout-time' in is negative. + + + + + + + + Contains the directory of all s registered and configured with a given . + + + + + The system + + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + The system. + + + + TBD + + + + + Check if this actor class can have a required message queue type. + + The type to check. + true if this actor has a message queue type requirement. false otherwise. + + + + Check if this implements the interface. + + The type of the to check. + true if this mailboxtype produces queues. false otherwise. + + + + Returns a as specified in configuration, based on the type, or if not defined null. + + The mailbox we need given the queue requirements. + This exception is thrown if a mapping is not configured for the given . + A as specified in configuration, based on the type, or if not defined null. + + + + Returns a as specified in configuration, based on the id, or if not defined null. + + The ID of the mailbox to lookup + + This exception is thrown if the mailbox type is not configured or the system could not load or find the type specified. + + + This exception is thrown if the mailbox type could not be instantiated. + + The specified in configuration or if not defined null. + + + + INTERNAL API + + The id of the mailbox whose config we're going to generate. + A object for the mailbox with + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the 'mailbox-requirement' in the given isn't met. + + TBD + + + + Creates a mailbox from a configuration path. + + The path. + Mailbox. + + + + Base class for blocking message queues. Allows non thread safe data structures to be used as message queues. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + An Bounded mailbox message queue. + + + + Creates a new bounded message queue. + + The configuration for this mailbox. + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if the given is negative. + + + + + + + + + + + + + + + + + + + + The push timeout for this bounded queue. + + + + + Message queue for supporting within instances. + + Uses a internally - each individual + + + + + The underlying . + + + + + Takes another as an argument - wraps + in order to provide it with prepend () semantics. + + The underlying message queue wrapped by this one. + + + + Returns true if there are any messages inside the queue. + + + + + Returns the number of messages in both the internal message queue + and the prepend buffer. + + + + + + + + Attempt to dequeue a message from the front of the prepend buffer. + + If the prepend buffer is empty, dequeue a message from the normal + wrapped but this wrapper. + + The message to return, if any + true if a message was available, false otherwise. + + + + + + + Add a message to the front of the queue via the prepend buffer. + + The message we wish to append to the front of the queue. + + + + Interface to be implemented by all mailbox message queues + + + + + Tests if the message queue contains any messages + + + + + Returns the count of messages currently in the message queue + + + + + Enqueues an mailbox envelope onto the message queue + + + The receiver of the messages. + + This field is only used in a couple of places, but it should not be removed. + + The envelope to enqueue + + + + Tries to pull an envelope of the message queue + + The envelope that was dequeued + TBD + + + + Called when the this queue belongs to is disposed of. Normally + it is expected to transfer all remaining messages into the deadletter queue which is passed in. The owner + of this is passed in if available (e.g. for creating s), + "/deadletters" otherwise. + + The owner of this message queue if available, "/deadletters" otherwise. + The dead letters message queue. + + + + An unbounded double-ended queue. Used in combination with . + + + + + TBD + + + + + A bounded double-ended queue. Used in combination with . + + + + + TBD + + TBD + TBD + + + + Gets the underlying + + + This method is never called, but had to be implemented to support the interface. + + + + An unbounded mailbox message queue. + + + + + + + + + + + + + + + + + + + Base class for a message queue that uses a priority generator for messages + + + + + DEPRECATED. Use UnboundedPriorityMessageQueue(Func{object, int} priorityGenerator, int initialCapacity) instead. + + The initial capacity of the priority queue. + + + + Creates a new unbounded priority message queue. + + The calculator function for determining the priority of inbound messages. + The initial capacity of the queue. + + + + Unsafe method for computing the underlying message count. + + + Called from within a synchronization mechanism. + + + + + Unsafe method for enquing a new message to the queue. + + The message to enqueue. + + Called from within a synchronization mechanism. + + + + + Unsafe method for attempting to dequeue a message. + + The message that might be dequed. + true if a message was available to be dequeued, false otherwise. + + Called from within a synchronization mechanism. + + + + + Used to create instances of the . + + Each actor created using the pinned dispatcher gets its own unique thread. + + Always returns a new instance. + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Dedicates a unique thread for each actor passed in as reference. Served through its . + + The preferred way of creating dispatcher is to define them in configuration and then use the + method. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the registering is not the owner. + + + + + TBD + + TBD + + + + INTERNAL API + + Value class supporting list operations on instances. The + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + INTERNAL API + + Value type supporting list operations on system messages. The `next` field of + is hidden, and can only accessed through the value classes and + , abstracting over the fact that system messages are the + list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead. + + This list is mutable. + + The type of the list also encodes that the messages contained are in reverse order, i.e. the head of the list is the + latest appended element. + + + + + The front of the list. + + + + + TBD + + TBD + + + + Indicates if the list is empty or not. This operation has constant cost. + + + + + Indicates if the list has at least one element. This operation has a constant cost. + + + + + Indicates the number of elements contained within this list. O(N) operation time. + + + + + Gives back the list containing all the elements except the first. This operation has constant cost. + + ***Warning:*** as the underlying list nodes (the instances) are mutable, care + should be taken when passing the tail to other methods. should be + called on the head if one wants to detach the tail permanently. + + + + + Reverses the list. This operation mutates the underlying list. The cost of the call is O(N), where N is the number of elements. + + The type of the returned list ios the opposite order: . + + + + + Attaches a message to the current head of the list. This operation has constant cost. + + The list being modified. + The new item to add to the head of the list. + A new with appended to the front. + + + + INTERNAL API + + Value type supporting list operations on system messages. The `next` field of + is hidden, and can only accessed through the value classes and + , abstracting over the fact that system messages are the + list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead. + + This list is mutable. + + The type of the list also encodes that the messages contained are in reverse order, i.e. the head of the list is the + latest appended element. + + + + + The front of the list. + + + + + TBD + + TBD + + + + Indicates if the list is empty or not. This operation has constant cost. + + + + + Indicates if the list has at least one element. This operation has a constant cost. + + + + + Indicates the number of elements contained within this list. O(N) operation time. + + + + + Gives back the list containing all the elements except the first. This operation has constant cost. + + ***Warning:*** as the underlying list nodes (the instances) are mutable, care + should be taken when passing the tail to other methods. should be + called on the head if one wants to detach the tail permanently. + + + + + Reverses the list. This operation mutates the underlying list. The cost of the call is O(N), where N is the number of elements. + + The type of the returned list ios the opposite order: . + + + + + Attaches a message to the current head of the list. This operation has constant cost. + + The list being modified. + The new item to add to the head of the list. + A new with appended to the front. + + + + Prepends a list in a reversed order to the head of this list. The prepended list will be reversed during the process. + + The original list. + The list to be reversed and prepended. + A new list with reversed and prepended to the front of . + + Example: (3, 4, 5) reversePrepend (2, 1, 0) == (0, 1, 2, 3, 4, 5) + + + The cost of this operation is O(N) in the size of the list that is to be prepended. + + + + + INTERNAL API + + Signals to Akka.NET actors that we need to wait until children + have completed some operation (usually, shutting down) before we + can process this stashed . + + + + + INTERNAL API + + Stash this when the actor is in a failed state. + + + + + Class ISystemMessage. + + + + + INTERNAL API + + is an interface and too basic to express + all of the capabilities needed to express a full-fledged system message. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Switched into the mailbox to signal termination + + + + + TBD + + TBD + + + + Class DeathWatchNotification. + + + + + Initializes a new instance of the class. + + The actor. + if set to true [existence confirmed]. + if set to true [address terminated]. + + + + Gets the actor. + + The actor. + + + + Gets a value indicating whether [existence confirmed]. + + true if [existence confirmed]; otherwise, false. + + + + Gets a value indicating whether [address terminated]. + + true if [address terminated]; otherwise, false. + + + + TBD + + TBD + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + The child. + The cause. + The uid + + + + Gets the child. + + The child. + + + + Gets the cause. + + The cause. + + + + TBD + + + + + TBD + + TBD + + + + Class Supervise. + + + + + Initializes a new instance of the class. + + The child. + if set to true [asynchronous]. + + + + Gets a value indicating whether this is asynchronous. + + true if asynchronous; otherwise, false. + + + + Gets the child. + + The child. + + + + TBD + + TBD + + + + Creates a deathwatch subscription between and . + + will be notified via a message when + is stopped. In the case of a remote actor references, a may also be produced in + the event that the association between the two remote actor systems fails. + + + + + Initializes a new instance of the class. + + The watchee. + The watcher. + + + + Gets the watchee. + + The watchee. + + + + Gets the watcher. + + The watcher. + + + + TBD + + TBD + + + + Unsubscribes from any death watch notifications for . + + + + + Initializes a new instance of the class. + + The watchee. + The watcher. + + + + Gets the watchee. + + The watchee. + + + + Gets the watcher. + + The watcher. + + + + TBD + + TBD + + + + Class ActorTask. + + + + + Initializes a new instance of the class. + + The task. + + + + Gets the task. + + The task. + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + + + + Initializes a new instance of the class. + + The exception. + The message causing the exception + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + The cause. + + + + Gets the cause. + + The cause. + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + The caused by failure. + + + + Gets or sets the caused by failure. + + The caused by failure. + + + + TBD + + TBD + + + + Sent to self from + + + + + TBD + + TBD + + + + Class Stop. + + + + + TBD + + TBD + + + + INTERNAL + + + + + Initializes a new instance of the class. + + The child. + + + + Gets the child. + + The child. + + + + TBD + + TBD + + + + Class Escalate. + + + + + Initializes a new instance of the class. + + The reason. + + + + Gets the reason. + + The reason. + + + + TBD + + TBD + + + + Class Terminate. + + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Class Terminate. + + + + + TBD + + + + + TBD + + TBD + + + + helper class for configuring + instances who depend on the Helios . + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Default settings for instances. + + + + + Used inside Akka.Remote for constructing the low-level Helios threadpool, but inside + vanilla Akka it's also used for constructing custom fixed-size-threadpool dispatchers. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Used with instances to signal completion, + but there is no actual value completed. + + + + + The singleton instance of + + + + + This class represents an where the subscriber type is an . + + The type of event published to the bus. + The type of classifier used to classify events. + + + + This class represents an provider used to create the extension. + + + + + Creates the extension using a given actor system. + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + This class represents an extension used by remote and cluster death watchers + to publish notifications when a remote system is deemed dead. + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Retrieves the extension from the specified actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Registers the specified actor to receive notifications. + + The actor that is registering for notifications. + + + + Unregisters the specified actor from receiving notifications. + + The actor that is unregistering for notifications. + + + + Sends alls registered subscribers an notification. + + The message that is sent to all subscribers. + + + + A logging adapter implementation publishing log events to the event stream. + + + + + Initializes a new instance of the class. + + The logging bus instance that messages will be published to. + The log source. + The log class. + The log message formatter. + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Publishes the error message onto the LoggingBus. + + The error message. + + + + Publishes the error message and exception onto the LoggingBus. + + The exception that caused this error. + The error message. + + + + Publishes the warning message onto the LoggingBus. + + The warning message. + + + + Publishes the info message onto the LoggingBus. + + The info message. + + + + Publishes the debug message onto the LoggingBus. + + The debug message. + + + + Use with caution: Messages extending this trait will not be logged by the default dead-letters listener. + Instead they will be wrapped as and may be subscribed for explicitly. + + + + + Represents a message that could not be delivered to it's recipient. + This message wraps the original message, the sender and the intended recipient of the message. + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + + + The original message that could not be delivered. + + + + + The actor that was to receive the message. + + + + + The actor that sent the message. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + When a message is sent to an Actor that is terminated before receiving the message, it will be sent as a DeadLetter + to the ActorSystem's EventStream + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + This exception is thrown when either the sender or the recipient is undefined. + + + + + Similar to with the slight twist of NOT being logged by the default dead letters listener. + Messages which end up being suppressed dead letters are internal messages for which ending up as dead-letter is both expected and harmless. + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + This exception is thrown when either the sender or the recipient is undefined. + + + + + This class represents an actor responsible for listening to messages and logging them using the . + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + This class represents a Debug log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + Default logger implementation that outputs logs to the Console. + + + + + TBD + + TBD + TBD + + + + Print the specified log event. + + The log event that is to be output. + + + + This class represents an implementation that uses to format log messages. + + + + + Formats a specified composite string using an optional list of item substitutions. + + The string that is being formatted. + An optional list of items used to format the string. + The given string that has been correctly formatted. + + + + This class represents a Error log event. + + + + + Initializes a new instance of the class. + + The exception that caused the log event. + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + The exception that caused the log event. + + + + + Retrieves the used to classify this event. + + The used to classify this event. + + + + Returns a that represents this instance. + + A that represents this instance. + + + + This class provides base publish/subscribe functionality for working with events inside the system. + + The type of event published to the bus. + The type of classifier used to classify events. + The type of the subscriber that listens for events. + + + + Retrieves the simplified type name (the class name without the namespace) of a given object. + + The object that is being queried. + The simplified type name of the given object. + + + + Retrieves the simplified type name (the class name without the namespace) of a given type. + + The object that is being queried. + The simplified type name of the given type. + + + + Adds the specified subscriber to the list of subscribers that listen for particular events on the bus. + + The subscriber that is being added. + The classifier of the event that the subscriber wants. + true if the subscription succeeds; otherwise false. + + + + Removes the specified subscriber from the list of subscribers that listen for particular events on the bus. + + The subscriber that is being removed. + true if the subscription cancellation succeeds; otherwise false. + + + + Removes the specified subscriber from the list of subscribers that listen for particular events on the bus. + + The subscriber that is being removed. + The classifier of the event that the subscriber wants. + true if the subscription cancellation succeeds; otherwise false. + + + + Determines whether a specified classifier, , is a subclass of another classifier, . + + The potential parent of the classifier that is being checked. + The classifier that is being checked. + true if the classifier is a subclass of ; otherwise false. + + + + Publishes the specified event directly to the specified subscriber. + + The event that is being published. + The subscriber that receives the event. + + + + Classifies the specified event using the specified classifier. + + The event that is being classified. + The classifier used to classify the event. + true if the classification succeeds; otherwise false. + + + + Retrieves the classifier used to classify the specified event. + + The event for which to retrieve the classifier. + The classifier used to classify the event. + + + + Publishes the specified event to the bus. + + The event that is being published. + + + + INTERNAL API + + Watches all actors which subscribe on the given eventStream, and unsubscribes them from it when they are Terminated. + + Assumptions note: + We do not guarantee happens-before in the EventStream when 2 threads subscribe(a) / unsubscribe(a) on the same actor, + thus the messages sent to this actor may appear to be reordered - this is fine, because the worst-case is starting to + needlessly watch the actor which will not cause trouble for the stream. This is a trade-off between slowing down + subscribe calls * because of the need of linearizing the history message sequence and the possibility of sometimes + watching a few actors too much - we opt for the 2nd choice here. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + Provides factory for Akka.Event.EventStreamUnsubscriber actors with unique names. + This is needed if someone spins up more EventStreams using the same ActorSystem, + each stream gets it's own unsubscriber. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + The EventStream is a pub-sub stream of events that can be both system and user generated. + + The subscribers are IActorRef instances and events can be any object. Subscriptions are hierarchical meaning that if you listen to + an event for a particular type you will receive events for that type and any sub types. + + If the debug flag is activated any operations on the event stream will be published as debug level events. + + + + + Initializes a new instance of the class. + + if set to true [debug]. + + + + Subscribes the specified subscriber. + + The subscriber. + The channel. + + This exception is thrown if the given is undefined. + + true if subscription was successful, false otherwise. + + + + Unsubscribes the specified subscriber. + + The subscriber. + The channel. + + This exception is thrown if the given is undefined. + + true if unsubscription was successful, false otherwise. + + + + Unsubscribes the specified subscriber. + + The subscriber. + + This exception is thrown if the given is undefined. + + true if unsubscription was successful, false otherwise. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + Extension methods for the EventStream class. + + + + + Subscribes the specified subscriber. + + The channel. + The event stream. + The subscriber. + true if subscription was successful, false otherwise. + subscriber + + + + Unsubscribes the specified subscriber. + + The channel. + The event stream. + The subscriber. + true if unsubscription was successful, false otherwise. + subscriber + + + + Semantics needed for loggers + + + + + This interface describes the methods used to log events within the system. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Determines whether a specific log level is enabled. + + The log level that is being checked. + true if the specified level is enabled; otherwise false. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This class represents an implementation used when messages are to be dropped instead of logged. + + + + + Retrieves a singleton instance of the class. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Determines whether a specific log level is enabled. + + The log level that is being checked. + + true if the specified level is enabled; otherwise false. + + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Obsolete. Use instead! + + N/A + N/A + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This interface describes the methods used to format log messages. + + + + + Formats a specified composite string using an optional list of item substitutions. + + The string that is being formatted. + An optional list of items used to format the string. + The given string that has been correctly formatted. + + + + This class represents an Info log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + This class represents a message used to initialize a logger. + + + + + Initializes a new instance of the message. + + The bus used by the logger to log events. + + + + The bus used by the logger to log events. + + + + + This class represents a logging event in the system. + + + + + Initializes a new instance of the class. + + + + + The timestamp that this event occurred. + + + + + The thread where this event occurred. + + + + + The source that generated this event. + + + + + The type that generated this event. + + + + + The message associated with this event. + + + + + Retrieves the used to classify this event. + + The used to classify this event. + + + + Returns a that represents this LogEvent. + + A that represents this LogEvent. + + + + This class represents a message used to notify subscribers that a logger has been initialized. + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given or is undefined. + + TBD + + + + Mailbox type used by loggers + + + + + TBD + + TBD + TBD + + + + This class represents a marker which is inserted as originator class into + when the string representation was supplied directly. + + + + + This class provides the functionality for creating logger instances and helpers for converting to/from values. + + + + + Returns a singleton instance of the standard out logger. + + + + + Retrieves the log event class associated with the specified log level. + + The log level used to lookup the associated class. + The exception is thrown if the given is unknown. + The log event class associated with the specified log level. + + + + Retrieves the log event class name associated with the specified log level. + + The log level used to lookup the associated class. + The exception is thrown if the given is unknown. + The log event class name associated with the specified log level. + + + + Creates a new logging adapter using the specified context's event stream. + + The context used to configure the logging adapter. + The formatter used to format log messages. + The newly created logging adapter. + + + + Creates a new logging adapter using the specified system's event stream. + + The system used to configure the logging adapter. + The source that produces the log events. + The formatter used to format log messages. + The newly created logging adapter. + + + + Creates a new logging adapter that writes to the specified logging bus. + + The bus on which this logger writes. + The source that produces the log events. + The formatter used to format log messages. + The newly created logging adapter. + + + + Retrieves the log level from the specified string. + + The string representation of the log level to lookup. + The exception is thrown if the given is unknown. + The log level that matches the specified string. + + + + Retrieves the log level associated with the specified log event. + + The type of the log event. + The exception is thrown if the given is unknown. + The log level associated with the specified type. + + + + This class represents the base logging adapter implementation used to log events within the system. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The exception that caused the log event. + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Creates an instance of the LoggingAdapterBase. + + The log message formatter used by this logging adapter. + This exception is thrown when the given is undefined. + + + + Checks the logging adapter to see if the supplied is enabled. + + The log level to check if it is enabled in this logging adapter. + This exception is thrown when the given is unknown. + true if the supplied log level is enabled; otherwise false + + + + Notifies all subscribers that a log event occurred for a particular level. + + The log level associated with the log event. + The message related to the log event. + This exception is thrown when the given is unknown. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Obsolete. Use instead! + + N/A + N/A + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This class represents an event bus which subscribes loggers to system LogEvents. + + + + + The minimum log level that this bus will subscribe to, any LogEvents with a log level below will not be subscribed to. + + + + + Determines whether a specified classifier, , is a subclass of another classifier, . + + The potential parent of the classifier that is being checked. + The classifier that is being checked. + true if the classifier is a subclass of ; otherwise false. + + + + Publishes the specified event directly to the specified subscriber. + + The event that is being published. + The subscriber that receives the event. + + + + Classifies the specified event using the specified classifier. + + The event that is being classified. + The classifier used to classify the event. + true if the classification succeeds; otherwise false. + + + + Retrieves the classifier used to classify the specified event. + + The event for which to retrieve the classifier. + The classifier used to classify the event. + + + + Starts the loggers defined in the system configuration. + + The system that the loggers need to start monitoring. + + This exception is thrown if the logger specified in the configuration could not be found or loaded. + + + This exception is thrown if the logger doesn't respond with a message when initialized. + + + + + Stops the loggers defined in the system configuration. + + The system that the loggers need to stop monitoring. + + + + Starts the logger. + + The configuration used to configure the . + + + + Sets the minimum log level for this bus, any LogEvents below this level are ignored. + + The new log level in which to listen. + + + + Enumeration representing the various log levels in the system. + + + + + The debug log level. + + + + + The information log level. + + + + + The warning log level. + + + + + The error log level. + + + + + Represents a log message which is composed of a format string and format args. + + + + + Gets the format string of this log message. + + + + + Gets the format args of this log message. + + + + + Initializes an instance of the LogMessage with the specified formatter, format and args. + + The formatter for the LogMessage. + The string format of the LogMessage. + The format args of the LogMessage. + + + + TBD + + TBD + + + + This class represents an event logger that logs its messages to standard output (e.g. the console). + + + This logger is always attached first in order to be able to log failures during application start-up, + even before normal logging is started. + + + + + + Initializes the class. + + + + + N/A + + This exception is automatically thrown since does not support this property. + + + + The path where this logger currently resides. + + + + + Handles incoming log events by printing them to the console. + + The message to print + The actor that sent the message. + + This exception is thrown if the given is undefined. + + + + + The foreground color to use when printing Debug events to the console. + + + + + The foreground color to use when printing Info events to the console. + + + + + The foreground color to use when printing Warning events to the console. + + + + + The foreground color to use when printing Error events to the console. + + + + + Determines whether colors are used when printing events to the console. + + + + + Prints a specified event to the console. + + The event to print + + + + Represents a Subscription to the EventBus. + + The type of the subscriber. + The type of the classifier. + + + + Initializes a new instance of the class. + + The subscriber. + The unsubscriptions. + + + + Initializes a new instance of the class. + + The subscriber. + + + + Gets the subscriber attached to this subscription. + + The subscriber. + + + + Gets the unsubscriptions of this particular subscription. + + The unsubscriptions. + + + + This class represents an event logger that logs its messages using a configured trace listener. + + + To use activate this logger, modify the loggers section in your Akka.NET configuration like so, + + + akka { + ... + loggers = [""Akka.Event.TraceLogger, Akka""] + ... + } + + + Further configuration may be required in your main configuration (e.g. app.config or web.config) + to properly set up the trace. See here + for more information regarding .NET tracing. + + + + + + TBD + + TBD + + + + This class represents a message that was not handled by the recipient. + + + + + Initializes a new instance of the class. + + The original message that could not be handled. + The actor that sent the message. + The actor that was to receive the message. + + + + The original message that could not be handled. + + + + + The actor that sent the message. + + + + + The actor that was to receive the message. + + + + + This class represents a Warning log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + INTERNAL API + + A buffer pool which keeps a free list of direct buffers of a specified default + size in a simple fixed size stack. + + If the stack is full the buffer is de-referenced and available to be + freed by normal garbage collection. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The Connect message is sent to the TCP manager actor, which is obtained via + . Either the manager replies with a + or the actor handling the new connection replies with a + message. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The Bind message is send to the TCP manager actor, which is obtained via + in order to bind to a listening socket. The manager + replies either with a or the actor handling the listen + socket replies with a message. If the local port is set to 0 in + the Bind message, then the message should be inspected to find + the actual port which was bound to. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + This message must be sent to a TCP connection actor after receiving the + message. The connection will not read any data from the + socket until this message is received, because this message defines the + actor which will receive all inbound data. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + In order to close down a listening socket, send this message to that socket’s + actor (that is the actor which previously had sent the message). The + listener socket actor will reply with a message. + + + + + TBD + + + + + Common interface for all commands which aim to close down an open connection. + + + + + TBD + + + + + A normal close operation will first flush pending writes and then close the + socket. The sender of this command and the registered handler for incoming + data will both be notified once the socket is closed using a + message. + + + + + TBD + + + + + TBD + + + + + A confirmed close operation will flush pending writes and half-close the + connection, waiting for the peer to close the other half. The sender of this + command and the registered handler for incoming data will both be notified + once the socket is closed using a message. + + + + + TBD + + + + + TBD + + + + + An abort operation will not flush pending writes and will issue a TCP ABORT + command to the O/S kernel which should result in a TCP_RST packet being sent + to the peer. The sender of this command and the registered handler for + incoming data will both be notified once the socket is closed using a + message. + + + + + TBD + + + + + TBD + + + + + Each can optionally request a positive acknowledgment to be sent + to the commanding actor. If such notification is not desired the + must be set to an instance of this class. The token contained within can be used + to recognize which write failed when receiving a message. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + Write data to the TCP connection. If no ack is needed use the special + `NoAck` object. The connection actor will reply with a + message if the write could not be enqueued. If + returns true, the connection actor will reply with the supplied + token once the write has been successfully enqueued to the O/S kernel. + Note that this does not in any way guarantee that the data will be + or have been sent! Unfortunately there is no way to determine whether + a particular write has been sent by the O/S. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TbD + TBD + + + + TBD + + + + + Write `count` bytes starting at `position` from file at `filePath` to the connection. + The count must be > 0. The connection actor will reply with a + message if the write could not be enqueued. If + returns true, the connection actor will reply with the supplied + token once the write has been successfully enqueued to the O/S kernel. + Note that this does not in any way guarantee that the data will be + or have been sent! Unfortunately there is no way to determine whether + a particular write has been sent by the O/S. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + A write command which aggregates two other write commands. Using this construct + you can chain a number of and/or commands together in a way + that allows them to be handled as a single write which gets written out to the + network as quickly as possible. + If the sub commands contain `ack` requests they will be honored as soon as the + respective write has been written completely. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + When `useResumeWriting` is in effect as was indicated in the message + then this command needs to be sent to the connection actor in order to re-enable + writing after a event. All processed by the + connection actor between the first and subsequent reception of + this message will also be rejected with . + + + + + TBD + + + + + Sending this command to the connection actor will disable reading from the TCP + socket. TCP flow-control will then propagate backpressure to the sender side + as buffers fill up on either end. To re-enable reading send . + + + + + TBD + + + + + This command needs to be sent to the connection actor after a + command in order to resume reading from the socket. + + + + + TBD + + + + + This message enables the accepting of the next connection if read throttling is enabled + for connection actors. + + + + + TBD + + + + + TBD + + TBD + + + + Common interface for all events generated by the TCP layer actors. + + + + + Whenever data are read from a socket they will be transferred within this + class to the handler actor which was designated in the message. + + + + + TBD + + TBD + + + + TBD + + + + + The connection actor sends this message either to the sender of a + command (for outbound) or to the handler for incoming connections designated + in the message. The connection is characterized by the `remoteAddress` + and `localAddress` TCP endpoints. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Whenever a command cannot be completed, the queried actor will reply with + this message, wrapping the original command which failed. + + + + + TBD + + TBD + + + + TBD + + + + + When `useResumeWriting` is in effect as indicated in the message, + the command will be acknowledged by this message type, upon + which it is safe to send at least one write. This means that all writes preceding + the first message have been enqueued to the O/S kernel at this + point. + + + + + TBD + + + + + The sender of a command will—in case of success—receive confirmation + in this form. If the bind address indicated a 0 port number, then the contained + `localAddress` can be used to find out which port was automatically assigned. + + + + + TBD + + + + + TBD + + TBD + + + + The sender of an command will receive confirmation through this + message once the listening socket has been closed. + + + + + TBD + + + + + This is the common interface for all events which indicate that a connection + has been closed or half-closed. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The connection has been closed normally in response to a command. + + + + + TBD + + + + + The connection has been aborted in response to an command. + + + + + TBD + + + + + TBD + + + + + The connection has been half-closed by us and then half-close by the peer + in response to a command. + + + + + TBD + + + + + TBD + + + + + The peer has closed its writing half of the connection. + + + + + TBD + + + + + TBD + + + + + The connection has been closed due to an IO error. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TDB + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + Base class for TcpIncomingConnection and TcpOutgoingConnection. + + INTERNAL API + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + connection established, waiting for registration from user handler + + + normal connected state + + + the peer sent EOF first, but we may still want to send + + + connection is closing but a write has to be finished first + + + connection is closed on our side and we're waiting from confirmation from the other side + + + used in subclasses to start the common machinery above once a channel is connected + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + Used to transport information to the postStop method to notify + interested party about a connection close. + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + Groups required connection-related data that are only available once the connection has been fully established. + + + An actor handling the connection state machine for an incoming, already connected + SocketChannel. + + INTERNAL API + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + TODO: CLRify comment + + INTERNAL API + + TcpManager is a facade for accepting commands () to open client or server TCP connections. + + TcpManager is obtainable by calling {{{ IO(Tcp) }}} (see [[akka.io.IO]] and [[akka.io.Tcp]]) + + == Bind == + + To bind and listen to a local address, a command must be sent to this actor. If the binding + was successful, the sender of the will be notified with a + message. The sender() of the message is the Listener actor (an internal actor responsible for + listening to server events). To unbind the port an message must be sent to the Listener actor. + + If the bind request is rejected because the Tcp system is not able to register more channels (see the nr-of-selectors + and max-channels configuration options in the akka.io.tcp section of the configuration) the sender will be notified + with a message. This message contains the original command for reference. + + When an inbound TCP connection is established, the handler will be notified by a message. + The sender of this message is the Connection actor (an internal actor representing the TCP connection). At this point + the procedure is the same as for outbound connections (see section below). + + == Connect == + + To initiate a connection to a remote server, a message must be sent to this actor. If the + connection succeeds, the sender() will be notified with a message. The sender of the + message is the Connection actor (an internal actor representing the TCP connection). Before + starting to use the connection, a handler must be registered to the Connection actor by sending a + command message. After a handler has been registered, all incoming data will be sent to the handler in the form of + messages. To write data to the connection, a message must be sent + to the Connection actor. + + If the connect request is rejected because the Tcp system is not able to register more channels (see the nr-of-selectors + and max-channels configuration options in the akka.io.tcp section of the configuration) the sender will be notified + with a message. This message contains the original command for reference. + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + UDP Extension for Akka’s IO layer. + + This extension implements the connectionless UDP protocol without + calling `connect` on the underlying sockets, i.e. without restricting + from whom data can be received. For "connected" UDP mode see . + + For a full description of the design and philosophy behind this IO + implementation please refer to the Akka online documentation. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + The common interface for and . + + + The common type of all commands supported by the UDP implementation. + + + + TBD + + + + + Each can optionally request a positive acknowledgment to be sent + to the commanding actor. If such notification is not desired the + must be set to an instance of this class. The token contained within can be used + to recognize which write failed when receiving a message. + + + + + Default instance which is used when no acknowledgment information is + explicitly provided. Its "token" is . + + + + + TBD + + TBD + + + + TBD + + + + + This message is understood by the "simple sender" which can be obtained by + sending the query to the as well as by + the listener actors which are created in response to . It will send + the given payload data as one UDP datagram to the given target address. The + UDP actor will respond with if the send could not be + enqueued to the O/S kernel because the send buffer was full. If the given + `ack` is not of type the UDP actor will reply with the given + object as soon as the datagram has been successfully enqueued to the O/S + kernel. + + The sending UDP socket’s address belongs to the "simple sender" which does + not handle inbound datagrams and sends from an ephemeral port; therefore + sending using this mechanism is not suitable if replies are expected, use + in that case. + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + Send this message to the in order to bind to the given + local port (or an automatically assigned one if the port number is zero). + The listener actor for the newly bound port will reply with a + message, or the manager will reply with a message. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Send this message to the listener actor that previously sent a + message in order to close the listening socket. The recipient will reply + with an message. + + + + + TBD + + + + + Retrieve a reference to a "simple sender" actor of the UDP extension. + The newly created "simple sender" will reply with the notification. + + The "simple sender" is a convenient service for being able to send datagrams + when the originating address is meaningless, i.e. when no reply is expected. + + The "simple sender" will not stop itself, you will have to send it a + when you want to close the socket. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + Send this message to a listener actor (which sent a message) to + have it stop reading datagrams from the network. If the O/S kernel’s receive + buffer runs full then subsequent datagrams will be silently discarded. + Re-enable reading from the socket using the `ResumeReading` command. + + + + + TBD + + + + + This message must be sent to the listener actor to re-enable reading from + the socket after a `SuspendReading` command. + + + + + TBD + + + + The common type of all events emitted by the UDP implementation. + + + + When a listener actor receives a datagram from its socket it will send + it to the handler designated in the message using this message type. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + When a command fails it will be replied to with this message type, + wrapping the failing command object. + + + + + TBD + + TBD + + + + TBD + + + + + This message is sent by the listener actor in response to a command. + If the address to bind to specified a port number of zero, then this message + can be inspected to find out which port was automatically assigned. + + + + + TBD + + TBD + + + + TBD + + + + The "simple sender" sends this message type in response to a query. + + + + TBD + + + + + This message is sent by the listener actor in response to an `Unbind` command + after the socket has been closed. + + + + + TBD + + + + + TBD + + + + + to set the SO_BROADCAST option + + For more information see cref="System.Net.Sockets.Socket.EnableBroadcast"/> + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + UDP Extension for Akka’s IO layer. + + This extension implements the connectionless UDP protocol with + calling `connect` on the underlying sockets, i.e. with restricting + from whom data can be received. For "unconnected" UDP mode see . + + For a full description of the design and philosophy behind this IO + implementation please refer to the Akka online documentation. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + The common interface for and . + + + + + The common type of all commands supported by the UDP implementation. + + + + + TBD + + + + + TBD + + + + + Each can optionally request a positive acknowledgment to be sent + to the commanding actor. If such notification is not desired the + must be set to an instance of this class. The token contained within can be used + to recognize which write failed when receiving a message. + + + + + Default instance which is used when no acknowledgment information is + explicitly provided. Its "token" is . + + + + + TBD + + TBD + + + + TBD + + + + + This message is understood by the connection actors to send data to their + designated destination. The connection actor will respond with + if the send could not be enqueued to the O/S kernel + because the send buffer was full. If the given `ack` is not of type + the connection actor will reply with the given object as soon as the datagram + has been successfully enqueued to the O/S kernel. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + Send this message to the in order to bind to a local + port (optionally with the chosen `localAddress`) and create a UDP socket + which is restricted to sending to and receiving from the given `remoteAddress`. + All received datagrams will be sent to the designated `handler` actor. + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Send this message to a connection actor (which had previously sent the + message) in order to close the socket. The connection actor + will reply with a message. + + + + + TBD + + + + + Send this message to a listener actor (which sent a message) to + have it stop reading datagrams from the network. If the O/S kernel’s receive + buffer runs full then subsequent datagrams will be silently discarded. + Re-enable reading from the socket using the `ResumeReading` command. + + + + + TBD + + + + + This message must be sent to the listener actor to re-enable reading from + the socket after a `SuspendReading` command. + + + + + TBD + + + + + The common type of all events emitted by the UDP implementation. + + + + + When a connection actor receives a datagram from its socket it will send + it to the handler designated in the message using this message type. + + + + + TBD + + TBD + + + + TBD + + + + + When a command fails it will be replied to with this message type, + wrapping the failing command object. + + + + + TBD + + TBD + + + + TBD + + + + + This message is sent by the connection actor to the actor which sent the + message when the UDP socket has been bound to the local and + remote addresses given. + + + + + TBD + + + + + This message is sent by the connection actor to the actor which sent the + `Disconnect` message when the UDP socket has been closed. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + TODO: CLRify comment + + INTERNAL API + + UdpManager is a facade for simple fire-and-forget style UDP operations + + UdpManager is obtainable by calling {{{ IO(Udp) }}} (see [[akka.io.IO]] and [[akka.io.Udp]]) + + *Warning!* Udp uses [[java.nio.channels.DatagramChannel#send]] to deliver datagrams, and as a consequence if a + security manager has been installed then for each datagram it will verify if the target address and port number are + permitted. If this performance overhead is undesirable use the connection style Udp extension. + + == Bind and send == + + To bind and listen to a local address, a command must be sent to this actor. If the binding + was successful, the sender of the will be notified with a + message. The sender of the message is the Listener actor (an internal actor responsible for + listening to server events). To unbind the port an message must be sent to the Listener actor. + + If the bind request is rejected because the Udp system is not able to register more channels (see the nr-of-selectors + and max-channels configuration options in the akka.io.udp section of the configuration) the sender will be notified + with a message. This message contains the original command for reference. + + The handler provided in the message will receive inbound datagrams to the bound port + wrapped in messages which contain the payload of the datagram and the sender address. + + UDP datagrams can be sent by sending messages to the Listener actor. The sender port of the + outbound datagram will be the port to which the Listener is bound. + + == Simple send == + + Udp provides a simple method of sending UDP datagrams if no reply is expected. To acquire the Sender actor + a SimpleSend message has to be sent to the manager. The sender of the command will be notified by a SimpleSenderReady + message that the service is available. UDP datagrams can be sent by sending messages to the + sender of SimpleSenderReady. All the datagrams will contain an ephemeral local port as sender and answers will be + discarded. + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + A rope-like immutable data structure containing bytes. + The goal of this structure is to reduce copying of arrays + when concatenating and slicing sequences of bytes, + and also providing a thread safe way of working with bytes. + + + + + Creates a new ByteString by copying a byte array. + + TBD + TBD + + + + Creates a new ByteString by copying length bytes starting at offset from + an Array. + + TBD + TBD + TBD + TBD + + + + Creates a new ByteString which will contain the UTF-8 representation of the given String + + TBD + TBD + + + + Creates a new ByteString which will contain the representation of the given String in the given charset + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if this cannot be concatenated with . + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + N/A + + + This exception is thrown automatically since iterators aren't supported in . + + N/A + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + This type is used in generic type signatures wherever the actual value is of no importance. + It is a combination of F#’s 'unit' and C#’s 'void', which both have different issues when + used from the other language. An example use-case is the materialized value of an Akka Stream for cases + where no result shall be returned from materialization. + + + + + The singleton instance of . + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Class PatternMatch. + + + + + Matches the specified target. + + The target. + Case. + + + + Matches the specified target and return a result of target processing. + + The target. + Case. + + + + Interface IMatchResult + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Class Case. + + + + + The _message + + + + + The _handled + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Initializes a new instance of the class. + + The message. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Defaults the specified action. + + The action. + IMatchResult. + + + + Class AlwaysHandled. + + + + + The instance + + + + + Prevents a default instance of the class from being created. + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Class Case with returning result. + + The type of return value + + + + The _message + + + + + The _handled + + + + + The final result of execution + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Initializes a new instance of the class. + + The message. + + + + Withes the specified action. + + The type of the t message. + The function. + Case. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Defaults the specified action. + + The default function. + The result of the matching + + + + Builds back-off options for creating a back-off supervisor. You can pass to . + + + + + Back-off options for creating a back-off supervisor actor that expects a child actor to restart on failure. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Back-off options for creating a back-off supervisor actor that expects a child actor to stop on failure. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Returns a new with automatic back-off reset. The back-off algorithm is reset if the child does not crash within the specified `resetBackoff`. + + The back-off is reset if the child does not crash within this duration + + + + Returns a new with manual back-off reset. The back-off is only reset if the child sends a `BackoffSupervisor.Reset` to its parent(the backoff-supervisor actor). + + + + + Returns a new with the supervisorStrategy. + + The that the back-off supervisor will use. The default supervisor strategy is used as fallback if the specified SupervisorStrategy (its decider) does not explicitly handle an exception + + + + Returns a new with a default . The default supervisor strategy is used as fallback for throwables not handled by . + + + + + Returns the props to create the back-off supervisor. + + + + + Actor used to supervise actors with ability to restart them after back-off timeout occurred. + It's designed for cases when i.e. persistent actor stops due to journal unavailability or failure. + In this case it better to wait before restart. + + + + + Send this message to the and it will reply with containing the `ActorRef` of the current child, if any. + + + + + TBD + + + + + Send this message to the and it will reply with containing the `ActorRef` of the current child, if any. + + + + + TBD + + TBD + + + + Send this message to the and it will reset the back-off. This should be used in conjunction with `withManualReset` in . + + + + + TBD + + + + + Props for creating a actor. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Props for creating a actor from . + + The that specify how to construct a backoff-supervisor. + + + + + Props for creating a actor with a custom supervision strategy. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + The supervision strategy to use for handling exceptions in the child + + + + TBD + + + + + Provides circuit breaker functionality to provide stability when working with + "dangerous" operations, e.g. calls to remote systems + + + + Transitions through three states: + + + In *Closed* state, + calls pass through until the maxFailures count is reached. + This causes the circuit breaker to open. Both exceptions and calls exceeding + callTimeout are considered failures. + + + In *Open* state, + calls fail-fast with an exception. After resetTimeout, + circuit breaker transitions to half-open state. + + + In *Half-Open* state, + the first call will be allowed through, if it succeeds + the circuit breaker will reset to closed state. If it fails, the circuit + breaker will re-open to open state. All calls beyond the first that execute + while the first is running will fail-fast with an exception. + + + + + + + The current state of the breaker -- Closed, Half-Open, or Closed -- *access only via helper methods* + + + + + Helper method for access to the underlying state via Interlocked + + Previous state on transition + Next state on transition + Whether the previous state matched correctly + + + + Helper method for access to the underlying state via Interlocked + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Create a new CircuitBreaker + + Maximum number of failures before opening the circuit + of time after which to consider a call a failure + of time after which to attempt to close the circuit + TBD + + + + Create a new CircuitBreaker + + Maximum number of failures before opening the circuit + of time after which to consider a call a failure + of time after which to attempt to close the circuit + TBD + + + + Retrieves current failure count. + + + + + Wraps invocation of asynchronous calls that need to be protected + + TBD + Call needing protected + containing the call result + + + + Wraps invocation of asynchronous calls that need to be protected + + Call needing protected + + + + + The failure will be recorded farther down. + + TBD + + + + Wraps invocations of asynchronous calls that need to be protected + If this does not complete within the time allotted, it should return default() + + + Await.result( + withCircuitBreaker(try Future.successful(body) catch { case NonFatal(t) ⇒ Future.failed(t) }), + callTimeout) + + + + TBD + TBD + or default() + + + + Adds a callback to execute when circuit breaker opens + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Adds a callback to execute when circuit breaker transitions to half-open + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Adds a callback to execute when circuit breaker state closes + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Implements consistent transition between states. Throws IllegalStateException if an invalid transition is attempted. + + State being transitioning from + State being transitioned to + + This exception is thrown if an invalid transition is attempted from to . + + + + + Trips breaker to an open state. This is valid from Closed or Half-Open states + + State we're coming from (Closed or Half-Open) + + + + Resets breaker to a closed state. This is valid from an Half-Open state only. + + + + + Attempts to reset breaker by transitioning to a half-open state. This is valid from an Open state only. + + + + + Concrete implementation of Open state + + + + + TBD + + TBD + + + + N/A + + N/A + N/A + This exception is thrown automatically since the circuit is open. + N/A + + + + N/A + + N/A + This exception is thrown automatically since the circuit is open. + N/A + + + + No-op for open, calls are never executed so cannot succeed or fail + + + + + No-op for open, calls are never executed so cannot succeed or fail + + + + + On entering this state, schedule an attempted reset and store the entry time to + calculate remaining time before attempted reset. + + + + + Concrete implementation of half-open state + + + + + TBD + + TBD + + + + Allows a single call through, during which all other callers fail-fast. If the call fails, the breaker reopens. + If the call succeeds, the breaker closes. + + TBD + Implementation of the call that needs protected + TBD + containing result of protected call + + + + Allows a single call through, during which all other callers fail-fast. If the call fails, the breaker reopens. + If the call succeeds, the breaker closes. + + Implementation of the call that needs protected + TBD + containing result of protected call + + + + Reopen breaker on failed call. + + + + + Reset breaker on successful call. + + + + + On entry, guard should be reset for that first call to get in + + + + + Override for more descriptive toString + + TBD + + + + Concrete implementation of Closed state + + + + + TBD + + TBD + + + + Implementation of invoke, which simply attempts the call + + TBD + Implementation of the call that needs protected + containing result of protected call + + + + Implementation of invoke, which simply attempts the call + + Implementation of the call that needs protected + containing result of protected call + + + + On failed call, the failure count is incremented. The count is checked against the configured maxFailures, and + the breaker is tripped if we have reached maxFailures. + + + + + On successful call, the failure count is reset to 0 + + + + + On entry of this state, failure count is reset. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Used to help make it easier to schedule timeouts in conjunction + with the built-in + + + + + Returns a that will be completed with the success or failure + of the provided value after the specified duration. + + The return type of task. + The duration to wait. + The scheduler instance to use. + The task we're going to wrap. + a that will be completed with the success or failure + of the provided value after the specified duration + + + + This exception is thrown when a method has been invoked at an illegal or inappropriate time. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The inner that was thrown. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the CircuitBreaker is open. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This class contains logic used by a to route a message to multiple routees. + + + + + Picks all the routees in to receive the . + + The message that is being routed. + A collection of routees that receives the . + A that contains all the given that receives the . + + + + This class represents a router that sends messages it receives to all of its routees. + + + + + Initializes a new instance of the class. + + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages it receives to all of its routees. + + + + + Initializes a new instance of the class. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + The configuration to use to lookup paths used by the group router. + + + + Initializes a new instance of the class. + + A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + + + + Obsolete. Use instead. + + new BroadcastGroup(actorRefs.Select(c => c.Path.ToString())) + + + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The dispatcher to use when passing messages to the routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Consistent Hashing node ring implementation. + + A good explanation of Consistent Hashing: + http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html + + Note that toString of the ring nodes are used for the node + hash, i.e. make sure it is different for different nodes. + + The type of objects to store in the hash. + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if the given is less than one. + + + + + Adds a node to the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The node to add to the hash ring + A new instance of this hash ring with the given node added. + + + + Removes a node from the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The node to remove from the hash ring + A new instance of this hash ring with the given node removed. + + + + Retrieves the node associated with the data key. + + The data key used for lookup. + + This exception is thrown if the node ring is empty. + + The node associated with the data key + + + + Retrieves the node associated with the data key. + + The data key used for lookup. + + This exception is thrown if the node ring is empty. + + The node associated with the data key + + + + Check to determine if the node ring is empty (i.e. no nodes added or all removed) + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + Adds a node to the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The hash ring used to derive a new ring with the given node added. + The node to add to the hash ring + A new instance of this hash ring with the given node added. + + + + Removes a node from the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The hash ring used to derive a new ring with the given node removed. + The node to remove from the hash ring + A new instance of this hash ring with the given node removed. + + + + Static helper class for creating instances. + + + + + Factory method to create a instance. + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Translate the offered object into a byte array, or returns the original object + if it needs to be serialized first. + + An arbitrary .NET object + The object encoded into bytes - in the case of custom classes, the hashcode may be used. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Static class for assisting with instances + + + + + Default empty implementation + + + + + This interface marks a given class as consistently hashable, for use with + or + routers. + + + + + The consistent hash key of the marked class. + + + + + This class represents a that can be wrapped around a message in order to make + it hashable for use with or routers. + + + + + Initializes a new instance of the class. + + The message that is being wrapped in the envelope. + The key used as the consistent hash key for the envelope. + + + + The key used as the consistent hash key. + + + This is the same as the + + + + + + The consistent hash key of the envelope. + + + + + Delegate for computing the hashkey from any given type of message. Extracts the property / data + that is going to be used for a given hash, but doesn't actually return the hash values themselves. + + If returning a byte[] or string it will be used as is, otherwise the configured + will be applied to the returned data. + + + + + This class contains logic used by a to route a message to a + determined using consistent-hashing. This process has the router select a routee based on a message's + consistent hash key. There are 3 ways to define the key, which can be used individually or combined + to form the key. The is tried first. + +
    +
  1. + You can define a or use + of the router to map incoming messages to their consistent hash key. + This makes the decision transparent for the sender. +
  2. +
  3. + Messages may implement . The hash key is part + of the message and it's convenient to define it together with the message + definition. +
  4. +
  5. + The message can be wrapped in a to + define what data to use for the consistent hash key. The sender knows what key + to use. +
  6. +
+
+
+ + + Initializes a new instance of the class. + + + A configured in this way uses the + as the hash + mapping function with a virtual node factor of 0 (zero). + + + The actor system that owns the router with this logic. + + + + Initializes a new instance of the class. + + The actor system that owns the router with this logic. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + + + + Picks a to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + Creates a new router logic with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + + This exception is thrown if the given is undefined. + + A new router logic with the provided . + + + + INTERNAL API + + Important to use ActorRef with full address, with host and port, in the hash ring, + so that same ring is produced on different nodes. + The ConsistentHash uses toString of the ring nodes, and the ActorRef itself + isn't a good representation, because LocalActorRef doesn't include the + host and port. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + This class represents a router that sends messages to a determined using consistent-hashing. + Please refer to for more information on consistent hashing. + + + Using with is potentially harmful, as hash ranges + might change radically during live message processing. This router works best with fixed-sized pools or fixed + number of routees per node in the event of clustered deployments. + + + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + + 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. + + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The consistent hash mapping function to use on incoming messages. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + + + + Virtual nodes used in the . + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + Using with is potentially harmful, as hash ranges + might change radically during live message processing. This router works best with fixed-sized pools or fixed + number of routees per node in the event of clustered deployments. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Setting the number of virtual nodes per node, used in . + + A new router with the provided dispatcher id. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + + This exception is thrown if the given is not a . + + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using consistent-hashing. + Please refer to for more information on consistent hashing. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. + + + + + + Initializes a new instance of the class. + + >A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + A list of actor paths used by the group router. + + + + Obsolete. Use instead. + + new ConsistentHashingGroup(actorRefs.Select(c => c.Path.ToString())) + + + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The consistent hash mapping function to use on incoming messages. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + The dispatcher to use when passing messages to the routees. + + + + Virtual nodes used in the . + + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + + This exception is thrown if the given is not a . + + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This interface is needed to implement listening capabilities on an actor. + + +
    +
  • Use the method to send a message to the listeners.
  • +
  • Send Listen(Self) to another Actor to start listening.
  • +
  • Send Deafen(Self) to another Actor to stop listening.
  • +
  • Send WithListeners(delegate) to traverse the current listeners.
  • +
+
+
+
+ + + Retrieves the support needed to interact with an actor's listeners. + + + + + This class represents a message sent by an actor to another actor that is listening to it. + + + + + The class represents a sent by an to another + instructing the second actor to start listening for messages sent by the first actor. + + + + + Initializes a new instance of the class. + + The actor that receives the message. + + + + The actor that receives the message. + + + + + The class represents a sent by an to another + instructing the second actor to stop listening for messages sent by the first actor. + + + + + Initializes a new instance of the class. + + The actor that no longer receives the message. + + + + The actor that no longer receives the message. + + + + + This class represents a instructing an + to perform a supplied for all of its listeners. + + + + + Initializes a new instance of the class. + + The action to perform for all of an actor's listeners. + + + + The action to perform for all of an actor's listeners. + + + + + This class adds capabilities to an actor. + + + must be wired manually into the actor's + method. + + + + + + The collection of registered listeners that is listening for messages from an actor. + + + + + Retrieves the wiring needed to implement listening functionality. + + + This needs to be chained into the actor's method. + + + + + + Adds the specified actor to the collection of registered listeners. + + The actor to add to the collection of registered listeners. + + + + Removes the specified actor from the collection of registered listeners. + + The actor to remove from the collection of registered listeners. + + + + Sends the supplied message to all registered listeners. + + + Messages sent this way use as the sender. + + + The message sent to all registered listeners. + + + + Sends the supplied message to all registered listeners. + + The message sent to all registered listeners. + The actor that sends the message. + + + + This class contains logic used by a to route a message to a random . + + + + + Picks a random to receive the . + + The message that is being routed. + A collection of routees to randomly choose from when receiving the . + A that receives the . + + + + This class represents a router that sends messages to a random . + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + This class represents a router that sends messages to a random . + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + + + + Initializes a new instance of the class. + + >A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of paths used by the group router. + The dispatcher to use when passing messages to the routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + INTERNAL API. + + Defines routers who can resize the number of routees + they use based on a defined + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Command used to resize a + + + + + INTERNAL API + + + + + must always use ResizeInProgressState static class to compare or assign values + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if pool's resizer is undefined. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + routers with dynamically resizable number of routees are implemented by providing a Resizer + implementation in the configuration + + + + + Is it time for resizing. Typically implemented with modulo of nth message, but + could be based on elapsed time or something else. The messageCounter starts with 0 + for the initial resize and continues with 1 for the first message. Make sure to perform + initial resize before first message (messageCounter == 0), because there is no guarantee + that resize will be done when concurrent messages are in play. + + CAUTION: this method is invoked from the thread which tries to send a + message to the pool, i.e. the ActorRef.!() method, hence it may be called + concurrently. + + TBD + TBD + + + + Decide if the capacity of the router need to be changed. Will be invoked when `isTimeForResize` + returns true and no other resize is in progress. + + Return the number of routees to add or remove. Negative value will remove that number of routees. + Positive value will add that number of routess. 0 will not change the routees. + + This method is invoked only in the context of the Router actor. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Implementation of that adjust the based on specified thresholds. + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception can be thrown for a number of reasons. These include: +
    +
  • The given bound was negative.
  • +
  • The given bound was negative.
  • +
  • The given bound was below the bound.
  • +
  • The given was negative.
  • +
  • The given was greater than one.
  • +
  • The given was negative.
  • +
  • The given was less than one.
  • +
+
+
+ + + TBD + + TBD + TBD + + + + Creates a new DefaultResizer from the given configuration + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Returns the overall desired change in resizer capacity. Positive value will + add routees to the resizer. Negative value will remove routees from the + resizer + + The current actor in the resizer + the number of routees by which the resizer should be adjusted (positive, negative or zero) + + + + Number of routees considered busy, or above 'pressure level'. + + Implementation depends on the value of `pressureThreshold` + (default is 1). +
    +
  • 0: number of routees currently processing a message.
  • +
  • 1: number of routees currently processing a message has + some messages in mailbox.
  • +
  • > 1: number of routees with at least the configured `pressureThreshold` + messages in their mailbox. Note that estimating mailbox size of + default UnboundedMailbox is O(N) operation.
  • +
+
+ An enumeration of the current routees + The number of routees considered to be above pressure level. +
+ + + This method can be used to smooth the capacity delta by considering + the current pressure and current capacity. + + pressure current number of busy routees + capacity current number of routees + proposed change in the capacity + + + + Computes a proposed positive (or zero) capacity delta using + the configured `rampupRate`. + + the current number of busy routees + the current number of total routees + proposed increase in capacity + + + + Computes a proposed negative (or zero) capacity delta using + the configured `backoffThreshold` and `backoffRate` + + pressure current number of busy routees + capacity current number of routees + proposed decrease in capacity (as a negative number) + + + + The fewest number of routees the router should ever have. + + + + + The most number of routees the router should ever have. + Must be greater than or equal to `lowerBound`. + + + + + * Threshold to evaluate if routee is considered to be busy (under pressure). + Implementation depends on this value (default is 1). +
    +
  • 0: number of routees currently processing a message.
  • +
  • 1: number of routees currently processing a message has + some messages in mailbox.
  • +
  • > 1: number of routees with at least the configured `pressureThreshold` + messages in their mailbox. Note that estimating mailbox size of + default UnboundedMailbox is O(N) operation.
  • +
+
+
+ + + Percentage to increase capacity whenever all routees are busy. + For example, 0.2 would increase 20% (rounded up), i.e. if current + capacity is 6 it will request an increase of 2 more routees. + + + + + Minimum fraction of busy routees before backing off. + For example, if this is 0.3, then we'll remove some routees only when + less than 30% of routees are busy, i.e. if current capacity is 10 and + 3 are busy then the capacity is unchanged, but if 2 or less are busy + the capacity is decreased. + + Use 0.0 or negative to avoid removal of routees. + + + + + Fraction of routees to be removed when the resizer reaches the + backoffThreshold. + For example, 0.1 would decrease 10% (rounded up), i.e. if current + capacity is 9 it will request an decrease of 1 routee. + + + + + Number of messages between resize operation. + Use 1 to resize before each message. + + + + + Determines whether the specified resizer, is equal to this instance. + + The resizer to compare. + true if the specified router is equal to this instance; otherwise, false. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + This class contains logic used by a to route a message to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router iterates + again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The index to use when starting the selection process. Note that it will start at (next + 1). + + + + Picks the next in the collection to receive the . + + The message that is being routed. + A collection of routees to choose from when receiving the . + A that is receives the . + + + + This class represents a router that sends messages to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router + iterates again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router + iterates again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + The configuration parameter trumps the constructor arguments. This means that + if you provide `paths` during instantiation they will be ignored if + the router is defined in the configuration file for the actor being used. + + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + + + + Initializes a new instance of the class. + + A list of paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + + + + Obsolete. Use instead. + + N/A + + + + Initializes a new instance of the class. + + A list of paths used by the group router. + The dispatcher to use when passing messages to routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Remove routees from . Messages in flight may still + be routed to the old instance containing the old routees. + + TBD + TBD + + + + Used to stop child routees - typically used in resizable routers + + TBD + + + + TBD + + + + + Called when is initialized but before the base class' to + be able to do extra initialization in a subclass. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + This class contains logic used by a to route messages to one or more actors. + These actors are known in the system as a . + + + + + Picks a to receive the . + + Normally it picks one of the passed routees, but it is up to the implementation + to return whatever to use for sending a specific message. + + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Create a new instance with the specified routees and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + This class provides base functionality used in the creation and configuration of the various routers in the system. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + This method defaults to setting the dispatcher to use the . + + + The dispatcher to use when passing messages to routees. + + + + A configuration that specifies that no router is to be used. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The ActorSystem this router belongs to. + The newly created router tied to the given system. + + + + Dispatcher ID to use for running the "head" actor, which handles supervision, death watch and router management messages. + + + + + Possibility to define an actor for controlling the routing + logic from external stimuli(e.g.monitoring metrics). + This actor will be a child of the router "head" actor. + Management messages not handled by the "head" actor are + delegated to this controller actor. + + + + + Determines whether a provided message is handled by the router. + + The message to inspect. + true if this message is handled by the router; otherwise false. + + + + Specify that this router should stop itself when all routees have terminated (been removed). + By Default it is `true`, unless a `resizer` is used. + + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Check that everything is there which is needed. Called in constructor of RoutedActorRef to fail early. + + TBD + + + + The router "head" actor. + + + + + Creates a surrogate representation of the current router. + + The actor system that owns this router. + The surrogate representation of the current router. + + + + + + + + + + This class provides base functionality for all group routers in the system. + Group routers are routers that use already created routees. These routees + are supplied to the router and are addressed through + paths. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Adds the current router to an empty . + + An empty configured to use the current router. + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + + + + + + + + + + This class provides base functionality for all pool routers in the system. + Pool routers are routers that create their own routees based on the provided + configuration. + + + + + Initializes a new instance of the class. + + If a is not provided, this constructor sets up + the pool to use the default dispatcher . + + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Retrieves the current number of routees in the pool. + + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Retrieve whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + Creates a new configured to use the provided + and the pool dispatcher if enabled. + + The to configure with the pool dispatcher. + The context for the provided . + + A new configured to use the provided + and the pool dispatcher if enabled. + + + + + TBD + + TBD + TBD + TBD + + + + Retrieve the resizer to use when dynamically allocating routees to the pool. + + + + + Retrieve the strategy to use when supervising the pool. + + + + + Adds the current router to the provided . + + The to configure with the current router. + The provided configured to use the current router. + + + + Specify that this router should stop itself when all routees have terminated (been removed). + + + + + TBD + + TBD + + + + TBD + + + + + + + + + + + + + + If a custom router implementation is not a nor + a it may extend this base class. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Router configuration which has no default, i.e. external configuration is required. + This can be used when the dispatcher to be used for the head Router needs to be configured + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + + + + Retrieves a based on what's stored in the configuration. + + This router is set to use the default dispatcher . + + + + + + N/A + + N/A + + This exception is automatically thrown since cannot create routers. + + N/A + + + + N/A + + + This exception is automatically thrown since cannot create router actors. + + N/A + + + + N/A + + N/A + + This exception is automatically thrown since 'akka.actor.dispatch' is missing router configuration for . + + N/A + + + + Setting the supervisor strategy to be used for the "head" Router actor + + TBD + TBD + + + + Setting the resizer to be used. + + TBD + TBD + + + + Setting the dispatcher to be used for the router head actor, which handles + supervision, death watch and router management messages. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Enriches a with what what's stored in the router configuration. + + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Routing configuration that indicates no routing; this is also the default + value which hence overrides the merge strategy in order to accept values + from lower-precedence sources. The decision whether or not to create a + router is taken in the based on . + + + + + TBD + + + + + N/A + + N/A + + This exception is automatically thrown since cannot create routers. + + N/A + + + + N/A + + + This exception is automatically thrown since cannot create router actors. + + N/A + + + + N/A + + + This exception is automatically thrown since does not have a dispatcher. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class contains convenience methods used to send messages to a . + + + + + Sends a to a + to retrieve a list of routees that the router is currently using. + + + + + This class represents a non-routed message that is processed by the . + These types of messages are for managing the router itself, like adding routees, deleting + routees, etc. + + + + + This class represents a sent to a instructing + it to send a message back to the requestor that lists the routees that the router + is currently using. + + + + + This class represents a message used to carry information about what routees a is currently using. + + + + + Initializes a new instance of the class. + + The routees that a is currently using. + + + + An enumeration of routees that a is currently using. + + + + + This class represents a sent to a instructing + it to remove a specific routee from the router's collection of routees. It may be handled after other messages. + + + For a pool with child routees the routee is stopped by sending a + to the routee. Precautions are taken to reduce the risk of dropping messages that are concurrently + being routed to the remove routee, but there are no guarantees. + + + + + + Initializes a new instance of the class. + + The routee to remove from the router's collection of routees. + + + + The routee removed from the router's collection of routees. + + + + + This class represents a sent to a instructing + it to add a specific routee to the router's collection of routees. It may be handled after other messages. + + + + + Initializes a new instance of the class. + + The routee added to the router's collection of routees. + + + + The routee added to the router's collection of routees. + + + + + This class represents a sent to a router instructing + it to increase or decrease the number of alloted routees the router can use. It may be handled after other messages. + + + Positive will add that number of routees to the . + Negative will remove that number of routees from the . + + + Routees are stopped by sending a to the routee. + Precautions are taken to reduce the risk of dropping messages that are concurrently + being routed to the remove routee, but there are no guarantees. + + + + + + Initializes a new instance of the class. + + The number of routees to add or subtract from the . + + + + The number of routees added or subtracted from the . + + + + + INTERNAL API + + Actor implementation for routers. + + + + + TBD + + + + + Initializes a new instance of the class. + + The supervisor strategy. + TBD + + + + TBD + + TBD + + + + Called when [receive]. + + The message. + + + + This class contains logic used by a to route a message to a determined + using scatter-gather-first-completed. This process has the router send a message to all of its routees. The first + response is used and the remaining are discarded. If the none of the routees respond within a specified time + limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The amount of time to wait for a response. + + + + Picks all the provided to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + This class represents a single point that sends messages to a determined + using scatter-gather-first-completed. This process has the router send a message to all of its routees. The first + response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The list of routees that the router uses to send messages. + The time within which at least one response is expected. + + + + Sends a message to the collection of routees. + + The message that is being sent. + The actor sending the message. + + + + This class represents a router that sends messages to a determined using scatter-gather-first-completed. + This process has the router send a message to all of its routees. The first response is used and the remaining are discarded. If the none of the + routees respond within a specified time limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + 'within' must be defined in the provided configuration. + + + + + + Initializes a new instance of the class. + + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The amount of time to wait for a response. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + The amount of time to wait for a response. + true to use the pool dispatcher; otherwise false. + + + + The amount of time to wait for a response. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The amount of time to wait for a response. + + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using scatter-gather-first-completed. + This process has the router send a message to all of its routees. The first response is used and the remaining are discarded. If the none of the + routees respond within a specified time limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + If 'within' is defined in the provided configuration then that will be used as the interval. + + + + + + Initializes a new instance of the class. + + The amount of time to wait for a response. + A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The amount of time to wait for a response. + + + + Obsolete. Use instead. + + new ScatterGatherFirstCompletedGroup(actorRefs.Select(c => c.Path.ToString()), within) + + + N/A + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The amount of time to wait for a response. + The dispatcher to use when passing messages to the routees. + + + + The amount of time to wait for a response. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The amount of time to wait for a response. + + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class contains logic used by a to route a message to a + determined using smallest-mailbox. This process has the router select a routee based on the fewest number + of messages in its routees' mailbox. The selection is done in the following order: + +
    +
  • Pick any routee with an empty mailbox.
  • +
  • Pick a routee with the fewest pending messages in its mailbox.
  • +
  • Pick any remaining routees.
  • +
+ + Remote routees are consider lowest priority, since their mailbox size is unknown. + + + For the case, when all routees are of unpredictable size, the selection process fails back to round-robin. + +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Seed value used in the fallback selection process. + + + + Picks a to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + This class represents a router that sends messages to a determined using smallest-mailbox. + Please refer to for more information on the selection process. + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class contains logic used by a to route a message to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The time within which at least one response is expected. + The duration after which the next routee will be picked. + The used to force deadlines. + + + + Picks all of the provided to receive the . + + The message that is being routed + A collection of routees used when receiving the . + A that receives the . + + + + This class represents a single point that sends messages to a determined using tail-chopping. + This process has the routee select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The list of routees that the router uses to send messages. + The time within which at least one response is expected. + The duration after which the next routee will be picked. + The used to force deadlines. + + + + Sends a message to the collection of routees. + + The message that is being sent. + The actor sending the message. + + + + This class represents a router that sends messages to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + 'nr-of-instances', 'within', and 'tail-chopping-router.interval' + must be defined in the provided configuration. + + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + true to use the pool dispatcher; otherwise false. + + + + The amount of time to wait for a response. + + + + + The amount of time to wait before sending to the next routee. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + The interval to wait before sending to the next routee. + + + The amount of time to wait for a response. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + If 'within' is defined in the provided configuration then that will be used as the timeout. + If 'tail-chopping-router.interval' is defined in the provided configuration then that will be used as the interval. + + + + + + Initializes a new instance of the class. + + The actor paths used by this router during routee selection. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + + + + Initializes a new instance of the class. + + The actor paths used by this router during routee selection. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + The dispatcher to use when passing messages to the routees. + + + + The amount of time to wait for a response. + + + + + The amount of time to wait before sending to the next routee. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The amount of time to wait for a response. + + + + + The interval to wait before sending to the next routee. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This is a special that serializes and deserializes byte arrays only + (just returns the byte array unchanged/uncopied). + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + + This exception is thrown if the given is not a byte array. + + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + A typed settings for a class. + + + + + A default instance of used when no custom configuration has been provided. + + + + + Creates a new instance of the based on a provided . + Config may define several key-values: +
    +
  • `encode-type-names` (boolean) mapped to
  • +
  • `preserve-object-references` (boolean) mapped to
  • +
  • `converters` (type list) mapped to . They must implement and define either default constructor or constructor taking as its only parameter.
  • +
+
+ Raised when no was provided. + Raised when types defined in `converters` list didn't inherit . +
+ + + When true, serializer will encode a type names into serialized json $type field. This must be true + if is a default serializer in order to support polymorphic + deserialization. + + + + + When true, serializer will track a reference dependencies in serialized object graph. This must be + true if . + + + + + A collection of an additional converter types to be applied to a . + Converters must inherit from class and implement a default constructor. + + + + + Creates a new instance of the . + + Determines if a special `$type` field should be emitted into serialized JSON. Must be true if corresponding serializer is used as default. + Determines if object references should be tracked within serialized object graph. Must be true if corresponding serialize is used as default. + A list of types implementing a to support custom types serialization. + + + + This is a special that serializes and deserializes javascript objects only. + These objects need to be in the JavaScript Object Notation (JSON) format. + + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + TBD + + + + + TBD + + TBD + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + true if this instance can convert the specified object type; otherwise, false. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + This is a special that serializes and deserializes nulls only + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Completely unique value to identify this implementation of the used to optimize network traffic + + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Serialization information needed for serializing local actor refs. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Deserializes the given array of bytes using the specified serializer id, using the optional type hint to the Serializer. + + TBD + TBD + TBD + + This exception is thrown if the system cannot find the serializer with the given . + + The resulting object + + + + Deserializes the given array of bytes using the specified serializer id, using the optional type hint to the Serializer. + + TBD + TBD + TBD + + This exception is thrown if the system cannot find the serializer with the given + or it couldn't find the given with the given . + + The resulting object + + + + Returns the Serializer configured for the given object, returns the NullSerializer if it's null. + + TBD + TBD + + + + Returns the configured Serializer for the given Class. The configured Serializer + is used if the configured class `IsAssignableFrom` from the type, i.e. + the configured class is a super class or implemented interface. In case of + ambiguity it is primarily using the most specific configured class, + and secondly the entry configured first. + + TBD + + This exception is thrown if the serializer of the given could not be found. + + TBD + + + + TBD + + TBD + TBD + + + + A Serializer represents a bimap between an object and an array of bytes representing that object. + + Serializers are loaded using reflection during + start-up, where two constructors are tried in order: + +
    +
  • taking exactly one argument of type ; + this should be the preferred one because all reflective loading of classes + during deserialization should use ExtendedActorSystem.dynamicAccess (see + [[akka.actor.DynamicAccess]]), and
  • +
  • without arguments, which is only an option if the serializer does not + load classes using reflection.
  • +
+ + Be sure to always use the PropertyManager for loading classes! This is necessary to + avoid strange match errors and inequalities which arise from different class loaders loading + the same class. +
+
+ + + The actor system to associate with this serializer. + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Completely unique value to identify this implementation of Serializer, used to optimize network traffic + Values from 0 to 16 is reserved for Akka internal usage + + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Serializes the given object into a byte array and uses the given address to decorate serialized ActorRef's + + The address to use when serializing local ActorRef´s + The object to serialize + TBD + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Deserializes a byte array into an object. + + The array containing the serialized object + The object contained in the array + + + + TBD + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Deserializes a byte array into an object using an optional (type hint). + + The array containing the serialized object + The type hint used to deserialize the object contained in the array. + The object contained in the array + + + + Returns the manifest (type hint) that will be provided in the method. + + + This method returns if a manifest is not needed. + + + The object for which the manifest is needed. + The manifest needed for the deserialization of the specified . + + + + INTERNAL API. + + + + + TBD + + + + + TBD + + TBD + TBD + + This exception is thrown if the system couldn't find the given serializer id in the configuration. + + TBD + + + + Implementation of the java.concurrent.util.AtomicBoolean type. + + Uses internally to enforce ordering of writes + without any explicit locking. .NET's strong memory on write guarantees might already enforce + this ordering, but the addition of the MemoryBarrier guarantees it. + + + + + Sets the initial value of this to . + + TBD + + + + The current value of this + + + + + If equals , then set the Value to + . + + TBD + TBD + true if was set + + + + Atomically sets the to and returns the old . + + The new value + The old value + + + + Performs an implicit conversion from to . + + The boolean to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The boolean to convert + The result of the conversion. + + + + Implementation of the java.concurrent.util AtomicReference type. + + Uses internally to enforce ordering of writes + without any explicit locking. .NET's strong memory on write guarantees might already enforce + this ordering, but the addition of the Volatile guarantees it. + + TBD + + + + Sets the initial value of this to . + + TBD + + + + Default constructor + + + + + TBD + + + + + The current value of this + + + + + If equals , then set the Value to + . + + TBD + TBD + true if was set + + + + Atomically sets the to and returns the old . + + The new value + The old value + + + + Performs an implicit conversion from to . + + The reference to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The reference to convert + The result of the conversion. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + N/A + + TBD + N/A + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + N/A + + N/A + TBD + N/A + + + + N/A + + N/A + TBD + N/A + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + Get a single Byte from this iterator. Identical to next(). + + TBD + + + + Get a single Short from this iterator. + + TBD + TBD + + + + Get a single Int from this iterator. + + TBD + TBD + + + + Get a single Long from this iterator. + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Retrieves an enumerator that iterates through the collection. + + An enumerator that can be used to iterate through the collection. + + + + Performs an implicit conversion from to . + + The array to convert + The result of the conversion. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Implements a circular around an existing . + + This allows for continuous read-only iteration over a set. + + The type of objects to enumerate + + + + Initializes a new instance of the class. + + The raw iterator from some object + + + + + + + + + + + + + + + + Extension method class for adding support to any + instance within Akka.NET + + + + + Provides a instance for . + + Internally, it just wraps 's internal iterator with circular iteration behavior. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Performs an implicit conversion from to . + + The object to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The object to convert + The result of the conversion. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + A fast, atomic lazy that only allows a single publish operation to happen, + but allows executions to occur concurrently. + + Does not cache exceptions. Designed for use with types that are + or are otherwise considered to be expensive to allocate. + + Read the full explanation here: https://github.com/Aaronontheweb/FastAtomicLazy#rationale + + TBD + + + + Initializes a new instance of the class. + + + This exception is thrown if the given is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + A fast, atomic lazy that only allows a single publish operation to happen, + but allows executions to occur concurrently. + + Does not cache exceptions. Designed for use with types that are + or are otherwise considered to be expensive to allocate. + + Read the full explanation here: https://github.com/Aaronontheweb/FastAtomicLazy#rationale + + State type + Value type + + + + Initializes a new instance of the class. + + + This exception is thrown if the given or is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + An implementation of a ConcurrentMultiMap - in CLR that would be something like + where TValue is another . + + Add/remove is serialized over the specified key. + Reads are fully concurrent. + + TBD + TBD + + + + TBD + + + + + Associates the value of with key of type . + + The key to add. + The value to add. + true if the value didn't exist for the key previously, and false otherwise. + + + + Find some for the first matching value where the supplied + returns true for the given key. + + The key to use. + The predicate to filter values associated with . + The first matching . default(TValue) otherwise. + + + + TBD + + TBD + + + + Applies the supplied to all keys and their values. + + The function to apply. + + + + Returns the union of all value sets. + + + + + Returns the key set. + + + + + Disassociates the value of from + the key of . + + The key. + The value. + true if was removed. false otherwise. + + + + Remove the given from all keys. + + The value we're going to remove, if it exists for any key. + + + + Disassociates all values for the specified key. + + The key we're going to remove. + An enumerable collection of if the key exists. An empty collection otherwise. + + + + Returns true if the index is empty. + + + + + Removes all keys and values + + + + + Provides extension utilities to arrays. + + + + + Determines if an array is null or empty. + + The array to check. + True if null or empty, false otherwise. + + + + Determines if an array is not null or empty. + + The array to check. + True if not null or empty, false otherwise. + + + + Shuffles an array of objects. + + The type of the array to sort. + The array to sort. + + + + Implementation of Scala's ZipWithIndex method. + + Folds a collection into a Dictionary where the original value (of type T) acts as the key + and the index of the item in the array acts as the value. + + TBD + TBD + TBD + + + + Grabs a subset of an IEnumerable based on a starting index and position + + TBD + The array of items to slice + The starting position to begin the slice + The number of items to take + A slice of size beginning from position in . + + + + Select all the items in this array beginning with and up until the end of the array. + + + If is not found in the array, From will return an empty set. + If is found at the end of the array, From will return the entire original array. + + + TBD + TBD + TBD + TBD + + + + Select all the items in this array from the beginning until (but not including) + + If is not found in the array, Until will select all items. + If is the first item in the array, an empty array will be returned. + + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + An atomic 32 bit integer counter. + + + + + Creates an instance of an AtomicCounter. + + The initial value of this counter. + + + + Creates an instance of an AtomicCounter with a starting value of -1. + + + + + The current value of the atomic counter. + + + + + Retrieves the current value of the counter + + + + + Increments the counter and returns the next value + + TBD + + + + Decrements the counter and returns the next value + + TBD + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Atomically decrements the counter by one. + + The original value. + + + + Atomically decrements the counter by one. + + The new value. + + + + Returns the current value and adds the specified value to the counter. + + The amount to add to the counter. + The original value before additions. + + + + Adds the specified value to the counter and returns the new value. + + The amount to add to the counter. + The new value after additions. + + + + Resets the counter to zero. + + + + + Returns current counter value and sets a new value on it's place in one operation. + + TBD + TBD + + + + Compares current counter value with provided value, + and sets it to if compared values where equal. + Returns true if replacement has succeed. + + TBD + TBD + TBD + + + + An atomic 64 bit integer counter. + + + + + Creates an instance of an AtomicCounterLong. + + The initial value of this counter. + + + + Creates an instance of an AtomicCounterLong with a starting value of -1. + + + + + The current value for this counter. + + + + + Retrieves the current value of the counter + + + + + Increments the counter and returns the next value. + + TBD + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Atomically decrements the counter by one + + The new value + + + + Gets the current value of the counter and adds an amount to it. + + This uses a CAS loop as Interlocked.Increment is not atomic for longs on 32bit systems. + The amount to add to the counter. + The original value. + + + + Adds an amount to the counter and returns the new value. + + This uses a CAS loop as Interlocked.Increment is not atomic for longs on 32bit systems. + The amount to add to the counter. + The new counter value. + + + + Resets the counter to zero. + + + + + Returns current counter value and sets a new value on it's place in one operation. + + TBD + TBD + + + + Compares current counter value with provided value, + and sets it to if compared values where equal. + Returns true if replacement has succeed. + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Internal state abstraction + + + + + TBD + + TBD + TBD + + + + Add a listener function which is invoked on state entry + + listener implementation + + + + Test for whether listeners exist + + + + + Notifies the listeners of the transition event via a + + TBD + + + + Shared implementation of call across all states. Thrown exception or execution of the call beyond the allowed + call timeout is counted as a failed call, otherwise a successful call + + NOTE: In .Net there is no way to cancel an uncancellable task. We are merely cancelling the wait and marking this + as a failure. + + see http://blogs.msdn.com/b/pfxteam/archive/2011/11/10/10235834.aspx + + TBD + Implementation of the call + result of the call + + + + Shared implementation of call across all states. Thrown exception or execution of the call beyond the allowed + call timeout is counted as a failed call, otherwise a successful call + + NOTE: In .Net there is no way to cancel an uncancellable task. We are merely cancelling the wait and marking this + as a failure. + + see http://blogs.msdn.com/b/pfxteam/archive/2011/11/10/10235834.aspx + + Implementation of the call + + + + + Abstract entry point for all states + + TBD + Implementation of the call that needs protected + containing result of protected call + + + + Abstract entry point for all states + + Implementation of the call that needs protected + containing result of protected call + + + + Invoked when call fails + + + + + Invoked when call succeeds + + + + + Invoked on the transitioned-to state during transition. Notifies listeners after invoking subclass template method _enter + + + + + Enter the state. NotifyTransitionListeners is not awaited -- its "fire and forget". + It is up to the user to handle any errors that occur in this state. + + + + + This interface represents the parts of the internal circuit breaker state; the behavior stack, watched by, watching and termination queue + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + Scala alias for Skip + + TBD + TBD + TBD + TBD + + + + Scala alias for FirstOrDefault + + TBD + TBD + TBD + + + + Splits a 'dotted path' in its elements, honouring quotes (not splitting by dots between quotes) + + The input path + The path elements + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + Dictionary helper that allows for idempotent updates. You don't need to care whether or not + this item is already in the collection in order to update it. + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + Applies a delegate to all elements of this enumerable. + + The type of the elements of . + An to iterate. + The function that is applied for its side-effect to every element. The result of function is discarded. + + + + Selects last n elements. + + TBD + TBD + TBD + TBD + + + + An interface that describes a numeric counter. + + The type of the numeric. + + + + The current value of this counter. + + + + + Increments the counter and gets the next value. This is exactly the same as calling . + + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Returns the current value and adds the specified value to the counter. + + The amount to add to the counter. + The original value before additions. + + + + Adds the specified value to the counter and returns the new value. + + The amount to add to the counter. + The new value after additions. + + + + Resets the counter to zero. + + + + + Utility class for adding some basic immutable behaviors + to specific types of collections without having to reference + the entire BCL.Immutability NuGet package. + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is undefined. + + TBD + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is undefined. + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + INTERNAL! + Implements helpers for performing Compare-and-swap operations using + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL! + Atomically updates the object by calling to get the new value. + Note that may be called many times so it should be idempotent. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + The updated value. + + + INTERNAL! + Atomically updates the int by calling to get the new value. + returns a Tuple<should update, the new int value, the return value> + If the first item in the tuple is true, the value is updated, and the third value of the tuple is returned. + Note that may be called many times so it should be idempotent. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + TBD + The third value from the tuple return by . + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + INTERNAL API. + + Renamed from so it doesn't colide + with a helper class in the same namespace defined in System.Threadin.Tasks. + + + + + A completed task + + + + + Creates a failed + + The exception to use to fail the task. + A failed task. + + + + Creates a failed + + The exception to use to fail the task. + A failed task. + The type of + + + + INTERNAL API + + Extensions for working with types + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Returns the task which completes with result of original task if cancellation token not canceled it before completion. + + The original task. + The cancellation token. + The task which completes with result of original task or with cancelled state. + + + + TBD + + + + + TBD + + TBD + TBD + + + + Used for surrogate serialization. + + + + + TBD + + TBD + TBD + + + + Priority queue implemented using a simple list with binary search for inserts. + This specific implementation is cheap in terms of memory but weak in terms of performance. + See http://visualstudiomagazine.com/articles/2012/11/01/priority-queues-with-c.aspx for original implementation + This specific version is adapted for Envelopes only and calculates a priority of envelope.Message + + + + + The default priority generator. + + + + + DEPRECATED. Should always specify priority calculator instead. + + The current capacity of the priority queue. + + + + Creates a new priority queue. + + The initial capacity of the queue. + The calculator function for assigning message priorities. + + + + DEPRECATED. Sets a new priority calculator. + + The calculator function for assigning message priorities. + + WARNING: SHOULD NOT BE USED. Use the constructor to set priority instead. + + + + + Enqueues a message into the priority queue. + + The item to enqueue. + + + + Dequeues the highest priority message at the front of the priority queue. + + The highest priority message . + + + + Peek at the message at the front of the priority queue. + + The highest priority message . + + + + Counts the number of items in the priority queue. + + The total number of items in the queue. + + + + Converts the queue to a string representation. + + A string representation of the queue. + + + + TBD + + TBD + + + + INTERNAL API + + A Monotonic clock implementation based on total uptime. + Used for keeping accurate time internally. + + + + + Time as measured by the current system up-time. + + + + + High resolution elapsed time as determined by a + running continuously in the background. + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Ticks represent 100 nanos. https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx + + This extension method converts a Ticks value to nano seconds. + + TBD + TBD + + + + Ticks represent 100 nanos. https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx + + This extension method converts a nano seconds value to Ticks. + + TBD + TBD + + + + Murmur3 Hash implementation + + + + The first 23 magic integers from the first stream are stored here + + + The first 23 magic integers from the second stream are stored here + + + + The initial magic integer in the first stream. + + + + + The initial magic integer in the second stream. + + + + + TBD + + + + + Begin a new hash with a seed value. + + TBD + TBD + + + + Given a magic integer from the first stream, compute the next + + TBD + TBD + + + + Given a magic integer from the second stream, compute the next + + TBD + TBD + + + + Incorporates a new value into an existing hash + + The prior hash value + The new value to incorporate + A magic integer from the left of the stream + A magic integer from a different stream + The updated hash value + + + + Once all hashes have been incorporated, this performs a final mixing. + + TBD + TBD + + + + Rotate a 32-bit unsigned integer to the left by bits + + Original value + The shift value + The rotated 32-bit integer + + + + Rotate a 64-bit unsigned integer to the left by bits + + Original value + The shift value + The rotated 64-bit integer + + + + Compute a high-quality hash of a byte array + + TBD + TBD + + + + Compute a high-quality hash of an array + + TBD + TBD + + + + Compute high-quality hash of a string + + TBD + TBD + + + + Compute a hash that is symmetric in its arguments--that is, + where the order of appearance of elements does not matter. + This is useful for hashing sets, for example. + + TBD + TBD + TBD + + + + Extension method class to make it easier to work with instances + + + + + Converts a into an array of + + TBD + + This exception is thrown if there aren't enough bits in the given to make a byte. + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Gets the with the specified name, performing a case-sensitive search and throw an exception if the type is not found. + + + + The type with the specified name. If the type is not found, an exception is thrown. + + + The assembly-qualified name of the type to get. See . + If the type is in Akka.dll or in Mscorlib.dll, it is sufficient to supply the type name qualified by its namespace. + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + This exception is thrown if the current is undefined. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares two specified for equality. + + The first used for comparison + The second used for comparison + true if both are equal; otherwise false + + + + Compares two specified for inequality. + + The first used for comparison + The second used for comparison + true if both are not equal; otherwise false + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Used to detect specific .NET runtimes, to make it easier to adjust for platform specific + differences. + + + Mostly used for detecting Mono right now because certain features, i.e. IPV6 support, aren't + fully supported on it. Can also be used for picking platform-specific implementations of things + such as Akka.Cluster.Metrics implementations. + + + + + Is true if we're running on a Mono VM. false otherwise. + + + + + This class contains methods for thread safe writing to the standard output stream. + + + + + Writes the specified value to the standard output stream. Optionally + you may specify which colors should be used. + + The value to write + Optional: The foreground color + Optional: The background color + + + + Writes the specified value, followed by the current line terminator, + to the standard output stream. Optionally you may specify which colors should be used. + + The value to write + Optional: The foreground color + Optional: The background color + + + + TBD + + + + + Concatenates the values, using the specified separator between the elements. + This method is similar to except it + formats null values as <null> + + The separator. + The arguments. + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + An atomic switch that can be either on or off + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + Executes the provided action if the lock is on. This is done under a lock so be _very_ careful with longrunning/blocking operations in it. + Only executes the action if the switch is on, and switches it off immediately after obtaining the lock. + Will switch it back on if the provided action throws an exception. + + TBD + Returns true if the switch was switched off + + + + Executes the provided action if the lock is off. This is done under a lock so be _very_ careful with longrunning/blocking operations in it. + Only executes the action if the switch is off, and switches it on immediately after obtaining the lock. + Will switch it back off if the provided action throws an exception. + + TBD + Returns true if the switch was switched on + + + + Switches the switch off (if on). Uses locking. + + Returns true if the switch was switched off + + + + Switches the switch on (if off). Uses locking. + + Returns true if the switch was switched on + + + + Executes the provided action and returns if the action was executed or not, if the switch is IMMEDIATELY on (i.e. no lock involved) + + The action. + Return true if the switch was on + + + + Executes the provided action and returns if the action was executed or not, if the switch is IMMEDIATELY off (i.e. no lock involved) + + The action. + Return true if the switch was off + + + + Executes the provided action and returns if the action was executed or not, if the switch is on, waiting for any pending changes to happen before (locking) + Be careful of longrunning or blocking within the provided action as it can lead to deadlocks or bad performance + + TBD + TBD + + + + Executes the provided action and returns if the action was executed or not, if the switch is off, waiting for any pending changes to happen before (locking) + Be careful of longrunning or blocking within the provided action as it can lead to deadlocks or bad performance + + TBD + TBD + + + + Gets a value indicating whether this switch is on. No locking. + + + true if this instance is on; otherwise, false. + + + + + Gets a value indicating whether this switch is off. No locking. + + + true if this instance is off; otherwise, false. + + + + + TBD + + TBD + + + + Create random numbers with Thread-specific seeds. + + Borrowed form Jon Skeet's brilliant C# in Depth: http://csharpindepth.com/Articles/Chapter12/Random.aspx + + + + + The current random number seed available to this thread + + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown when either the specified is less than zero + or the specified is less than or equal to zero. + + + + + This method must be called before the token bucket can be used. + + + + + The current time in ticks. The returned value is monotonic, might wrap over and has no relationship with wall-clock. + + The current time in ticks as Long + + + + Call this (side-effecting) method whenever an element should be passed through the token-bucket. This method + will return the number of nanoseconds the element needs to be delayed to conform with the token bucket parameters. + Returns zero if the element can be emitted immediately. The method does not handle overflow, if an element is to + be delayed longer in nanoseconds than what can be represented as a positive Long then an undefined value is returned. + + If a non-zero value is returned, it is the responsibility of the caller to not call this method before the + returned delay has been elapsed (but can be called later). This class does not check or protect against early + calls. + + How many tokens the element costs. Can be larger than the capacity of the bucket. + + This exception is thrown when the specified is less than zero. + + TBD + + + + Default implementation of that uses as the time source. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + Class TypeExtensions. + + + + + Returns true if implements/inherits . + typeof(object[]).Implements<IEnumerable>() --> true + + TBD + The type. + true if XXXX, false otherwise. + + + + Returns true if implements/inherits . + typeof(object[]).Implements(typeof(IEnumerable)) --> true + + The type. + Type of the more general. + true if XXXX, false otherwise. + + + + Utility to be used by implementors to create a manifest from the type. + The manifest is used to look up the type on deserialization. + + TBD + Returns the type qualified name including namespace and assembly, but not assembly version. + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + A searchable nested dictionary, represents a searchable tree structure underneath + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + The handler is a Action<T> + + + The handler is a Action<T> and a Predicate<T> is specified + + + The handler is a Func<T, bool> + + + + TBD + + + + + Produces a delegate that represents the lambda expression. + + The expression to compile + A delegate containing the compiled version of the lambda. + + + + Compiles the lambda into a method definition. + + The expression to compile + A which will be used to hold the lambda's IL. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Builds the specified delegate and arguments to a + If the number of arguments are 0, the delegate should be a Func<,bool> + If the number of arguments are 1, the delegate should be a Func<,T1,bool> + ... + If the number of arguments are n, the delegate should be a Func<,T1,...,Tn,bool> + The maximum number of arguments i.e. n in the above example is therefore =14 + Given a delegate deleg of type Func<,T1,...,Tn,bool> and args [a_1,...a_n] then + the delegate corresponding to this code is returned: + (value) => deleg(value,a_1, ..., a_n) + + + The type of the value parameter in to the returned + The handler, i.e. a Func<,T1,...,Tn,bool> and arguments [a_1,...a_n]. + Returns a that calls the delegate with the arguments. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + TBD + + + + TBD + + TBD + + + + Initializes a new instance of the class. + + TBD + + This exception is thrown if the given is undefined. + + + + + Adds a handler that is called if the item being matched is of type + and , if it has been specified, returns true. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked when everything matches. + An optional predicate to test if the item matches. If it returns true the is invoked. + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + This exception is thrown if the current state is unknown. + + + + + Adds a handler that is called if the item being matched is of type + and , if it has been specified, returns true. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked when everything matches. + An optional predicate to test if the item matches. If it returns true the is invoked. + + This exception is thrown if the given cannot handle the given . + + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is called if the item being matched is of type . + The handler should return true if the item sent in matched and was handled. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked. It should return true if the item sent in matched and was handled. + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is called if the item being matched is of type . + The handler should return true if the item sent in matched and was handled. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked. It should return true if the item sent in matched and was handled. + + This exception is thrown if the given cannot handle the given . + + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is invoked no matter the type the item being matched is. + Note that since this matches all items, no more handlers may be added after this one. + Note that if a previous added handler handled the item, this will not be invoked. + + + + + Builds all added handlers and returns a . + + Returns a + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + This class contains the handled Types and HandlerKinds + that has been added to a . + Two signatures are equal if they contain the same Types and HandlerKinds + in the same order. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if the an unknown is contained + in a in the given . + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + An action that returns true if the was handled. + + The type of the argument + The argument. + Returns true if the was handled + + + + TBD + + + + + The maximum number of arguments=15 not including the obligatory first value argument in a partial action. + 16 is the maximum number of args in a Func, see + + + + + Builds the specified delegate and arguments to a If the number of arguments are 0, the delegate should be a Func<,bool>If the number of arguments are 1, the delegate should be a Func<,T1,bool>...If the number of arguments are n, the delegate should be a Func<,T1,...,Tn,bool>The maximum number of arguments i.e. n in the above example is therefore =14Given a delegate deleg of type Func<,T1,...,Tn,bool> and args [a_1,...a_n] then + the delegate corresponding to this code is returned: + (value) => deleg(value,a_1, ..., a_n) + + The type of the value parameter in to the returned + The handler, i.e. a Func<,T1,...,Tn,bool> and arguments [a_1,...a_n]. + + Returns a that calls the delegate with the arguments. + + + This exception is thrown if the number of arguments in the given exceeds the configured . + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + + This exception is thrown if the given is undefined. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + The type of threads to use - either foreground or background threads. + + + + + Provides settings for a dedicated thread pool + + + + + Background threads are the default thread type + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if the given is set to less than 1ms. + It can also be thrown if the given is set to less than one. + + + + + The total number of threads to run in this thread pool. + + + + + The type of threads to run in this thread pool. + + + + + Apartment state for threads to run in this thread pool + + + + + Interval to check for thread deadlocks. + + If a thread takes longer than it will be aborted + and replaced. + + + + + TBD + + + + + TBD + + + + + Gets the thread stack size, 0 represents the default stack size. + + + + + TaskScheduler for working with a instance + + + + + Number of tasks currently running + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Level of concurrency is directly equal to the number of threads + in the . + + + + + TBD + + + This exception is thrown if can't ensure a thread-safe return of the list of tasks. + + TBD + + + + An instanced, dedicated thread pool. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + This exception is thrown if the given item is undefined. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + +
+
diff --git a/tests/dependencies/Akka.TestKit/net45/Newtonsoft.Json.dll b/tests/dependencies/Akka.TestKit/net45/Newtonsoft.Json.dll new file mode 100644 index 00000000..be6558d2 Binary files /dev/null and b/tests/dependencies/Akka.TestKit/net45/Newtonsoft.Json.dll differ diff --git a/tests/dependencies/Akka.TestKit/net45/System.Collections.Immutable.dll b/tests/dependencies/Akka.TestKit/net45/System.Collections.Immutable.dll new file mode 100644 index 00000000..ce6fc0e8 Binary files /dev/null and b/tests/dependencies/Akka.TestKit/net45/System.Collections.Immutable.dll differ diff --git a/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.deps.json b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.deps.json new file mode 100644 index 00000000..0a345d0c --- /dev/null +++ b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.deps.json @@ -0,0 +1,1567 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v1.6/", + "signature": "068547c5ec80054a4739dd0fb727b5d9f61a7204" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v1.6": {}, + ".NETStandard,Version=v1.6/": { + "akka.testkit/1.3.0": { + "dependencies": { + "Akka": "1.3.0", + "NETStandard.Library": "1.6.1" + }, + "runtime": { + "Akka.TestKit.dll": {} + } + }, + "microsoft.csharp/4.0.1": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.0.11", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.CSharp.dll": {} + } + }, + "microsoft.netcore.platforms/1.1.0": {}, + "microsoft.netcore.targets/1.1.0": {}, + "microsoft.win32.primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "netstandard.library/1.6.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.Compression.ZipFile": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Net.Http": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Sockets": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0" + } + }, + "newtonsoft.json/9.0.1": { + "dependencies": { + "Microsoft.CSharp": "4.0.1", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.0.11", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/Newtonsoft.Json.dll": {} + } + }, + "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.native.system/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.system.io.compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.system.net.http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.system.security.cryptography.apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.system.security.cryptography.openssl/4.3.0": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "system.appcontext/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.AppContext.dll": {} + } + }, + "system.buffers/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.1/System.Buffers.dll": {} + } + }, + "system.collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.collections.concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": {} + } + }, + "system.collections.immutable/1.3.1": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Collections.Immutable.dll": {} + } + }, + "system.console/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "system.diagnostics.debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.diagnostics.diagnosticsource/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} + } + }, + "system.diagnostics.tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.diagnostics.tracesource/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "system.diagnostics.tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.dynamic.runtime/4.0.11": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": {} + } + }, + "system.globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.globalization.calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "system.globalization.extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "system.io/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "system.io.compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + } + }, + "system.io.compression.zipfile/4.3.0": { + "dependencies": { + "System.Buffers": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": {} + } + }, + "system.io.filesystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "system.io.filesystem.primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} + } + }, + "system.linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": {} + } + }, + "system.linq.expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": {} + } + }, + "system.net.http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.DiagnosticSource": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "system.net.nameresolution/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Principal.Windows": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "system.net.primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "system.net.sockets/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "system.objectmodel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": {} + } + }, + "system.reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "system.reflection.emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": {} + } + }, + "system.reflection.emit.ilgeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} + } + }, + "system.reflection.emit.lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": {} + } + }, + "system.reflection.extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "system.reflection.primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.reflection.typeextensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": {} + } + }, + "system.resources.resourcemanager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "system.runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "system.runtime.extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.runtime.handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.runtime.interopservices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "system.runtime.interopservices.runtimeinformation/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + }, + "runtime": { + "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} + } + }, + "system.runtime.numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": {} + } + }, + "system.runtime.serialization.primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} + } + }, + "system.security.claims/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Principal": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Claims.dll": {} + } + }, + "system.security.cryptography.algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "system.security.cryptography.cng/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "system.security.cryptography.csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "system.security.cryptography.encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "system.security.cryptography.openssl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": {} + } + }, + "system.security.cryptography.primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} + } + }, + "system.security.cryptography.x509certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "system.security.principal/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Security.Principal.dll": {} + } + }, + "system.security.principal.windows/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "system.text.encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.text.encoding.extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "system.text.regularexpressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": {} + } + }, + "system.threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": {} + } + }, + "system.threading.tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.threading.tasks.extensions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} + } + }, + "system.threading.thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": {} + } + }, + "system.threading.threadpool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": {} + } + }, + "system.threading.timer/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.xml.readerwriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} + } + }, + "system.xml.xdocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": {} + } + }, + "akka/1.3.0": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "9.0.1", + "System.Collections.Immutable": "1.3.1", + "System.Diagnostics.TraceSource": "4.3.0", + "System.Net.NameResolution": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.Threading.ThreadPool": "4.3.0" + }, + "runtime": { + "Akka.dll": {} + } + } + } + }, + "libraries": { + "akka.testkit/1.3.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "microsoft.csharp/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-17h8b5mXa87XYKrrVqdgZ38JefSUqLChUQpXgSnpzsM0nDOhE40FTeNWOJ/YmySGV6tG6T8+hjz6vxbknHJr6A==", + "path": "microsoft.csharp/4.0.1", + "hashPath": "microsoft.csharp.4.0.1.nupkg.sha512" + }, + "microsoft.netcore.platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "microsoft.netcore.targets/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "path": "microsoft.netcore.targets/1.1.0", + "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" + }, + "microsoft.win32.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "netstandard.library/1.6.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "path": "netstandard.library/1.6.1", + "hashPath": "netstandard.library.1.6.1.nupkg.sha512" + }, + "newtonsoft.json/9.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==", + "path": "newtonsoft.json/9.0.1", + "hashPath": "newtonsoft.json.9.0.1.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.native.system/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.system.io.compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "path": "runtime.native.system.io.compression/4.3.0", + "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" + }, + "runtime.native.system.net.http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.system.security.cryptography.apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "system.appcontext/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "path": "system.appcontext/4.3.0", + "hashPath": "system.appcontext.4.3.0.nupkg.sha512" + }, + "system.buffers/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", + "path": "system.buffers/4.3.0", + "hashPath": "system.buffers.4.3.0.nupkg.sha512" + }, + "system.collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "system.collections.concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "system.collections.immutable/1.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-n+AGX7zmiZumW9aggOkXaHzUeAS3EfeTErnkKCusyONUozbTv+kMb8VE36m+ldV6kF9g57G2c641KCdgH9E0pg==", + "path": "system.collections.immutable/1.3.1", + "hashPath": "system.collections.immutable.1.3.1.nupkg.sha512" + }, + "system.console/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "path": "system.console/4.3.0", + "hashPath": "system.console.4.3.0.nupkg.sha512" + }, + "system.diagnostics.debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "system.diagnostics.diagnosticsource/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", + "path": "system.diagnostics.diagnosticsource/4.3.0", + "hashPath": "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512" + }, + "system.diagnostics.tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "system.diagnostics.tracesource/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VnYp1NxGx8Ww731y2LJ1vpfb/DKVNKEZ8Jsh5SgQTZREL/YpWRArgh9pI8CDLmgHspZmLL697CaLvH85qQpRiw==", + "path": "system.diagnostics.tracesource/4.3.0", + "hashPath": "system.diagnostics.tracesource.4.3.0.nupkg.sha512" + }, + "system.diagnostics.tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "system.dynamic.runtime/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", + "path": "system.dynamic.runtime/4.0.11", + "hashPath": "system.dynamic.runtime.4.0.11.nupkg.sha512" + }, + "system.globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "system.globalization.calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "system.globalization.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "system.io/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "system.io.compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "path": "system.io.compression/4.3.0", + "hashPath": "system.io.compression.4.3.0.nupkg.sha512" + }, + "system.io.compression.zipfile/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "path": "system.io.compression.zipfile/4.3.0", + "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512" + }, + "system.io.filesystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "system.io.filesystem.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "system.linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "system.linq.expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "system.net.http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "path": "system.net.http/4.3.0", + "hashPath": "system.net.http.4.3.0.nupkg.sha512" + }, + "system.net.nameresolution/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AFYl08R7MrsrEjqpQWTZWBadqXyTzNDaWpMqyxhb0d6sGhV6xMDKueuBXlLL30gz+DIRY6MpdgnHWlCh5wmq9w==", + "path": "system.net.nameresolution/4.3.0", + "hashPath": "system.net.nameresolution.4.3.0.nupkg.sha512" + }, + "system.net.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "path": "system.net.primitives/4.3.0", + "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" + }, + "system.net.sockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "path": "system.net.sockets/4.3.0", + "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" + }, + "system.objectmodel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "system.reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "system.reflection.emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "system.reflection.emit.ilgeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "system.reflection.emit.lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "system.reflection.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "system.reflection.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "system.reflection.typeextensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "system.resources.resourcemanager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "system.runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "system.runtime.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "system.runtime.handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "system.runtime.interopservices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "system.runtime.interopservices.runtimeinformation/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "path": "system.runtime.interopservices.runtimeinformation/4.3.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512" + }, + "system.runtime.numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "system.runtime.serialization.primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "system.security.claims/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "path": "system.security.claims/4.3.0", + "hashPath": "system.security.claims.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.cng/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "path": "system.security.cryptography.cng/4.3.0", + "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.x509certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "system.security.principal/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", + "path": "system.security.principal/4.3.0", + "hashPath": "system.security.principal.4.3.0.nupkg.sha512" + }, + "system.security.principal.windows/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HVL1rvqYtnRCxFsYag/2le/ZfKLK4yMw79+s6FmKXbSCNN0JeAhrYxnRAHFoWRa0dEojsDcbBSpH3l22QxAVyw==", + "path": "system.security.principal.windows/4.3.0", + "hashPath": "system.security.principal.windows.4.3.0.nupkg.sha512" + }, + "system.text.encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "system.text.encoding.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "system.text.regularexpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "system.threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "system.threading.tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "system.threading.tasks.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "path": "system.threading.tasks.extensions/4.3.0", + "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512" + }, + "system.threading.thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "system.threading.threadpool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "system.threading.timer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "path": "system.threading.timer/4.3.0", + "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" + }, + "system.xml.readerwriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "system.xml.xdocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + }, + "akka/1.3.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.dll b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.dll new file mode 100644 index 00000000..39d6d99e Binary files /dev/null and b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.dll differ diff --git a/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.xml b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.xml new file mode 100644 index 00000000..24aee89f --- /dev/null +++ b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.TestKit.xml @@ -0,0 +1,4225 @@ + + + + Akka.TestKit + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Creates an . + An will be called for each received message and can be + used to send or forward messages, etc. + Each invocation must return the for the next round. + To reuse an for the next message either + return the instance or return . + Return to stop handling messages. + + + + + This function will be called for each received message and can be + used to send or forward messages, etc. + Each invocation must return the for the next round. + + The sender. + The message. + The to be used for the next round + + + + When returned by another then no + action will be performed by the + for the next message. This is the default used + by . + + + + + When returned by another then + will reuse the AutoPilot for the next message. + + + + + When returned by another then no + action will be performed by the + for the next message. This is the default used + by . + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + When returned by another then + will reuse the AutoPilot for the next message. + + + + + TBD + + + + + N/A + + N/A + N/A + + This exception is automatically thrown since calling this function would never occur in normal operation. + + N/A + + + + TBD + + TBD + TBD + TBD + + + + Creates an . + The specified in the constructor will + be called for each received message and can be used to send or forward + messages, etc. + Each invocation must return the for the next round. + To have this instance handle the next message either return this instance + or return . + Return to stop handling messages. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + Default Akka.TestKit configurations + + + + + The default TestKit config + + + + + Configuration for tests that require deterministic control over the AkkaSystem scheduler. + + + + + Filter which matches DeadLetter events, if the wrapped message conforms to the given type. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Exception<MyException>(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The type of the exception. + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Exception<MyException>(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The type of the exception. It must be a . + The event must match the pattern to be filtered. + >Optional. The event source. + Optional. When set to true not only the top level exception is matched, but inner exceptions are also checked until one matches. Default: false + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + + + Exception<MyException>() // filter only on exception type + Exception<MyException>("message") // filter on exactly matching message + Exception<MyException>(source: obj) // filter on event source + Exception<MyException>(start: "Expected") // filter on start of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The type of the exception. + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + >Optional. If specified (and is not specified, the event must start with the string to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + + + Exception(typeof(MyException)) // filter only on exception type + Exception(typeof(MyException), "message") // filter on exactly matching message + Exception(typeof(MyException), source: obj) // filter on event source + Exception(typeof(MyException), start: "Expected") // filter on start of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The type of the exception. It must be a . + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + >Optional. If specified (and is not specified, the event must start with the string to be filtered. + >Optional. The event source. + Optional. When set to true not only the top level exception is matched, but inner exceptions are also checked until one matches. Default: false + The new filter + + + + Create a custom event filter. The filter will affect those events for + which the function returns true. + + This function must return true for events that should be filtered. + TBD + + + + Create a custom event filter. The filter will affect those events for + which the function returns true. + + TBD + This function must return true for events that should be filtered. + TBD + + + + Creates an event filter given the specified . + This is the same as calling , + or + directly. + + The log level used to match events being filtered. + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + + This exception is thrown when the given is unknown. + + An event filter that matches on the given . + + + + Creates a filter given the specified . + This is the same as calling , + or + directly. + + The log level used to match events being filtered. + The event must match the pattern to be filtered. + >Optional. The event source. + + This exception is thrown when the given is unknown. + + An event filter that matches the given with the supplied . + + + + Creates a filter that catches dead letters + + TBD + + + + Creates a filter that catches dead letters of the specified type and, optionally from the specified source. + + TBD + TBD + TBD + + + + Creates a filter that catches dead letters of the specified type and matches the predicate, and optionally from the specified source. + + TBD + TBD + TBD + TBD + + + + Creates a filter that catches dead letters of the specified type and, optionally from the specified source. + + TBD + TBD + TBD + + + + Creates a filter that catches dead letters of the specified type and matches the predicate, and optionally from the specified source. + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + If !=null and both and + have not been specified, + the event must contain the given string to be filtered. + + Error() // filter all Error events + Error("message") // filter on exactly matching message + Error(source: obj) // filter on event source + Error(start: "Expected") // filter on start of message + Error(contains: "Expected") // filter on part of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Error(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + If !=null and both and + have not been specified, + the event must contain the given string to be filtered. + + Warning() // filter all Warning events + Warning("message") // filter on exactly matching message + Warning(source: obj) // filter on event source + Warning(start: "Expected") // filter on start of message + Warning(contains: "Expected") // filter on part of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Warning(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + If !=null and both and + have not been specified, + the event must contain the given string to be filtered. + + Info() // filter all Info events + Info("message") // filter on exactly matching message + Info(source: obj) // filter on event source + Info(start: "Expected") // filter on start of message + Info(contains: "Expected") // filter on part of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Info(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + Create a filter for events. + takes priority over . + If !=null the event must match it to be filtered. + If !=null and has not been specified, + the event must start with the given string to be filtered. + If !=null and both and + have not been specified, + the event must contain the given string to be filtered. + + Debug() // filter all Debug events + Debug("message") // filter on exactly matching message + Debug(source: obj) // filter on event source + Debug(start: "Expected") // filter on start of message + Debug(contains: "Expected") // filter on part of message + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + Optional. If specified the event must match it exactly to be filtered. + Optional. If specified (and is not specified), the event must start with the string to be filtered. + Optional. If specified (and neither nor are specified), the event must contain the string to be filtered. + Optional. The event source. + The new filter + + + + Create a filter for events. Events must match the specified pattern to be filtered. + + Debug(pattern: new Regex("weird.*message"), source: obj) // filter on pattern and source + + Please note that filtering on the being + null does NOT work (passing null disables the source filter). + + + The event must match the pattern to be filtered. + >Optional. The event source. + The new filter + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Executes and + expects one event to be logged during the execution. + This method fails and throws an exception if more than one event is logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The action. + + + + Executes and + expects one event to be logged during the execution. + This method fails and throws an exception if more than one event is logged, + or if a timeout occurs. + + The time to wait for a log event after executing + The action. + + + + Executes and expects the specified number + of events to be logged during the execution. + This method fails and throws an exception if more events than expected are logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The expected number of events + The action. + + + + Executes and expects the specified number + of events to be logged during the execution. + This method fails and throws an exception if more events than expected are logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The time to wait for log events after executing + The expected number of events + The action. + + + + Executes and + expects one event to be logged during the execution. + This function fails and throws an exception if more than one event is logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The return value of the function + The function. + The returned value from . + + + + Executes and + expects one event to be logged during the execution. + This function fails and throws an exception if more than one event is logged, + or if a timeout occurs. + + The return value of the function + The time to wait for a log event after executing + The function. + The returned value from . + + + + Executes and expects the specified number + of events to be logged during the execution. + This function fails and throws an exception if more events than expected are logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The return value of the function + The expected number of events + The function. + The returned value from . + + + + Executes and expects the specified number + of events to be logged during the execution. + This function fails and throws an exception if more events than expected are logged, + or if a timeout occurs. The timeout is taken from the config value + "akka.test.filter-leeway", see . + + The return value of the function + The time to wait for log events after executing + The expected number of events + The function. + The returned value from . + + + + Executes and prevent events from being logged during the execution. + + The return value of the function + The function. + The returned value from . + + + + Executes and prevent events from being logged during the execution. + + The function. + The returned value from . + + + + Prevents events from being logged from now on. To allow events to be logged again, call + on the returned object. + + + var filter = EventFilter.Debug().Mute(); + ... + filter.Unmute(); + + + You may also use it like this: + + + using(EventFilter.Debug().Mute()) + { + ... + } + + + + TBD + + + + Let's you chain more filters together. Similar to Akka JVM's filterEvents + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + This exception is thrown when the specified does not implement . + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + TBD + + TBD + TBD + + + Internal! + Facilities for selectively filtering out expected events from logging so + that you can keep your test run’s console output clean and do not miss real + error messages. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Determines whether the specified event should be filtered or not. + + TBD + true to filter the event. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + Internal helper. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + This class represents an implementation of + that uses a as its backing store. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + The type of item to store. + + + + Initializes a new instance of the class. + + The queue to use as the backing store. + + + + Adds the specified item to the end of the queue. + + The item to add to the queue. + + + + + Retrieves all items from the queue. + + + This will remove all items from the queue. + + + An enumeration of all items removed from the queue. + + + + This class represents a queue with the same characteristics of a . + The queue can enqueue items at either the front (FIFO) or the end (LIFO) of the collection. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + The type of item to store. + + + + The number of items that are currently in the queue. + + + + + Adds the specified item to the end of the queue. + + The item to add to the queue. + + + + Adds the specified item to the front of the queue. + + The item to add to the queue. + + + + Tries to add the specified item to the end of the queue within the specified time period. + A token can be provided to cancel the operation if needed. + + The item to add to the queue. + The number of milliseconds to wait for the add to complete. + The cancellation token that can be used to cancel the operation. + true if the add completed within the specified timeout; otherwise, false. + + + + Tries to remove the specified item from the queue. + + The item to remove from the queue. + true if the item was removed; otherwise, false. + + + + Tries to remove the specified item from the queue within the specified time period. + A token can be provided to cancel the operation if needed. + + The item to remove from the queue. + The number of milliseconds to wait for the remove to complete. + The cancellation token that can be used to cancel the operation. + true if the remove completed within the specified timeout; otherwise, false. + + + + Removes an item from the collection. + + The cancellation token that can be used to cancel the operation. + + This exception is thrown when the operation is canceled. + + The item removed from the collection. + + + + An actor that enqueues received messages to a . + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + INTERNAL + This special ActorRef is exclusively for use during unit testing in a single-threaded environment. Therefore, it + overrides the dispatcher to CallingThreadDispatcher and sets the receiveTimeout to None. Otherwise, + it acts just like a normal ActorRef. You may retrieve a reference to the underlying actor to test internal logic. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + Directly inject messages into actor receive behavior. Any exceptions + thrown will be available to you, while still being able to use + become/unbecome. + + The message. + The sender. + + + + TBD + + TBD + + + + Registers this actor to be a death monitor of the provided ActorRef + This means that this actor will get a Terminated()-message when the provided actor + is permanently terminated. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + The subject to watch. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + + + Deregisters this actor from being a death monitor of the provided ActorRef + This means that this actor will not get a Terminated()-message when the provided actor + is permanently terminated. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + The subject to unwatch. + + + + TBD + + TBD + + + + INTERNAL + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + Adds the specified item to the queue. + The item. + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + Get all messages. + + TBD + + + + This class contains extension methods used to simplify working with TimeSpans. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Determine if the supplied has no value. + + The timespan used to check for a value + true if the given timespan has no value; otherwise, false. + + + + Determine if the supplied has zero ticks. + + The timespan used to check the number of ticks. + true if the given timespan has zero ticks; otherwise, false. + + + + Determine if the supplied has zero ticks. + + The timespan used to check the number of ticks. + true if the given timespan has zero ticks; otherwise, false. + + + + Determine if the supplied has one or more ticks. + + The timespan used to check the number of ticks. + true if the given timespan has one or more ticks; otherwise, false. + + + + Determine if the supplied has one or more ticks. + + The timespan used to check the number of ticks. + true if the given timespan has one or more ticks; otherwise, false. + + + + + Determine if the supplied has a negative number of ticks. + + + This is a relaxed definition of a . + For a stricter definition, use + + + The timespan used to check the number of ticks. + true if the given timespan has a negative number of ticks; otherwise, false. + + + + + Determine if the supplied has a negative number of ticks. + + + This is a relaxed definition of a . + For a stricter definition, use + + + The timespan used to check the number of ticks. + true if the given timespan has a negative number of ticks; otherwise, false. + + + + Determine if the supplied is equal to . + + The timespan used for comparison. + true if the given timespan is equal to ; otherwise, false. + + + + Determine if the supplied is equal to . + + The timespan used for comparison. + true if the given timespan is equal to ; otherwise, false. + + + + Throws an if the is not 0 or greater. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + The timespan used for comparison. + The name of the timespan. + + This exception is thrown when the given timespan has zero or less ticks. + + + + + + Compares two supplied timespans and returns the timespan with the least amount of positive ticks. + + + If is null it's treated as + undefined, and is returned. + + + The first timespan used for comparison. + The second timespan used for comparison + The timespan with the least amount of ticks between the two given timespans. + + + + TBD + + + + + Call this to let events that previously have been muted to be logged again. + + + + + EventListener for running tests, which allows selectively filtering out + expected messages. To use it, include something like this in + the configuration: + akka.loggers = ["Akka.TestKit.TestEventListener, Akka.TestKit"] + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Normally test classes has as implicit sender. + So when no sender is specified when sending messages, + is used. + When a a test class implements this behavior is removed and the normal + behavior is restored, i.e. is used as sender when no sender has been specified. + + + public class WithImplicitSender : TestKit + { + public void TheTestMethod() + { + ... + someActor.Tell("message"); //TestActor is used as Sender + someActor.Tell("message", TestActor); //TestActor is used as Sender + } + } + + public class WithNoImplicitSender : TestKit, INoImplicitSender + { + public void TheTestMethod() + { + ... + someActor.Tell("message"); //ActorRefs.NoSender is used as Sender + } + } + + + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + N/A + + + This exception is thrown automatically since this envelope does not contain a message. + + + + + N/A + + + This exception is thrown automatically since this envelope does not have a sender. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + A delegate that returns true if the should be ignored. + + The message. + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Message that is supposed to be sent to a to make it ignore + received messages. If the delegate specified on the constructor returns + true the message will be ignored by + + + + + TBD + + TBD + + + + TBD + + + + + Message that is supposed to be sent to a to make it watch + the specified actor and receive death notifications, + i.e. messages. + + + + + TBD + + TBD + + + + TBD + + + + + Message that is supposed to be sent to a to make it unwatch + a previously watched actor. + + + + + TBD + + TBD + + + + TBD + + + + + Message that is supposed to be sent to a + to install an AutoPilot to drive the : the AutoPilot + will be run for each received message and can be used to send or forward + messages, etc. Each invocation must return the AutoPilot for the next round. + + + + + TBD + + TBD + + + + TBD + + + + + This special ActorRef is exclusively for use during unit testing in a single-threaded environment. Therefore, it + overrides the dispatcher to and sets the receiveTimeout to None. Otherwise, + it acts just like a normal ActorRef. You may retrieve a reference to the underlying actor to test internal logic. + A can be implicitly casted to an or you can get the actual + from the property. + + The type of actor + + + + Initializes a new instance of the class. + + The system. + The actor props. + Optional: The supervisor. + Optional: The name. + + + + Compares a specified to an for equality. + + The test actor used for comparison + The actor used for comparison + true if both actors are equal; otherwise false + + + + Compares a specified to an for inequality. + + The test actor used for comparison + The actor used for comparison + true if both actors are not equal; otherwise false + + + + Compares a specified to an for equality. + + The actor used for comparison + The test actor used for comparison + true if both actors are equal; otherwise false + + + + Compares a specified to an for inequality. + + The actor used for comparison + The test actor used for comparison + true if both actors are not equal; otherwise false + + + + This is the base class for TestActorRefs + + The type of actor + + + + TBD + + TBD + TBD + TBD + TBD + + + + Directly inject messages into actor receive behavior. Any exceptions + thrown will be available to you, while still being able to use + become/unbecome. + + The message. + The sender. + + + + TBD + + + + + TBD + + + + + TBD + + + + + Gets the path of this instance + + + + + Sends a message to this actor. + If this call is made from within an actor, the current actor will be the sender. + If the call is made from a test class that is based on TestKit, TestActor will + will be the sender; + otherwise will be set as sender. + + The message. + + + + Forwards a message to this actor. + If this call is made from within an actor, the current actor will be the sender. + If the call is made from a test class that is based on TestKit, TestActor will + will be the sender; + + The message. + + + + Sends a message to this actor with the specified sender. + + The message. + The sender + + + + Registers this actor to be a death monitor of the provided ActorRef + This means that this actor will get a Terminated()-message when the provided actor + is permanently terminated. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + The subject to watch. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + + + Deregisters this actor from being a death monitor of the provided ActorRef + This means that this actor will not get a Terminated()-message when the provided actor + is permanently terminated. + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + + Returns the same ActorRef that is provided to it, to allow for cleaner invocations. + The subject to unwatch. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Compares a specified to an for equality. + + The test actor used for comparison + The actor used for comparison + true if both actors are equal; otherwise false + + + + Compares a specified to an for inequality. + + The test actor used for comparison + The actor used for comparison + true if both actors are not equal; otherwise false + + + + Compares a specified to an for equality. + + The actor used for comparison + The test actor used for comparison + true if both actors are equal; otherwise false + + + + Compares a specified to an for inequality. + + The actor used for comparison + The test actor used for comparison + true if both actors are not equal; otherwise false + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + A is an actor that silently + accepts any messages sent to it. + + + + + TBD + + TBD + TBD + + + + Returns a object that can be used to create a + + + + + An is an actor that echoes whatever is sent to it, to the + TestKit's . + By default it also echoes back to the sender, unless the sender is the + (in this case the will only receive one message). + + + + + TBD + + TBD + TBD + + + + Returns a object that can be used to create an . + The echoes whatever is sent to it, to the + TestKit's . + By default it also echoes back to the sender, unless the sender is the + (in this case the will only receive one message) or unless + has been set to false. + + TBD + TBD + TBD + + + + Wraps a for use in testing. + It always uses a timeout when waiting. + Timeouts will always throw an exception. The default timeout is based on + TestKits default out, see . + + + + + Obsolete. Use instead. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + This is a specialized form of the with support for querying and + setting the state of a . + + The type of the actor. + The type of the state. + The type of the data. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + Get current state name of this FSM. + + + Get current state data of this FSM. + + + + Change FSM state data; but do not transition to a new state name. + This method is directly equivalent to a transition initiated from within the FSM. + + TBD + TBD + + + + Change FSM state timeout. This method is directly equivalent to a + transition initiated from within the FSM using the current state name and data + but with the specified timeout. + + TBD + + + + Change FSM state; but keeps the current state data. + This method is directly equivalent to a transition initiated from within the FSM. + + TBD + TBD + + + + Change FSM state. This method is directly equivalent to a + corresponding transition initiated from within the FSM, including timeout + and stop handling. + + TBD + TBD + TBD + TBD + + + + Proxy for + + TBD + TBD + TBD + TBD + + + + Proxy for + + TBD + + + + Proxy for + + TBD + TBD + + + + Determines whether the FSM has a active state timer active. + + true if the FSM has a active state timer active; false otherwise + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Contains . + + + + + TBD + + TBD + + + + TBD + + + + + Unless you're creating a TestKit for a specific test framework, you should probably not inherit directly from this class. + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + + + Create a new instance of the class. + If no is passed in, a new system + with will be created. + + The framework-specific assertion tools. + Optional: The actor system. + Optional: The name of the TestActor. + + This exception is thrown when the given is undefined. + + + + + Create a new instance of the class. + A new system with the specified configuration will be created. + + TBD + The configuration to use for the system. + TBD + Optional: The name of the TestActor. + + This exception is thrown when the given is undefined. + + + + + Initializes the for a new spec. + + The actor system this test will use. Can be null. + The configuration that will use if it's null. + The name that will use if it's null. + The name of the test actor. Can be null. + + + + The that is recreated and used for each test. + + + + + The settings for the testkit. + + + + + The last to send a message to the . + + + + + The default TestKit configuration. + + + + + A full debugging configuration with all log settings enabled. + + + + + The current time. + + + + + The built-in used by . + + + + + The last message received by the . + + + + + The default TestActor. The actor can be controlled by sending it + special control messages, see , + , . + You can also install an to drive the actor, see + . All other messages are forwarded to the queue + and can be retrieved with Receive and the ExpectMsg overloads. + + + + + Filter sent to the system's . + In order to be able to filter the log the special logger + must be installed using the config + akka.loggers = ["Akka.TestKit.TestEventListener, Akka.TestKit"] + It is installed by default in testkit. + + + + + Creates a new event filter for the specified actor system. + + Actor system. + A new instance of . + + + + Returns true if messages are available. + + + true if messages are available; otherwise, false. + + + + + Ignore all messages in the test actor for which the given function + returns true. + + Given a message, if the function returns + true the message will be ignored by . + + + Stop ignoring messages in the test actor. + + + + Have the watch an actor and receive + messages when the actor terminates. + + The actor to watch. + The actor to watch, i.e. the parameter + + + + Have the stop watching an actor. + + The actor to unwatch. + The actor to unwatch, i.e. the parameter + + + + + Install an to drive the . + The will be run for each received message and can + be used to send or forward messages, etc. + + + Each invocation must return the AutoPilot for the next round. To reuse the + same return . + + + The pilot to install. + + + + + Retrieves the time remaining for execution of the innermost enclosing + Within block. + If missing that, then it returns the properly dilated default for this + case from settings (key: "akka.test.single-expect-default"). + + The returned value is always finite. + + + + + + Retrieves the time remaining for execution of the innermost enclosing + Within block. + + The returned value is always finite. + + + This exception is thrown when called from outside of `within`. + + + + + If inside a `within` block obtain time remaining for execution of the innermost enclosing `within` + block; otherwise returns the given duration. + + TBD + TBD + TBD + + + + If is finite it is returned after it has been scaled using . + If is undefined, it returns the remaining time (if within a `within` block) or the properly dilated + default from settings (key "akka.test.single-expect-default"). + If is infinite, an is thrown. + The returned value is always finite. + + The maximum. + A finite properly dilated + Thrown if is infinite + + + + Multiplies the duration with the , + i.e. the config value "akka.test.timefactor" + + TBD + TBD + + + + If is defined it is returned; otherwise + the config value "akka.test.single-expect-default" is returned. + + TBD + TBD + + + + Shuts down this system. + On failure debug output will be logged about the remaining actors in the system. + If verifySystemShutdown is true, then an exception will be thrown on failure. + + Optional. The duration to wait for shutdown. Default is 5 seconds multiplied with the config value "akka.test.timefactor". + if set to true an exception will be thrown on failure. + + + + Shuts down the specified system. + On failure debug output will be logged about the remaining actors in the system. + If verifySystemShutdown is true, then an exception will be thrown on failure. + + The system to shutdown. + The duration to wait for shutdown. Default is 5 seconds multiplied with the config value "akka.test.timefactor" + if set to true an exception will be thrown on failure. + TBD + + + + Creates a test actor with the specified name. The actor can be controlled by sending it + special control messages, see , + , , + . All other messages are forwarded to the queue + and can be retrieved with Receive and the ExpectMsg overloads. + The default test actor can be retrieved from the property + + The name of the new actor. + TBD + + + + Creates a new . + + Optional: The name of the probe. + A new instance. + + + + Creates a new . + + For multi-actor system tests, you can specify which system the node is for. + Optional: The name of the probe. + TBD + + + + Creates a Countdown latch wrapper for use in testing. + + It uses a timeout when waiting and timeouts are specified as durations. + There's a default timeout of 5 seconds and the default count is 1. + Timeouts will always throw an exception. + + Optional. The count. Default: 1 + A new + + + + Wraps a for use in testing. + It always uses a timeout when waiting. + Timeouts will always throw an exception. The default timeout is 5 seconds. + + TBD + TBD + + + + Create a new actor as child of . + + The props configuration object + TBD + + + + Create a new actor as child of . + + The props configuration object + The name of the actor. + TBD + + + + Create a new actor as child of . + + The type of the actor. It must have a parameterless public constructor + TBD + + + + Create a new actor as child of . + + The type of the actor. It must have a parameterless public constructor + The name of the actor. + TBD + + + + Create a new actor as child of using an expression that calls the constructor + of . + + ActorOf<MyActor>(()=>new MyActor("value", 4711)) + + + The type of the actor. + An expression that calls the constructor of + TBD + + + + Create a new actor as child of using an expression that calls the constructor + of . + + ActorOf<MyActor>(()=>new MyActor("value", 4711), "test-actor") + + + The type of the actor. + An expression that calls the constructor of + The name of the actor. + TBD + + + + Creates a new actor by defining the behavior inside the action. + + + ActorOf(c => + { + c.Receive<string>((msg, ctx) => ctx.Sender.Tell("Hello " + msg)); + }); + + + + An action that configures the actor's behavior. + Optional: The name of the actor. + TBD + + + + Creates a new actor by defining the behavior inside the action. + + + ActorOf(c => + { + c.Receive<string>((msg, ctx) => ctx.Sender.Tell("Hello " + msg)); + }); + + + + An action that configures the actor's behavior. + Optional: The name of the actor. + TBD + + + + Creates an + + The path of the actor(s) we want to select. + An ActorSelection + + + + Creates an + + The path of the actor(s) we want to select. + An ActorSelection + + + + Creates an + + The base actor that anchors the . + The path of the actor(s) we want to select. + An ActorSelection + + + + Create a new actor as child of specified supervisor and returns it as + to enable access to the underlying actor instance via . + + The type of the actor. It must have a parameterless public constructor + The object + The supervisor + Optional: The name. + TBD + + + + Create a new actor as child of and returns it as + to enable access to the underlying actor instance via . + + The type of the actor. It must have a parameterless public constructor + The object + Optional: The name. + TBD + + + + Create a new actor as child of the specified supervisor and returns it as + to enable access to the underlying actor instance via . + Uses an expression that calls the constructor of . + + ActorOf<MyActor>(()=>new MyActor("value", 4711), "test-actor") + + + The type of the actor. + An expression that calls the constructor of + The supervisor + Optional: The name. + TBD + + + + Create a new actor as child of and returns it as + to enable access to the underlying actor instance via . + Uses an expression that calls the constructor of . + + ActorOf<MyActor>(()=>new MyActor("value", 4711), "test-actor") + + + The type of the actor. + An expression that calls the constructor of + Optional: The name. + TBD + + + + Create a new actor as child of the specified supervisor and returns it as + to enable access to the underlying actor instance via . + + The type of the actor. It must have a parameterless public constructor + The supervisor + Optional: The name. + TBD + + + + Create a new actor as child of and returns it as + to enable access to the underlying actor instance via . + + The type of the actor. It must have a parameterless public constructor + Optional: The name. + TBD + + + + Create a new as child of the specified supervisor + and returns it as to enable inspecting and modifying the FSM directly. + + The type of the actor. It must be a + The type of state name + The type of state data + The object + The supervisor + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of + and returns it as to enable inspecting and modifying the FSM directly. + + The type of the actor. It must be a and have a public parameterless constructor + The type of state name + The type of state data + The object + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of the specified supervisor + and returns it as to enable inspecting and modifying the FSM directly. + must have a public parameterless constructor. + + The type of the actor. It must have a parameterless public constructor + The type of state name + The type of state data + The supervisor + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of + and returns it as to enable inspecting and modifying the FSM directly. + must have a public parameterless constructor. + + The type of the actor. It must have a parameterless public constructor + The type of state name + The type of state data + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of the specified supervisor + and returns it as to enable inspecting and modifying the FSM directly. + Uses an expression that calls the constructor of . + + The type of the actor. + The type of state name + The type of state data + An expression that calls the constructor of + The supervisor + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Create a new as child of + and returns it as to enable inspecting and modifying the FSM directly. + Uses an expression that calls the constructor of . + + The type of the actor. + The type of state name + The type of state data + An expression that calls the constructor of + Optional: The name. + Optional: If set to true logs state changes of the FSM as Debug messages. Default is false. + TBD + + + + Await until the given assertion does not throw an exception or the timeout + expires, whichever comes first. If the timeout expires the last exception + is thrown. + The action is called, and if it throws an exception the thread sleeps + the specified interval before retrying. + If no timeout is given, take it from the innermost enclosing `within` + block. + Note that the timeout is scaled using , + which uses the configuration entry "akka.test.timefactor". + + The action. + The timeout. + The interval to wait between executing the assertion. + + + + Await until the given condition evaluates to true or until a timeout + The timeout is taken from the innermost enclosing `within` + block (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor".. + A call to is done immediately, then the threads sleep + for about a tenth of the timeout value, before it checks the condition again. This is repeated until + timeout or the condition evaluates to true. To specify another interval, use the overload + + + + The condition that must be fulfilled within the duration. + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor".. + A call to is done immediately, then the threads sleep + for about a tenth of the timeout value, before it checks the condition again. This is repeated until + timeout or the condition evaluates to true. To specify another interval, use the overload + + + + The condition that must be fulfilled within the duration. + The maximum duration. If undefined, uses the remaining time + (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor".. + A call to is done immediately, then the threads sleep + for about a tenth of the timeout value, before it checks the condition again. This is repeated until + timeout or the condition evaluates to true. To specify another interval, use the overload + + + + The condition that must be fulfilled within the duration. + The maximum duration. If undefined, uses the remaining time + (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The message used if the timeout expires. + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block. + Note that the timeout is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The parameter specifies the time between calls to + Between calls the thread sleeps. If is undefined the thread only sleeps + one time, using the as duration, and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not leave this value as undefined, + instead set it to a relatively small value. + + The condition that must be fulfilled within the duration. + The maximum duration. If undefined, uses the remaining time + (if inside a `within` block) or the value specified in config value "akka.test.single-expect-default". + The value is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The time between calls to to check + if the condition is fulfilled. Between calls the thread sleeps. If undefined, negative or + the thread only sleeps one time, using the , + and then rechecks the condition and ultimately succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not set this value as undefined, + instead set it to a relatively small value. + + The message used if the timeout expires. + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. Returns true if the condition was fulfilled. + The parameter specifies the time between calls to + Between calls the thread sleeps. If is not specified or null 100 ms is used. + + The condition that must be fulfilled within the duration. + The maximum duration. + Optional. The time between calls to to check + if the condition is fulfilled. Between calls the thread sleeps. If undefined, 100 ms is used + + TBD + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block. + Note that the timeout is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The parameter specifies the time between calls to + Between calls the thread sleeps. If is undefined the thread only sleeps + one time, using the as duration, and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not leave this value as undefined, + instead set it to a relatively small value. + + The condition that must be fulfilled within the duration. + The maximum duration. The value is dilated, i.e. + scaled by the factor specified in config value "akka.test.timefactor". + The time between calls to to check + if the condition is fulfilled. Between calls the thread sleeps. If undefined the thread only sleeps + one time, using the , and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not set this value as undefined, + instead set it to a relatively small value. + + Action that is called when the timeout expired. + The parameters conforms to + TBD + + + + Await until the given condition evaluates to true or the timeout + expires, whichever comes first. + If no timeout is given, take it from the innermost enclosing `within` + block. + Note that the timeout is dilated, i.e. scaled by the factor + specified in config value "akka.test.timefactor". + The parameter specifies the time between calls to + Between calls the thread sleeps. If is undefined the thread only sleeps + one time, using the as duration, and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not leave this value as undefined, + instead set it to a relatively small value. + + The condition that must be fulfilled within the duration. + The maximum duration. The value is dilated, i.e. + scaled by the factor specified in config value "akka.test.timefactor". + The time between calls to to check + if the condition is fulfilled. Between calls the thread sleeps. If undefined the thread only sleeps + one time, using the , and then rechecks the condition and ultimately + succeeds or fails. + To make sure that tests run as fast as possible, make sure you do not set this value as undefined, + instead set it to a relatively small value. + + Action that is called when the timeout expired. + The parameters conforms to + If a is specified, debug messages will be logged using it. If null nothing will be logged + TBD + + + + Receive one message from the test actor and assert that it is of the specified type. + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that it + equals the . + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that the given + predicate accepts it. + Use this variant to implement more complicated or conditional processing. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and calls the + action that performs extra assertions. + Use this variant to implement more complicated or conditional processing. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that the given + predicate accepts it. + Use this variant to implement more complicated or conditional processing. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor calls the + action that performs extra assertions. + Use this variant to implement more complicated or conditional processing. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message from the test actor and assert that it is equal to the expected value, + according to the specified comparer function. + + Wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message from the test actor and assert that it is the Terminated message of the given ActorRef. + + Wait time is bounded by the given duration, if specified; otherwise + wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and calls the optional + action that performs extra assertions. Wait time is bounded by the given duration. + Use this variant to implement more complicated or conditional processing. + + + + + Assert that no message is received. + + Wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + + + + Assert that no message is received for the specified time. + + TBD + + + + Assert that no message is received for the specified time in milliseconds. + + TBD + + + + Receive a message from the test actor and assert that it equals + one of the given . Wait time is bounded by + as duration, with an assertion exception being thrown in case of timeout. + + The type of the messages + The messages. + The received messages in received order + + + + Receive a number of messages from the test actor matching the given + number of objects and assert that for each given object one is received + which equals it and vice versa. This construct is useful when the order in + which the objects are received is not fixed. Wait time is bounded by + as duration, with an assertion exception being thrown in case of timeout. + + + dispatcher.Tell(SomeWork1()) + dispatcher.Tell(SomeWork2()) + ExpectMsgAllOf(TimeSpan.FromSeconds(1), Result1(), Result2()) + + + The type of the messages + The messages. + The received messages in received order + + + + Receive a number of messages from the test actor matching the given + number of objects and assert that for each given object one is received + which equals it and vice versa. This construct is useful when the order in + which the objects are received is not fixed. Wait time is bounded by the + given duration, with an assertion exception being thrown in case of timeout. + + + dispatcher.Tell(SomeWork1()) + dispatcher.Tell(SomeWork2()) + ExpectMsgAllOf(TimeSpan.FromSeconds(1), Result1(), Result2()) + + The deadline is scaled by "akka.test.timefactor" using . + + The type of the messages + The deadline. The deadline is scaled by "akka.test.timefactor" using . + The messages. + The received messages in received order + + + + Receive one message from the test actor and assert that it is of the specified type + and was sent by the specified sender + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that it + equals the and was sent by the specified sender + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that the given + predicate accepts it and was sent by the specified sender + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + Use this variant to implement more complicated or conditional processing. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and assert that the given + predicate accepts it and was sent by a sender that matches the predicate. + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + Use this variant to implement more complicated or conditional processing. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor, verifies that the sender is the specified + and calls the action that performs extra assertions. + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + Use this variant to implement more complicated or conditional processing. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive one message of the specified type from the test actor and calls the + action that performs extra assertions. + Wait time is bounded by the given duration if specified. + If not specified, wait time is bounded by remaining time for execution of the innermost enclosing 'within' + block, if inside a 'within' block; otherwise by the config value + "akka.test.single-expect-default". + Use this variant to implement more complicated or conditional processing. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receives messages until returns true. + Use it to ignore certain messages while waiting for a specific message. + + The is message. + The maximum. + The hint. + Returns the message that matched + + + + Receives messages until returns true. + Use it to ignore certain messages while waiting for a specific message. + + The type of the expected message. Messages of other types are ignored. + The is message. + The maximum. + The hint. + Returns the message that matched + + + + Receive one message from the internal queue of the TestActor. + This method blocks the specified duration or until a message + is received. If no message was received, null is returned. + This method does NOT automatically scale its Duration parameter using ! + + The maximum duration to wait. + If null the config value "akka.test.single-expect-default" is used as timeout. + If set to a negative value or , blocks forever. + This method does NOT automatically scale its Duration parameter using ! + The message if one was received; null otherwise + + + + Receive one message from the internal queue of the TestActor. + This method blocks until cancelled. + + A token used to cancel the operation + The message if one was received; null otherwise + + + + Receive one message from the internal queue of the TestActor within + the specified duration. The method blocks the specified duration. + Note! that the returned + is a containing the sender and the message. + This method does NOT automatically scale its Duration parameter using ! + + The received envelope. + Optional: The maximum duration to wait. + If null the config value "akka.test.single-expect-default" is used as timeout. + If set to a negative value or , blocks forever. + This method does NOT automatically scale its Duration parameter using ! + True if a message was received within the specified duration; false otherwise. + + + + Receive one message from the internal queue of the TestActor within + the specified duration. + True is returned if a message existed, and the message + is returned in . The method blocks the + specified duration, and can be cancelled using the + . + + This method does NOT automatically scale its duration parameter using ! + + The received envelope. + The maximum duration to wait. + If null the config value "akka.test.single-expect-default" is used as timeout. + If set to , blocks forever (or until cancelled). + This method does NOT automatically scale its Duration parameter using ! + + A token used to cancel the operation. + True if a message was received within the specified duration; false otherwise. + + + + Receive a series of messages until the function returns null or the overall + maximum duration is elapsed or expected messages count is reached. + Returns the sequence of messages. + + Note that it is not an error to hit the `max` duration in this case. + The max duration is scaled by + + TBD + TBD + TBD + TBD + TBD + + + + Receive a series of messages until the function returns null or the idle + timeout is met or the overall maximum duration is elapsed or + expected messages count is reached. + Returns the sequence of messages. + + Note that it is not an error to hit the `max` duration in this case. + The max duration is scaled by + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive a series of messages until the function returns null or the idle + timeout is met (disabled by default) or the overall + maximum duration is elapsed or expected messages count is reached. + Returns the sequence of messages. + + Note that it is not an error to hit the `max` duration in this case. + The max duration is scaled by + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive a series of messages. + It will continue to receive messages until the predicate returns false or the idle + timeout is met (disabled by default) or the overall + maximum duration is elapsed or expected messages count is reached. + If a message that isn't of type the parameter + declares if the message should be ignored or not. + Returns the sequence of messages. + + Note that it is not an error to hit the `max` duration in this case. + The max duration is scaled by + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + Receive the specified number of messages using as timeout. + + The number of messages. + The received messages + + + + Receive the specified number of messages in a row before the given deadline. + The deadline is scaled by "akka.test.timefactor" using . + + The number of messages. + The timeout scaled by "akka.test.timefactor" using . + The received messages + + + + Execute code block while bounding its execution time between 0 seconds and . + `within` blocks may be nested. All methods in this class which take maximum wait times + are available in a version which implicitly uses the remaining time governed by + the innermost enclosing `within` block. + Note that the max duration is scaled using which uses the config value "akka.test.timefactor" + + TBD + TBD + TBD + + + + Execute code block while bounding its execution time between and . + `within` blocks may be nested. All methods in this class which take maximum wait times + are available in a version which implicitly uses the remaining time governed by + the innermost enclosing `within` block. + Note that the max duration is scaled using which uses the config value "akka.test.timefactor" + + TBD + TBD + TBD + TBD + TBD + + + + Execute code block while bounding its execution time between 0 seconds and . + `within` blocks may be nested. All methods in this class which take maximum wait times + are available in a version which implicitly uses the remaining time governed by + the innermost enclosing `within` block. + Note that the max duration is scaled using which uses the config value "akka.test.timefactor" + + TBD + TBD + TBD + TBD + TBD + + + + Execute code block while bounding its execution time between and . + `within` blocks may be nested. All methods in this class which take maximum wait times + are available in a version which implicitly uses the remaining time governed by + the innermost enclosing `within` block. + Note that the max duration is scaled using which uses the config value "akka.test.timefactor" + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + A extension to be used together with the TestKit. + + To get the settings: + var testKitSettings = TestKitExtension.For(system); + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Contains settings to be used when writing tests with TestKit. + + + + + Initializes a new instance of the class. + + The configuration to use when setting up the tests. + + This exception is thrown when a negative value is given for the akka.test.timefactor configuration item. + + + + + Gets the default timeout as specified in the setting akka.test.default-timeout. + Typically used for Ask-timeouts. It is always finite. + + + + Gets the config value "akka.test.single-expect-default". It is always finite. + + + Gets the config value "akka.test.filter-leeway". It is always finite. + + + + Gets the timefactor by which all values are scaled by. + + The tight timeouts you use during testing on your lightning-fast notebook + will invariably lead to spurious test failures on the heavily loaded + CI server. To account for this situation, all maximum durations are + internally scaled by this factor, which defaults to 1. To change this value + set configuration "akka.test.timefactor" to a positive double/integer. + + You can scale other durations with the same factor by using the + Testkit.Dilated + + + + + + If set to true calls to testkit will be logged. + This is enabled by setting the configuration value "akka.test.testkit.debug" to a true. + + + + + A count down latch that initially is closed. In order for it to become open must be called. + By default one call is enough, but this can be changed by specifying the count in the constructor. + + By default a timeout of 5 seconds is used. + + When created using TestKit.CreateTestLatch the default + timeout from is used and all timeouts are dilated, i.e. multiplied by + + + Timeouts will always throw an exception. + + + + + Obsolete. This field will be removed. is an alternative. + + + + + Initializes a new instance of the class with count = 1, i.e. the + instance will become open after one call to . + The default timeout is set to 5 seconds. + + + + + Initializes a new instance of the class with the specified count, i.e + number of times must be called to make this instance become open. + The default timeout is set to 5 seconds. + + TBD + + + + Initializes a new instance of the class with the specified count, i.e + number of times must be called to make this instance become open. + + TBD + TBD + + + + Creates a TestLatch with the specified dilate function, timeout and count. + Intended to be used by TestKit. + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Gets a value indicating whether the latch is open. + + + + + Count down the latch. + + + + + Make this instance become open. + + + + + Reset this instance to the initial count, making it become closed. + + + + + Expects the latch to become open within the specified timeout. If the timeout is reached, a + is thrown. + + If this instance has been created using TestKit.CreateTestLatch + is dilated, i.e. multiplied by + + + TBD + + This exception is thrown when a too large timeout has been specified. + + + This exception is thrown when the timeout is reached. + + + + + Expects the latch to become open within the default timeout. If the timeout is reached, a + is thrown. + If no timeout was specified when creating this instance, 5 seconds is used. + If this instance has been created using TestKit.CreateTestLatch the default + timeout from is used and dilated, i.e. multiplied by + + + + + This exception is thrown when the timeout is reached. + + + + + TestKit-based probe which allows sending, reception and reply. + Use inside your test + to create new instances. + + + + + TBD + + TBD + TBD + TBD + + + Gets the reference of this probe. + + + Gets the sender of the last message + + + + Send message to an actor while using the probe as the sender. + Replies will be available for inspection with all of TestKit's assertion + methods. + + The actor. + The message. + + + + Forwards a message to the specified actor. As sender the sender of the last message is used. + + The actor to forward to. + The message. + + + + Forwards the last received message to the specified actor as if the + was sent directly to the actor in the first place. + + The actor to forward to. + + + + Send message to the sender of the last received message. + + The message. + + + + N/A + + N/A + + This exception is thrown since a cannot be created from a . + + N/A + + + + Sends a system message to the test probe + + The message to send + NOT USED. + + + + Sends a system message to the test probe + + The message to send + + + + Compares the underlying actor ref to the object. + + The object to be compared to; ideally an . + An integer indicating if the actor sorts higher, lower, or equal to . + + + + + + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown when the specified offset is less than the currently tracked time. + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + +
+
diff --git a/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.dll b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.dll new file mode 100644 index 00000000..ac5b90a1 Binary files /dev/null and b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.dll differ diff --git a/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.xml b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.xml new file mode 100644 index 00000000..dcaea096 --- /dev/null +++ b/tests/dependencies/Akka.TestKit/netstandard1.6/Akka.xml @@ -0,0 +1,26577 @@ + + + + Akka + + + + + This interface represents the parts of the internal actor state; the behavior stack, watched by, watching and termination queue + + + + + Removes the provided from the `Watching` set + + The to be removed + TBD + + + + Removes the provided from the `WatchedBy` set + + The to be removed + TBD + + + + Removes the provided from the `Termination queue` set + + The to be removed + TBD + + + + Adds the provided to the `Watching` set + + The to be added + TBD + + + + Adds the provided to the `WatchedBy` set + + The to be added + TBD + + + + Adds the provided to the `Termination queue` set + + The to be added + TBD + + + + Clears the `Watching` set + + TBD + + + + Clears the `Termination queue` set + + TBD + + + + Clears the `Behavior` stack + + TBD + + + + Replaces the current receive behavior with a new behavior + + The new behavior + TBD + + + + Pushes a new receive behavior onto the `Behavior` stack + + The new top level behavior + TBD + + + + Removes the top level receive behavior from the `Behavior` stack + + TBD + + + + Determines whether the provided is present in the `Watching` set + + The to locate in the `Watching` set + TBD + + + + Determines whether the provided is present in the `WatchedBy` set + + The to locate in the `WatchedBy` set + TBD + + + + Determines whether the provided is present in the `Termination queue` set + + The to locate in the `Termination queue` set + TBD + + + + Returns an over the `Watching` set + + TBD + + + + Returns an over the `WatchedBy` set + + TBD + + + + Returns an over the `Termination queue` set + + TBD + + + + Returns the top level receive behavior from the behavior stack + + TBD + + + + Represents the default start up state for any actor. + This state provides capacity for one `WatchedBy` and one `Receive` behavior + As soon as this container is no longer enough to contain the current state + The state container will escalate into a `FullActorState` instance + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Represents the full state of an actor, this is used whenever an actor need more state than the `DefaultActorState` container can contain + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Classes for passing status back to the sender. + Used for internal ACKing protocol, but also exposed as a utility class for user-specific ACKing if needed. + + + + + Indicates the success of some operation which has been performed + + + + + TBD + + + + + TBD + + TBD + + + + Indicates the failure of some operation that was requested and includes an + describing the underlying cause of the problem. + + + + + The cause of the failure + + + + + Initializes a new instance of the class. + + The cause of the failure + + + + + + + Interface ILogReceive + + + + + Contains things needed by the framework + + + + Gets the context for this instance. + The context. + + This exception is thrown if there is no active Context. The most likely cause is due to use of async operations from within this actor. + + + + + Class ActorBase. + + + + + Initializes a new instance of the class. + + + This exception is thrown when an actor is created using new. Always create actors using an ActorContext/System. + + + + + Gets the sending ActorRef of the current message + + The sender ActorRef + + + + Gets the self ActorRef + + Self ActorRef + + + + Gets the context. + + The context. + + This exception is thrown if there is no active ActorContext. The most likely cause is due to use of async operations from within this actor. + + + + + Gets the context. + + The context. + + This exception is thrown if there is no active Context. The most likely cause is due to use of async operations from within this actor. + + + + + TBD + + TBD + TBD + TBD + + + + Processor for user defined messages. + + The message. + TBD + + + + EmptyReceive is a Receive-delegate that matches no messages at all, ever. + + + + + Is called when a message isn't handled by the current behavior of the actor + by default it fails with either a (in + case of an unhandled message) or publishes an + to the actor's system's + + The unhandled message. + + This exception is thrown if the given is a message. + + + + + Changes the actor's command behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + Reverts the Actor behavior to the previous one on the behavior stack. + + + + + TBD + + TBD + + + + TBD + + + + + + Defines the inactivity timeout after which the sending of a message is triggered. + When specified, the receive function should be able to handle a message. + + + + Please note that the receive timeout might fire and enqueue the message right after + another message was enqueued; hence it is not guaranteed that upon reception of the receive + timeout there must have been an idle period beforehand as configured via this method. + + + + Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity + periods). Pass in null to switch off this feature. + + + The timeout. Pass in null to switch off this feature. + + + + Can be overridden to intercept calls to `PreRestart`. Calls `PreRestart` by default. + + The cause. + The message. + + + + Can be overridden to intercept calls to `PreStart`. Calls `PreStart` by default. + + + + + User overridable callback. +

+ Is called when an Actor is started. + Actors are automatically started asynchronously when created. + Empty default implementation. +

+
+ + + Can be overridden to intercept calls to `PostRestart`. Calls `PostRestart` by default. + + The cause. + The message. + + + + User overridable callback: '''By default it disposes of all children and then calls `postStop()`.''' +

+ Is called on a crashed Actor right BEFORE it is restarted to allow clean + up of resources before Actor is terminated. +

+ the Exception that caused the restart to happen. + optionally the current message the actor processed when failing, if applicable. +
+ + + User overridable callback: By default it calls `PreStart()`. +

+ Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash. +

+ the Exception that caused the restart to happen. +
+ + + Can be overridden to intercept calls to `PostStop`. Calls `PostStop` by default.. + + + + + User overridable callback. +

+ Is called asynchronously after 'actor.stop()' is invoked. + Empty default implementation. +

+
+ + + Gets or sets a . + When getting, if a previously has been set it's returned; otherwise calls + SupervisorStrategy(), stores and returns it. + + + + + TBD + + TBD + + + + TBD + + + Class ActorCell. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is an invalid actor name. + + + This exception is thrown if a pre-creation serialization occurred. + + + This exception is thrown if the actor tries to create a child while it is terminating or is terminated. + + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given is an invalid actor name. + + + This exception is thrown if a pre-creation serialization occurred. + + + This exception is thrown if the actor tries to create a child while it is terminating or is terminated. + + TBD + + + + Stops the specified child. + + The child. + + + + Swaps out the children container, by calling to produce the new container. + If the underlying container has been updated while was called, + will be called again with the new container. This will repeat until the + container can be swapped out, or until contains false. + The returned tuple should contain: + Item1: true if the container should be updated; false to not update and return Item3 + Item2: The new container (will only be used if Item1=true) + Item3: The return value + + A function that returns a new container. + The third value of the tuple that returned. + + + + Swaps out the children container, by calling to produce the new container. + If the underlying container has been updated while was called, + will be called again with the new container. This will repeat until the + container can be swapped out. + + A function that returns a new container. + The new updated + + + + TBD + + TBD + + + + TBD + + TBD + + + + This should only be used privately or when creating the root actor. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Suspends the children. + + + + + Resumes the children. + + + + + Tries to get the stats for the child with the specified name. The stats can be either + indicating that only a name has been reserved for the child, or a for a child that + has been initialized/created. + + TBD + TBD + TBD + + + + Tries to get the stats for the child with the specified name. This ignores children for whom only names have been reserved. + + + + + Tries to get the stats for the specified child. + Since the child exists is the only valid . + + TBD + TBD + TBD + + + + Obsolete. Use instead. + + N/A + N/A + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + NOTE! Only constructor and ClearActorFields is allowed to update this + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Initialize this cell, i.e. set up mailboxes and supervision. The UID must be + reasonably different from the previous UID of a possible actor with the same path, + which can be achieved by using + + TBD + TBD + + + + Obsolete. Use instead. + + N/A + N/A + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + When this actor is watching the subject of message + it will be propagated to user's receive. + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Starts subscription to AddressTerminated if not already subscribing and the + block adds a non-local ref to watching or watchedBy. + Ends subscription to AddressTerminated if subscribing and the + block removes the last non-local ref from watching and watchedBy. + + TBD + TBD + + + + Gets the type of the actor. + + The type of the actor. + + + + TBD + + + + + Invokes the specified envelope. + + The envelope. + + This exception is thrown if a message is included in the given . + > + + + + If the envelope.Sender property is null, then we'll substitute + Deadletters as the of this message. + + The envelope we received + An IActorRef that corresponds to a Sender + + + + TBD + + TBD + + This exception is thrown if a message is included in the given . + + + + + This is only intended to be called from TestKit's TestActorRef + + TBD + + + + TBD + + TBD + + + + Receives the selection. + + The m. + + + + Used to invoke system messages. + + The envelope. + + This exception is thrown if a system message is included in the given . + + + This exception is thrown if an unknown message type is included in the given . + + + + + TBD + + TBD + TBD + + + + Publishes the specified event. + + The event. + + + + Handles the identity. + + The m. + + + + Handles the poison pill. + + + + + Restarts the specified cause. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + The cause. + + + + Starts this instance. + + + + + Allow extra pre-start initialization in derived classes + + + + + Resumes the specified caused by failure. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + The caused by failure. + + + + Async stop this actor + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + + + + Suspends this instance. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + + + + TBD + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + TBD + + + Re-create the actor in response to a failure. + + + + Suspends the actor in response to a failure of a parent (i.e. the "recursive suspend" feature). + + + + + Resumes the actor in response to a failure + + The exception that caused the failure. signifies if it was our own failure + which prompted this action. + + + + Create the actor in response to a failure + + + + Terminates this instance. + + + + Handles the non fatal or interrupted exception. + + The action. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Actor path is a unique path to an actor that shows the creation path + up through the actor tree to the root actor. + ActorPath defines a natural ordering (so that ActorRefs can be put into + collections with this requirement); this ordering is intended to be as fast + as possible, which owing to the bottom-up recursive nature of ActorPath + is sorted by path elements FROM RIGHT TO LEFT, where RootActorPath > + ChildActorPath in case the number of elements is different. + Two actor paths are compared equal when they have the same name and parent + elements, including the root address information. That does not necessarily + mean that they point to the same incarnation of the actor if the actor is + re-created with the same path. In other words, in contrast to how actor + references are compared the unique id of the actor is not taken into account + when comparing actor paths. + + + + + This class represents a surrogate of an . + Its main use is to help during the serialization process. + + + + + Initializes a new instance of the class. + + The string representation of the actor path. + + + + The string representation of the actor path + + + + + Creates an encapsulated by this surrogate. + + The actor system that contains this actor path. + The encapsulated by this surrogate. + + + + + + + + + + + + + + + INTERNAL API + + TBD + + + + + Method that checks if actor name conforms to RFC 2396, http://www.ietf.org/rfc/rfc2396.txt + Note that AKKA JVM does not allow parenthesis ( ) but, according to RFC 2396 those are allowed, and + since we use URL Encode to create valid actor names, we must allow them. + + TBD + TBD + + + + Initializes a new instance of the class. + + The address. + The name. + + + + Initializes a new instance of the class. + + The parent path. + The name. + The uid. + + + + Gets the uid. + + The uid. + + + + This method pursuits optimization goals mostly in terms of allocations. + We're computing elements chain only once and storing it in . + Computed chain meant to be reused not only by calls to + but also during chain computation of children actors. + + + + + Gets the elements. + + The elements. + + + + INTERNAL API. + + Used in Akka.Remote - when resolving deserialized local actor references + we need to be able to include the UID at the tail end of the elements. + + It's implemented in this class because we don't have an ActorPathExtractor equivalent. + + + + + Gets the name. + + The name. + + + + The Address under which this path can be reached; walks up the tree to + the RootActorPath. + + The address. + + + + TBD + + + + + TBD + + + + + + + + + + + Withes the uid. + + The uid. + ActorPath. + + + + Creates a new with the specified parent + and the specified . + + The parent path of the newly created actor path + The name of child actor path + A newly created + + + + Creates a new by appending all the names in + to the specified . + + The base path of the newly created actor path. + The names being appended to the specified . + A newly created + + + + Creates an from the specified . + + The string representing a possible + + This exception is thrown if the given cannot be parsed into an . + + A newly created + + + + Tries to parse the uri, which should be a full uri, i.e containing protocol. + For example "akka://System/user/my-actor" + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Joins this instance. + + System.String. + + + + String representation of the path elements, excluding the address + information. The elements are separated with "/" and starts with "/", + e.g. "/user/a/b". + + System.String. + + + + + + + Returns a string representation of this instance including uid. + + TBD + + + + Creates a child with the specified name + + Name of the child. + ActorPath. + + + + + + + + + + Compares two specified actor paths for equality. + + The first actor path used for comparison + The second actor path used for comparison + true if both actor paths are equal; otherwise false + + + + Compares two specified actor paths for inequality. + + The first actor path used for comparison + The second actor path used for comparison + true if both actor paths are not equal; otherwise false + + + + Generate String representation, with the address in the RootActorPath. + + System.String. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Generate String representation, replacing the Address in the RootActorPath + with the given one unless this path’s address includes host and port + information. + + The address. + System.String. + + + + TBD + + TBD + TBD + + + + Creates a surrogate representation of the current . + + The actor system that references this actor path. + The surrogate representation of the current . + + + + Class RootActorPath. + + + + + Initializes a new instance of the class. + + The address. + The name. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + This exception is thrown if the given is not equal to 0. + TBD + + + + TBD + + TBD + TBD + + + + Class ChildActorPath. + + + + + Initializes a new instance of the class. + + The parent path. + The name. + The uid. + + + + TBD + + + + + TBD + + + + + Creates a copy of the given ActorPath and applies a new Uid + + The uid. + ActorPath. + + + + + + + Plugin interface used to define + + + + + Determines if current plugin can be applied to provided actor based on it's type. + + TBD + TBD + + + + Plugin behavior applied to underlying instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to underlying instance before the actor is being recycled. + + TBD + TBD + + + + Base actor producer pipeline plugin class. + + + + + By default derivatives of this plugin will be applied to all actors. + + TBD + TBD + + + + Plugin behavior applied to instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to instance before the actor is being recycled. + + TBD + TBD + + + + Base generic actor producer pipeline plugin class. + + + + + By default derivatives of this plugin will be applied to all actors inheriting from actor generic type. + + TBD + TBD + + + + Plugin behavior applied to instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to instance before the actor is being recycled. + + TBD + TBD + + + + Class used to resolving actor producer pipelines depending on actor type. + + + + + Gets total number of unique plugins registered inside current resolver. + + + + + TBD + + TBD + + + + Register target at the end of producer pipeline. + + TBD + True if plugin was registered (it has not been found in pipeline already). False otherwise. + + + + Register target inside producer pipeline at specified . + + TBD + TBD + True if plugin was registered (it has not been found in pipeline already). False otherwise. + + + + Unregisters plugin from producer pipeline, returning false if plugin was not found. + + TBD + TBD + + + + Returns true if current actor producer pipeline already has registered provided plugin type. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Resolves and applies all plugins valid to specified underlying + registered in current producer pipeline to newly created actor. + + TBD + TBD + + + + Resolves and applies all plugins valid to specified underlying + registered in current producer pipeline before old actor would be recycled. + + TBD + TBD + + + + TBD + + TBD + + + + INTERNAL API + + All ActorRefs have a scope which describes where they live. Since it is often + necessary to distinguish between local and non-local references, this is the only + method provided on the scope. + + + + + Returns true if the actor is local to this . + Returns false if the actor is remote. + + + + + Marker interface for Actors that are deployed within local scope, + i.e. always returns true. + + + + + INTERNAL API + + RepointableActorRef (and potentially others) may change their locality at + runtime, meaning that isLocal might not be stable. RepointableActorRef has + the feature that it starts out "not fully started" (but you can send to it), + which is why features here; it is not improbable that cluster + actor refs will have the same behavior. + + + + + Retruns true if this actor has started yet. false otherwise. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + INTERNAL API. + + + + + Gets the current actor, if any. Otherwise . + + The current , if applicable. If not, . + + + + An actor reference. Acts as a handle to an actor. Used to send messages to an actor, whether an actor is local or remote. + If you receive a reference to an actor, that actor is guaranteed to have existed at some point + in the past. However, an actor can always be terminated in the future. + + If you want to be notified about an actor terminating, call + on this actor and you'll receive a message when the actor dies or if it + is already dead. + + Actor references can be serialized and passed over the network. + + + + The path of this actor. Can be used to extract information about whether or not this actor is local or remote. + + + + + Extension method class. Used to deliver messages to instances + via and and pass along information about the current sender. + + + + + Asynchronously tells a message to an . + + The actor who will receive the message. + The message. + Will automatically resolve the current sender using the current , if any. + + + + Forwards the message using the current Sender + + The actor that receives the forward + The message to forward + + + + TBD + + + + + TBD + + + + + Use this value as an argument to if there is not actor to + reply to (e.g. when sending from non-actor code). + + + + + TBD + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + TBD + + TBD + + + + TBD + + + + + Creates an encapsulated by this surrogate. + + The actor system that contains this . + The encapsulated by this surrogate. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + + + + + + + + + + + This exception is thrown if the given isn't an . + + + + + + + + + + + Creates a surrogate representation of the current . + + The actor system that references this . + The surrogate representation of the current . + + + + INTERNAL API. + + Used by built-in implementations for handling + internal operations that are not exposed directly to end-users. + + + + + The parent of this actor. + + + + + The used by the + to which this actor belongs. + + + + + Obsolete. Use or Receive<> + + + + + Obtain a child given the paths element to that actor, by possibly traversing the actor tree or + looking it up at some provider-specific location. + A path element of ".." signifies the parent, a trailing "" element must be disregarded. + If the requested path does not exist, returns . + + The path elements. + The , or if the requested path does not exist, returns . + + + + Resumes an actor if it has been suspended. + + Optional. Passed in if the actor is resuming as a result of recovering from failure. + + + + Start a newly created actor. + + + + + Stop the actor. Terminates it permanently. + + + + + Restart the actor. + + The exception that caused the actor to fail in the first place. + + + + Suspend the actor. Actor will not process any more messages until is called. + + + + + Obsolete. Use instead. + + N/A + N/A + + + + Sends an to the underlying actor. + + The system message we're sending. + + + + INTERNAL API. + + Abstract implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INTERNAL API. + + Barebones with no backing actor or . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is an internal look-up failure token, not useful for anything else. + + + + A surrogate for serializing . + + + + + Converts the into a . + + The actor system. + TBD + + + + Singleton instance of . + + + + + + + N/A + + This exception is automatically thrown since this actor doesn't have a provider. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Returns true if the contains any children, + false otherwise. + + + + + Executes an action for each child in the current collection. + + A lambda which takes a reference to the internal child actor as an argument. + + + + An enumerable that continues where the supplied enumerator is positioned + + + + + + + + An extension method class for working with ActorRefs + + + + + If we call a method such as Context.Child(name) + and don't receive a valid result in return, this method will indicate + whether or not the actor we received is valid. + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Construct an from the given string representing a path + relative to the given target. This operation has to create all the + matching magic, so it is preferable to cache its result if the + intention is to send messages frequently. + + TBD + TBD + TBD + TBD + + + + This class contains implementations originally found in Akka´s trait ActorRefFactory in ActorRefProvider.scala + https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorRefProvider.scala#L180 + corresponds to that trait, but since it is an interface it + cannot contain any code, hence this class. + + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + TBD + TBD + TBD + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + TBD + TBD + TBD + TBD + + + + Construct an from the given string representing a path + relative to the given target. This operation has to create all the + matching magic, so it is preferable to cache its result if the + intention is to send messages frequently. + + TBD + TBD + TBD + + + + TBD + + + + + Reference to the supervisor of guardian and systemGuardian; this is + exposed so that the ActorSystemImpl can use it as lookupRoot, i.e. + for anchoring absolute actor look-ups. + + + + Reference to the supervisor of guardian and systemGuardian at the specified address; + this is exposed so that the ActorRefFactory can use it as lookupRoot, i.e. + for anchoring absolute actor selections. + + TBD + TBD + + + Gets the supervisor used for all top-level user actors. + + + Gets the supervisor used for all top-level system actors. + + + Gets the dead letters. + + + + Gets the root path for all actors within this actor system, not including any remote address information. + + + + Gets the settings. + + + + Initialization of an ActorRefProvider happens in two steps: first + construction of the object with settings, eventStream, etc. + and then—when the ActorSystem is constructed—the second phase during + which actors may be created (e.g. the guardians). + + TBD + + + Gets the deployer. + + + Generates and returns a unique actor path below "/temp". + TBD + + + Returns the actor reference representing the "/temp" path. + + + Registers an actorRef at a path returned by ; do NOT pass in any other path. + The actor reference. + A path returned by . Do NOT pass in any other path! + + + Unregister a temporary actor (i.e. obtained from ); do NOT pass in any other path. + A path returned by . Do NOT pass in any other path! + + + + Actor factory with create-only semantics: will create an actor as + described by with the given and (may be different + in case of remote supervision). If is true, deployment is + bypassed (local-only). If a value for is passed in, it should be + regarded as taking precedence over the nominally applicable settings, + but it should be overridable from external configuration; the lookup of + the latter can be suppressed by setting "lookupDeploy" to "false". + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + Get the actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference. + TBD + TBD + + + Get the actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference. + TBD + TBD + + + + This Future is completed upon termination of this , which + is usually initiated by stopping the guardian via . + + + + + Obtain the address which is to be used within sender references when + sending to the given other address or none if the other address cannot be + reached from this system (i.e. no means of communication known; no + attempt is made to verify actual reachability). + + TBD + TBD + + + Gets the external address of the default transport. + + + + Class LocalActorRefProvider. This class cannot be inherited. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Higher-level providers (or extensions) might want to register new synthetic + top-level paths for doing special stuff. This is the way to do just that. + Just be careful to complete all this before finishes, + or before you start your own auto-spawned actors. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Registers an actorRef at a path returned by ; do NOT pass in any other path. + + The actor reference. + A path returned by . Do NOT pass in any other path! + This exception is thrown if the given is not on the temp path. + + + + Unregister a temporary actor (i.e. obtained from ); do NOT pass in any other path. + + A path returned by . Do NOT pass in any other path! + This exception is thrown if the given is not on the temp path. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Resolves the actor reference. + + The actor path. + ActorRef. + + + + TBD + + TBD + TBD + TBD + + + + Actor factory with create-only semantics: will create an actor as + described by with the given and (may be different + in case of remote supervision). If is true, deployment is + bypassed (local-only). If a value for is passed in, it should be + regarded as taking precedence over the nominally applicable settings, + but it should be overridable from external configuration; the lookup of + the latter can be suppressed by setting "lookupDeploy" to "false". + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception can be thrown for a number of reasons. The following are some examples: +
+
non-routers
+
The dispatcher in the given is not configured for the given .
+
or
+
There was a configuration problem while creating the given with the dispatcher and mailbox from the given
+
routers
+
The dispatcher in the given is not configured for routees of the given
+
or
+
The dispatcher in the given is not configured for router of the given
+
or
+
$There was a configuration problem while creating the given with router dispatcher and mailbox and routee dispatcher and mailbox.
+
+
+ TBD +
+ + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + This class represents a logical view of a section of an ActorSystem's + tree of actors that allows for broadcasting of messages to that section. + + + + + Gets the anchor. + + + + + Gets the elements. + + + + + A string representation of all of the elements in the path, + starting with "/" and separated with "/". + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The anchor. + The path. + + + + Initializes a new instance of the class. + + The anchor. + The path. + + + + Initializes a new instance of the class. + + The anchor. + The elements. + + + + Sends a message to this ActorSelection. + + The message to send + The actor that sent the message + + + + Resolves the matching this selection. + The result is returned as a Task that is completed with the + if such an actor exists. It is completed with failure if + no such actor exists or the identification didn't complete within the supplied . + + Under the hood it talks to the actor to verify its existence and acquire its + + + The amount of time to wait while resolving the selection before terminating the operation and generating an error. + + + This exception is thrown if no such actor exists or the identification didn't complete within the supplied . + + TBD + + + + INTERNAL API + Convenience method used by remoting when receiving from a remote + actor. + + TBD + TBD + TBD + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified actor selection, is equal to this instance. + + The actor selection to compare. + true if the specified router is equal to this instance; otherwise, false. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class ActorSelectionMessage. + + + + + Initializes a new instance of the class. + + The message. + The elements. + TBD + + + + The message that should be delivered to this ActorSelection. + + + + + The elements, e.g. "foo/bar/baz". + + + + + TBD + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectionPathElement. + + + + + Class SelectChildName. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the actor name. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectChildPattern. + + + + + Initializes a new instance of the class. + + The pattern string. + + + + Gets the pattern string. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectParent. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + An actor system is a hierarchical group of actors which share common + configuration, e.g. dispatchers, deployments, remote capabilities and + addresses. It is also the entry point for creating or looking up actors. + There are several possibilities for creating actors (see + for details on `props`): + + system.ActorOf(props, "name"); + system.ActorOf(props); + system.ActorOf(Props.Create(typeof(MyActor)), "name"); + system.ActorOf(Props.Create(() => new MyActor(arg1, arg2), "name"); + + Where no name is given explicitly, one will be automatically generated. + + Important Notice: + + This class is not meant to be extended by user code. + + + + Gets the settings. + The settings. + + + Gets the name of this system. + The name. + + + Gets the serialization. + The serialization. + + + Gets the event stream. + The event stream. + + + + Gets the dead letters. + + The dead letters. + + + Gets the dispatchers. + The dispatchers. + + + Gets the mailboxes. + The mailboxes. + + + Gets the scheduler. + The scheduler. + + + Gets the log + + + + Start-up time since the epoch. + + + + + Up-time of this actor system. + + + + + Creates a new with the specified name and configuration. + + The name of the actor system to create. The name must be uri friendly. + Must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-' + + The configuration used to create the actor system + A newly created actor system with the given name and configuration. + + + + Creates a new with the specified name. + + The name of the actor system to create. The name must be uri friendly. + Must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-' + + A newly created actor system with the given name. + + + + Retrieves the specified extension that is registered to this actor system. + + The extension to retrieve + The specified extension registered to this actor system + + + + Retrieves an extension with the specified type that is registered to this actor system. + + The type of extension to retrieve + The specified extension registered to this actor system + + + + Determines whether this actor system has an extension with the specified type. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + Determines whether this actor system has the specified extension. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Tries to retrieve an extension with the specified type + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + + Registers a block of code (callback) to run after ActorSystem.shutdown has been issued and all actors + in this actor system have been stopped. Multiple code blocks may be registered by calling this method + multiple times. + + + The callbacks will be run sequentially in reverse order of registration, i.e. last registration is run first. + + + The code to run + + This exception is thrown if the system has already shut down or if shutdown has been initiated. + + + + + + Terminates this actor system. This will stop the guardian actor, which in turn will recursively stop + all its child actors, then the system guardian (below which the logging actors reside) and the execute + all registered termination handlers (). + + + Be careful to not schedule any operations on completion of the returned task using the `dispatcher` + of this actor system as it will have been shut down before the task completes. + + + + A that will complete once the actor system has finished terminating and all actors are stopped. + + + + + Returns a task which will be completed after the has been + terminated and termination hooks have been executed. Be careful to not schedule any + operations on the `dispatcher` of this actor system as it will have been shut down + before this task completes. + + + + + Stops the specified actor permanently. + + The actor to stop + + This method has no effect if the actor is already stopped. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + Registers the specified extension with this actor system. + + The extension to register with this actor system + The extension registered with this actor system + + + + + + + + + + + + + The address specifies the physical location under which an Actor can be + reached. Examples are local addresses, identified by the 's + name, and remote addresses, identified by protocol, host and port. + + This class is sealed to allow use as a case class (copy method etc.); if + for example a remote transport would want to associate additional + information with an address, then this must be done externally. + + + + + Pseudo address for all systems + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Returns true if this Address is only defined locally. It is not safe to send locally scoped addresses to remote + hosts. See also + + + + + Returns true if this Address is usable globally. Unlike locally defined addresses + addresses of global scope are safe to sent to other hosts, as they globally and uniquely identify an addressable + entity. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Creates a new copy with the same properties as the current address. + + A new copy of the current address + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The protocol used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The system used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The host used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The port used to configure the new address. + A new address with the provided . + + + + Compares two specified addresses for equality. + + The first address used for comparison + The second address used for comparison + true if both addresses are equal; otherwise false + + + + Compares two specified addresses for inequality. + + The first address used for comparison + The second address used for comparison + true if both addresses are not equal; otherwise false + + + + TBD + + TBD + + + + Parses a new from a given string + + The address to parse + A populated object with host and port included, if available + Thrown if the address is not able to be parsed + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Extractor class for so-called "relative actor paths" - as in "relative URI", not + "relative to some other actors." + + Examples: + + * "grand/child" + * "/user/hello/world" + + + + + TBD + + TBD + TBD + + + + Class EventStreamActor. + + + + + Processor for user defined messages. + + The message. + TBD + + + + Class GuardianActor. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + System guardian. + + Root actor for all actors under the /system path. + + + + + TBD + + TBD + + + + Processor for messages that are sent to the root system guardian + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Class DeadLetterActorRef. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + TBD + TBD + + + + A that is already canceled. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + A that wraps a . + When canceling this instance the underlying is canceled as well. + + + + + Initializes a new instance of the class that will be cancelled after the specified amount of time. + + The scheduler. + The delay before the cancelable is canceled. + + + + Initializes a new instance of the class that will be cancelled after the specified amount of time. + + The scheduler. + The delay before the cancelable is canceled. + + + + Initializes a new instance of the class that will be cancelled after the specified amount of milliseconds. + + The scheduler. + The delay in milliseconds. + + + + Initializes a new instance of the class. + + TBD + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. + + true if exceptions should immediately propagate; otherwise, false. + + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + If is true, an exception will immediately propagate out of + the call to Cancel, preventing the remaining callbacks and cancelable operations from being processed. + If is false, this overload will aggregate any exceptions + thrown into an , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will be reestablished when the callback is invoked. + + + This exception is thrown if this cancelable has already been disposed. + + + + + Schedules a cancel operation on this cancelable after the specified delay. + + The delay before this instance is canceled. + This exception is thrown if the given is less than or equal to 0. + This exception is thrown if this cancelable has already been disposed. + + + + Schedules a cancel operation on this cancelable after the specified number of milliseconds. + + The delay in milliseconds before this instance is canceled. + This exception is thrown if the given is less than or equal to 0. + This exception is thrown if this cancelable has already been disposed. + + + + Returns a that has already been canceled. + + TBD + + + + Creates a that will be in the canceled state + when any of the source cancelables are in the canceled state. + + The scheduler + The cancelables instances to observe. + A new that is linked to the source . + + + + Creates a that will be in the canceled state + when any of the source cancelables are in the canceled state. + + The scheduler + The cancelables instances to observe. + A new that is linked to the source . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + TBD + + + + + If is not null it's canceled. + + The cancelable. Will be canceled if it's not null + + + + Signifies something that can be canceled + + + + + Communicates a request for cancellation. + + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + However, this overload of Cancel will aggregate any exceptions thrown into an + , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will + be reestablished when the callback is invoked. + + + + Gets a value indicating whether cancellation has been requested + + + + + TBD + + + + + Schedules a cancel operation on this cancelable after the specified delay. + + The delay before this instance is canceled. + + + + Schedules a cancel operation on this cancelable after the specified number of milliseconds. + + The delay in milliseconds before this instance is canceled. + + + + Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. + + true if exceptions should immediately propagate; otherwise, false. + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + If is true, an exception will immediately propagate out of + the call to Cancel, preventing the remaining callbacks and cancelable operations from being processed. + If is false, this overload will aggregate any exceptions + thrown into an , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will be reestablished when the callback is invoked. + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + Gets the "self" reference which this Cell is attached to. + + + The system within which this Cell lives. + + + The system internals within which this Cell lives. + + + + Start the cell: enqueued message must not be processed before this has + been called. The usual action is to attach the mailbox to a dispatcher. + + + + Recursively suspend this actor and all its children. Is only allowed to throw fatal exceptions. + + + Recursively resume this actor and all its children. Is only allowed to throw fatal exceptions. + TBD + + + Restart this actor (will recursively restart or stop all children). Is only allowed to throw Fatal Throwables. + TBD + + + Recursively terminate this actor and all its children. Is only allowed to throw Fatal Throwables. + + + The supervisor of this actor. + + + Returns true if the actor is local. + + + The props for this actor cell. + + + + If the actor isLocal, returns whether "user messages" are currently queued, + falseotherwise. + + + + + If the actor isLocal, returns the number of "user messages" currently queued, + which may be a costly operation, 0 otherwise. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + Method for looking up a single child beneath this actor. + It is racy if called from the outside. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Tries to get the stats for the child with the specified name. The stats can be either + indicating that only a name has been reserved for the child, or a for a child that + has been initialized/created. + + TBD + TBD + TBD + + + + Enqueue a message to be sent to the actor; may or may not actually + schedule the actor to run, depending on which type of cell it is. + + The system message we're passing along + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + ChildRestartStats is the statistics kept by every parent Actor for every child Actor + and is used for SupervisorStrategies to know how to deal with problems that occur for the children. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + This is the empty container, shared among all leaf actors. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Normal children container: we do have at least one child, but none of our + children are currently terminating (which is the time period between calling + context.stop(child) and processing the ChildTerminated() system message). + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + This exception is thrown if the given is not unique in the container. + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + This is the empty container which is installed after the last child has + terminated while stopping; it is necessary to distinguish from the normal + empty state while calling handleChildTerminated() for the last time. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + N/A + + N/A + N/A + This exception is automatically thrown since the name belongs to an actor that is already terminated. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Waiting state: there are outstanding termination requests (i.e. context.stop(child) + was called but the corresponding ChildTerminated() system message has not yet been + processed). There could be no specific reason (UserRequested), we could be Restarting + or Terminating. + Removing the last child which was supposed to be terminating will return a different + type of container, depending on whether or not children are left and whether or not + the reason was "Terminating". + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + This exception is thrown if the given belongs to an actor that is terminating. + This exception is thrown if the given is not unique in the container. + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Initializes a new instance of the class. + + The name given to the actor system. + + + + Initializes a new instance of the class. + + The name given to the actor system. + The configuration used to configure the actor system. + + This exception is thrown if the given is an invalid name for an actor system. + Note that the name must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-'). + + This exception is thrown if the given is undefined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new system actor that lives under the "/system" guardian. + + The used to create the actor. + The name of the actor to create. The default value is . + + This exception is thrown when the given name is invalid or already in use. + + + This exception is thrown when deployment, dispatcher or mailbox configuration is incorrect. + + A reference to the underlying actor. + + + + Creates a new system actor that lives under the "/system" guardian. + + + The type of the actor to create. Must have a default constructor declared. + + The name of the actor to create. The default value is . + + This exception is thrown when the given name is invalid or already in use. + + + This exception is thrown when deployment, dispatcher or mailbox configuration is incorrect. + + A reference to the underlying actor. + + + + If true, then the is attempting to abort. + + + + + Shuts down the without all of the usual guarantees, + i.e. we may not guarantee that remotely deployed actors are properly shut down + when we abort. + + + + Starts this system + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Registers the specified extension with this actor system. + + The extension to register with this actor system + The extension registered with this actor system + + + + Retrieves the specified extension that is registered to this actor system. + + The extension to retrieve + The specified extension registered to this actor system + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Retrieves an extension with the specified type that is registered to this actor system. + + The type of extension to retrieve + The specified extension registered to this actor system + + + + Determines whether this actor system has an extension with the specified type. + + The type of the extension being queried. + true if this actor system has the extension; otherwise false. + + + + Determines whether this actor system has the specified extension. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + + Registers a block of code (callback) to run after ActorSystem.shutdown has been issued and all actors + in this actor system have been stopped. Multiple code blocks may be registered by calling this method + multiple times. + + + The callbacks will be run sequentially in reverse order of registration, i.e. last registration is run first. + + + The code to run + + This exception is thrown if the system has already shut down or if shutdown has been initiated. + + + + + + Terminates this actor system. This will stop the guardian actor, which in turn will recursively stop + all its child actors, then the system guardian (below which the logging actors reside) and the execute + all registered termination handlers (). + + + Be careful to not schedule any operations on completion of the returned task using the `dispatcher` + of this actor system as it will have been shut down before the task completes. + + + + A that will complete once the actor system has finished terminating and all actors are stopped. + + + + + Returns a task which will be completed after the has been + terminated and termination hooks have been executed. Be careful to not schedule any + operations on the `dispatcher` of this actor system as it will have been shut down + before this task completes. + + + + + Stops the specified actor permanently. + + The actor to stop + + + + This class represents a callback used to run a task when the actor system is terminating. + + + + + Initializes a new instance of the class. + + The task to run when the actor system is terminating + + + + Adds a continuation to the current task being performed. + + The method to run as part of the continuation + This exception is thrown if the actor system has been terminated. + + + + The task that is currently being performed + + + + + Marks that the actor needs to be initialized directly after it has been created. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + + INTERNAL! + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + INTERNAL! + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + This is used to let TestFSMRef in TestKit access to internal methods. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Abstract base class for stash support + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Abstract base class for stash support + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + This exception is thrown if the actor's mailbox isn't deque-based (e.g. ). + + + + Stashes the current message in the actor's state. + + This exception is thrown if we attempt to stash the same message more than once. + + This exception is thrown in the event that we're using a for the and we've exceeded capacity. + + + + + Unstash the most recently stashed message (top of the message stack.) + + + + + Unstash all of the s in the Stash. + + + + + Unstash all of the s in the Stash. + + A predicate function to determine which messages to select. + + + + Eliminates the contents of the , and returns + the previous contents of the messages. + + Previously stashed messages. + + + + TBD + + TBD + + + + Enqueues at the first position in the mailbox. If the message contained in + the envelope is a message, it will be ensured that it can be re-received + by the actor. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + + + INTERNAL + A stash implementation that is unbounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + Used to register the extension with a given . + + + + + Creates a new instance of the extension. + + The extended actor system. + A coordinated shutdown plugin. + + + + INTERNAL API + + + + + Creates a new + + The list of other phases this phase depends upon. + A timeout value for any tasks running during this phase. + When set to true, this phase can recover from a faulted state during shutdown. + + + + The names of other s this phase depends upon. + + + + + The amount of time this phase is allowed to run. + + + + + If true, this phase has the ability to recover during a faulted state. + + + + + + + + + + + + + + An extension used to help coordinate and sequence shutdown activities + during graceful termination of actor systems, plugins, and so forth. + + + + + Initializes a new instance. + + Access to the . + The list of s provided by the HOCON configuration. + + + + Retreives the extension for the current + + The current actor system. + A instance. + + + + The + + + + + The set of named s that will be executed during coordinated shutdown. + + + + + INTERNAL API + + + + + INTERNAL API + + + + + INTERNAL API + + Signals when CLR shutdown hooks have been completed + + + + + Add a task to a phase. It doesn't remove previously added tasks. + + Tasks added to the same phase are executed in parallel without any + ordering assumptions. Next phase will not start until all tasks of + previous phase have completed. + + The phase to add this task to. + The name of the task to add to this phase. + The delegate that produces a that will be executed. + + Tasks should typically be registered as early as possible after system + startup. When running the tasks that have been + registered will be performed but tasks that are added too late will not be run. + + + It is possible to add a task to a later phase from within a task in an earlier phase + and it will be performed. + + + + + Add a shutdown hook that will execute when the CLR process begins + its shutdown sequence, invoked via . + + Added hooks may run in any order concurrently, but they are run before + the Akka.NET internal shutdown hooks execute. + + A task that will be executed during shutdown. + + + + INTERNAL API + + Should only be called directly by the event + in production. + + Safe to call multiple times, but hooks will only be run once. + + Returns a that will be completed once the process exits. + + + + Run tasks of all phases including and after the given phase. + + Optional. The phase to start the run from. + A task that is completed when all such tasks have been completed, or + there is failure when is disabled. + + It is safe to call this method multiple times. It will only run once. + + + + + The configured timeout for a given . + + The name of the phase. + Returns the timeout if ti exists. + Thrown if doesn't exist in the set of registered phases. + + + + The sum of timeouts of all phases that have some task. + + + + + INTERNAL API + + The HOCON configuration for the + A map of all of the phases of the shutdown. + + + + INTERNAL API: https://en.wikipedia.org/wiki/Topological_sorting + + The set of phases to sort. + A topologically sorted list of phases. + + + + INTERNAL API + + Primes the with the default phase for + + + The actor system for this extension. + The HOCON configuration. + The plugin instance. + + + + Initializes the CLR hook + + The actor system for this extension. + The HOCON configuration. + The plugin instance. + + + + INTERNAL API + + Message queue implementation used to funnel messages to + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + Mailbox for dead letters. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + This class represents a configuration object used in the deployment of an actor. + + + + + A deployment configuration that is bound to the scope. + + + + + This deployment does not have a dispatcher associated with it. + + + + + This deployment does not have a mailbox associated with it. + + + + + This deployment has an unspecified scope associated with it. + + + + + A deployment configuration where none of the options have been configured. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The actor path associated with this deployment. + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The router to use for this deployment. + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The router to use for this deployment. + + + + Initializes a new instance of the class. + + The path to deploy the actor. + The configuration used when deploying the actor. + The router used in this deployment. + The scope to bind to this deployment. + The dispatcher used in this deployment. + + + + Initializes a new instance of the class. + + The path to deploy the actor. + The configuration used when deploying the actor. + The router used in this deployment. + The scope to bind to this deployment. + The dispatcher used in this deployment. + The mailbox configured for the actor used in this deployment. + + + + The path where the actor is deployed. + + + + + The configuration used for this deployment. + + + + + The router used for this deployment. + + + + + The scope bound to this deployment. + + + + + The mailbox configured for the actor used in this deployment. + + + + + The dispatcher used in this deployment. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Creates a new from this deployment using another + to backfill options that might be missing from this deployment. + + + This method is immutable and returns a new instance of . + + + The used for fallback configuration. + A new using for fallback configuration. + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The mailbox used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The dispatcher used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The used to configure the new . + A new with the provided . + + + + This class represents a surrogate of a configuration object. + Its main use is to help during the serialization process. + + + + + The scope bound to this deployment. + + + + + The router used for this deployment. + + + + + The path where the actor is deployed. + + + + + The configuration used for this deployment. + + + + + The mailbox configured for the actor used in this deployment. + + + + + The dispatcher used in this deployment. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Used to configure and deploy actors. + + + + + TBD + + + + + Initializes a new instance of the class. + + The settings used to configure the deployer. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the actor name in the deployment path is empty or contains invalid ASCII. + Valid ASCII includes letters and anything from . Note that paths + cannot start with the $. + + + + + Creates an actor deployment to the supplied path, , using the supplied configuration, . + + The path used to deploy the actor. + The configuration used to configure the deployed actor. + A configured actor deployment to the given path. + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Registers an async handler for messages of the specified type + + the type of the message + the message handler invoked on the incoming message + when not null, determines whether this handler should handle the message + + + + Registers an async handler for messages of the specified type + + + determines whether this handler should handle the message + the message handler invoked on the incoming message + + + + Registers an asynchronous handler for any incoming message that has not already been handled. + + The message handler that is invoked for all + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Changes the actor's behavior and replaces the current handler with the specified handler. + + TBD + + + + Changes the actor's behavior and replaces the current handler with the specified handler without discarding the current. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + TBD + + + + Changes the actor's behavior and replaces the current handler with the previous one on the behavior stack. + In order to store an actor on the behavior stack, a call to must have been made + prior to this call + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Registers an async handler for messages of the specified type + + the type of the message + the message handler invoked on the incoming message + when not null, determines whether this handler should handle the message + + + + Registers an async handler for messages of the specified type + + + determines whether this handler should handle the message + the message handler invoked on the incoming message + + + + Registers an asynchronous handler for any incoming message that has not already been handled. + + The message handler that is invoked for all + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + This exception provides the base for all Akka.NET specific exceptions within the system. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + The exception that is the cause of the current exception. + + + + + This exception is thrown when the actor name is invalid. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception. + + + + This exception is thrown when an Ask operation times out. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + This exception is thrown when an actor is interrupted in the midst of processing messages. + + This is an exception typically thrown when the underlying dispatcher's threads are aborted. + + + + + TBD + + TBD + TBD + + + + This exception is thrown when the initialization logic for an Actor fails. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The actor whose initialization logic failed. + The message that describes the error. + The exception that is the cause of the current exception. + + + + Retrieves the actor whose initialization logic failed. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + This exception is thrown when there was a problem initializing a logger. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + This exception is thrown when a message has been sent to an Actor. + will by default stop the actor. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + This exception is thrown when a core invariant in the Actor implementation has been violated. + For instance, if you try to create an Actor that doesn't inherit from . + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + This exception is thrown when an Actor with an invalid name is deployed. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + This exception is thrown by an Actor that receives a Terminated(someActor) message + that it doesn't handle itself, effectively crashing the Actor and escalating to the supervisor. + + + + + Initializes a new instance of the class. + + The actor that has been terminated. + + + + Retrieves the actor that has been terminated. + + + + + This exception is thrown when the method fails during a restart attempt. + + + This exception is not propagated to the supervisor, as it originates from the already failed instance, + hence it is only visible as log entry on the event stream. + + + + + + Initializes a new instance of the class. + + The actor whose hook failed. + The exception thrown by the within . + The exception which caused the restart in the first place. + The message which was optionally passed into . + + + + This exception is thrown when the Actor constructor or method + fails during a restart attempt. + + + + + Initializes a new instance of the class. + + The actor whose constructor or hook failed. + The exception thrown by the within . + The original cause is the exception which caused the restart in the first place. + + + + Retrieves the exception which caused the restart in the first place. + + + + + This exception is thrown when an Actor can not be found. + + + + + Initializes a new instance of the class. + + + + + that takes a descriptive and optional . + + A user-defined error message. + An inner . + + + + This exception is thrown when an invalid message is sent to an Actor. + + + Currently only null is an invalid message. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + More powerful interface to the actor system’s implementation which is presented to + extensions (see ). + Important Notice: + This class is not meant to be extended by user code. If you want to + actually roll your own Akka, beware that you are completely on your own in + that case! + + + + Gets the provider. + The provider. + + + + Gets the top-level supervisor of all user actors created using + system.ActorOf(...) + + + + + The , used as the lookup for resolutions. + + + + + Gets the top-level supervisor of all system-internal services like logging. + + + + + Gets the actor producer pipeline resolver for current actor system. It may be used by + Akka plugins to inject custom behavior directly into actor creation chain. + + + + + Creates a new system actor in the "/system" namespace. This actor + will be shut down during system shutdown only after all user actors have + terminated. + + The used to create the actor + The name of the actor to create. The default value is . + A reference to the newly created actor + + + + Creates a new system actor in the "/system" namespace. This actor + will be shut down during system shutdown only after all user actors have + terminated. + + The type of actor to create + The name of the actor to create. The default value is . + A reference to the newly created actor + + + + Aggressively terminates an without waiting for the normal shutdown process to run as-is. + + + + + This interface is used to mark an object as an extension. + + + + + This interface is used to distinguish unique extensions. + + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + + Internal use only. + + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + Retrieves the underlying type for the current extension + + + + + This interface is used to distinguish unique extensions. + + The type associated with the current extension. + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + + Internal use only. + + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + This class contains extension methods used for resolving extensions. + + + + + Retrieves the extension specified by a given type, , from a given actor system. + + The type associated with the extension to retrieve. + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Retrieves the extension specified by a given type, , from a given actor system. + If the extension does not exist within the actor system, then the extension specified by + is registered to the actor system. + + The type associated with the extension to retrieve. + The actor system from which to retrieve the extension or to register with if it does not exist. + The type of the extension to register if it does not exist in the given actor system. + The extension retrieved from the given actor system. + + + + Retrieves the extension specified by a given type, , from a given actor system. + If the extension does not exist within the actor system, then the extension specified by + is registered to the actor system. + + The type associated with the extension to retrieve. + The type associated with the extension to retrieve if it does not exist within the system. + The actor system from which to retrieve the extension or to register with if it does not exist. + The extension retrieved from the given actor system. + + + + This class represents the base provider implementation for creating, registering and retrieving extensions within an . + + The type of the extension being provided. + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the underlying type for the current extension + + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + true if the specified is equal to this instance; otherwise, false. + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + TBD + + + + + Message type which is sent directly to the subscriber Actor in + before sending any messages. + + The type of the state being used in this finite state machine. + + + + Initializes a new instance of the CurrentState + + TBD + TBD + + + + TBD + + + + + TBD + + + + + + + + + + + + + + Message type which is used to communicate transitions between states to all subscribed listeners + (use ) + + The type of state used + + + + Initializes a new instance of the Transition + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + + + + + + + Send this to an to request first the + followed by a series of updates. Cancel the subscription using + . + + + + + Initializes a new instance of the SubscribeTransitionCallBack + + TBD + + + + TBD + + + + + Unsubscribe from notifications which were + initialized by sending the corresponding . + + + + + Initializes a new instance of the UnsubscribeTransitionCallBack + + TBD + + + + TBD + + + + + Reason why this is shutting down + + + + + Default if calling Stop(). + + + + + Obsolete. Use instead. + + + + + Singleton instance of Normal + + + + + Reason given when someone as calling from outside; + also applies to supervision directive. + + + + + Obsolete. Use instead. + + + + + Singleton instance of Shutdown + + + + + Signifies that the is shutting itself down because of an error, + e.g. if the state to transition into does not exist. You can use this to communicate a more + precise cause to the block. + + + + + Initializes a new instance of the Failure + + TBD + + + + TBD + + + + + + + + Used in the event of a timeout between transitions + + + + + Obsolete. Use instead. + + + + + Singleton instance of StateTimeout + + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Log entry of the - can be obtained by calling + + The name of the state + The data of the state + + + + Initializes a new instance of the LogEntry + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + This captures all of the managed state of the : the state name, + the state data, possibly custom timeout, stop reason, and replies accumulated while + processing the last message. + + The name of the state + The data of the state + + + + Initializes a new instance of the State + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Modify the state transition descriptor to include a state timeout for the + next state. This timeout overrides any default timeout set for the next state. + Use to cancel a timeout. + + TBD + TBD + + + + Send reply to sender of the current message, if available. + + TBD + TBD + + + + Modify state transition descriptor with new state data. The data will be set + when transitioning to the new state. + + TBD + TBD + + + + INTERNAL API + + TBD + TBD + + + + INTERNAL API + + + + + + + + + + + + + + + + + All messages sent to the will be wrapped inside an , + which allows pattern matching to extract both state and data. + + The state data for this event + + + + Initializes a new instance of the Event + + TBD + TBD + + + + TBD + + + + + TBD + + + + + + + + Class representing the state of the within the OnTermination block. + + TBD + TBD + + + + Initializes a new instance of the StopEvent + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + Finite state machine (FSM) actor. + + The state name type + The state data type + + + + Initializes a new instance of the FSM class. + + + + + Delegate describing this state's response to input + + TBD + TBD + + + + Handler which is called upon each state transition + + State designator for the initial state + State designator for the next state + + + + Insert a new at the end of the processing chain for the + given state. If the stateTimeout parameter is set, entering this state without a + differing explicit timeout setting will trigger a . + + designator for the state + delegate describing this state's response to input + default timeout for this state + + + + Sets the initial state for this FSM. Call this method from the constructor before the method. + If different state is needed after a restart this method, followed by , can be used in the actor + life cycle hooks and . + + Initial state designator. + Initial state data. + State timeout for the initial state, overriding the default timeout for that state. + + + + Produce transition to other state. Return this from a state function + in order to effect the transition. + + State designator for the next state + State transition descriptor + + + + Obsolete. Use GoTo(nextStateName).Using(stateData) instead. + + N/A + N/A + N/A + + + + Produce "empty" transition descriptor. Return this from a state function + when no state change is to be effected. + + Descriptor for staying in the current state. + + + + Produce change descriptor to stop this FSM actor with + + Descriptor for stopping in the current state. + + + + Produce change descriptor to stop this FSM actor with the specified . + + Reason why this is shutting down. + Descriptor for stopping in the current state. + + + + Produce change descriptor to stop this FSM actor with the specified . + + Reason why this is shutting down. + State data. + Descriptor for stopping in the current state. + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Schedule named timer to deliver message after given delay, possibly repeating. + Any existing timer with the same name will automatically be canceled before adding + the new timer. + + identifier to be used with . + message to be delivered + delay of first message delivery and between subsequent messages. + send once if false, scheduleAtFixedRate if true + + + + Cancel a named , ensuring that the message is not subsequently delivered (no race.) + + The name of the timer to cancel. + + + + Determines whether the named timer is still active. Returns true + unless the timer does not exist, has previously been cancelled, or + if it was a single-shot timer whose message was already received. + + TBD + TBD + + + + Set the state timeout explicitly. This method can be safely used from + within a state handler. + + TBD + TBD + + + + Set handler which is called upon each state transition + + TBD + + + + Set the handler which is called upon termination of this FSM actor. Calling this + method again will overwrite the previous contents. + + TBD + + + + Set handler which is called upon reception of unhandled FSM messages. Calling + this method again will overwrite the previous contents. + + TBD + + + + Verify the existence of initial state and setup timers. This should be the + last call within the constructor or and + . + + + This exception is thrown when this method is called before is called. + + + + + Current state name + + + This exception is thrown if this property is accessed before was called. + + + + + Current state data + + + This exception is thrown if this property is accessed before was called. + + + + + Return next state data (available in handlers) + + + This exception is thrown if this property is accessed outside of an handler. + + + + + Retrieves the support needed to interact with an actor's listeners. + + + + + Can be set to enable debugging on certain actions taken by the FSM + + + + + FSM state data and current timeout handling + + + + + Timer handling + + + + + State definitions + + + + + Unhandled event handler + + + + + Termination handling + + + + + Transition handling + + + + + C# port of Scala's orElse method for partial function chaining. + + See http://scalachina.com/api/scala/PartialFunction.html + + The original to be called + The to be called if returns null + A which combines both the results of and + + + + + + + Call the hook if you want to retain this behavior. + When overriding make sure to call base.PostStop(); + + Please note that this method is called by default from so + override that one if shall not be called during restart. + + + + + By default, is logged at error level and other + reason types are not logged. It is possible to override this behavior. + + TBD + + + + Marker interface to let the setting "akka.actor.debug.fsm" control if logging should occur in + + + + + Extension method class designed to create Ask support for + non-ActorRef objects such as . + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if the system can't resolve the target provider. + + TBD + + + + TBD + + TBD + TBD + + + + Akka private optimized representation of the temporary actor spawned to + receive the reply to an "ask" operation. + + INTERNAL API + + + + + Can't access constructor directly - use instead. + + + + + TBD + + + + + This is necessary for weaving the PromiseActorRef into the asked message, i.e. the replyTo pattern. + + + + As an optimization for the common (local) case we only register this PromiseActorRef + with the provider when the `path` member is actually queried, which happens during + serialization (but also during a simple call to `ToString`, `Equals` or `GetHashCode`!). + + Defined states: + null => started, path not yet created + Registering => currently creating temp path and registering it + path: ActorPath => path is available and was registered + StoppedWithPath(path) => stopped, path available + Stopped => stopped, path not yet created + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Returns false if the is already completed. + + + + + TBD + + + + + TBD + + + + + Contract of this method: + Must always return the same ActorPath, which must have + been registered if we haven't been stopped yet. + + + + + TBD + + TBD + TBD + + This exception is thrown if the given is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + Returns a that will be completed with success when existing messages + of the target actor have been processed and the actor has been terminated. + + Useful when you need to wait for termination or compose ordered termination of several actors, + which should only be done outside of the as blocking inside is discouraged. + + IMPORTANT: the actor being terminated and its supervisor being informed of the availability of the deceased actor's name + are two distinct operations, which do not obey any reliable ordering. + + If the target actor isn't terminated within the timeout the is completed with failure. + + If you want to invoke specialized stopping logic on your target actor instead of , you can pass your stop command as a parameter: + + GracefulStop(someChild, timeout, MyStopGracefullyMessage).ContinueWith(r => { + // Do something after someChild starts being stopped. + }); + + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the underlying task is . + + TBD + + + + TBD + + + + + Monitors the specified actor for termination. When the terminates + the instance watching will receive a message. + Note that if the message isn't handled by the actor, + by default the actor will crash by throwing a . To change + the default behavior, override . + + + The actor to monitor for termination. + Returns the provided subject + + + + Stops monitoring the for termination. + + The actor to stop monitor for termination. + Returns the provided subject + + + + TBD + + + + + Gets the belonging to the current actor. + + + + + The used to originally create this + + + + + The dispatcher this actor is running on + + + + + Gets the of the actor who sent the current message. + + If the message was not sent by an actor (i.e. some external non-actor code + sent this actor a message) then this value will default to . + + + + + Gets a reference to the to which this actor belongs. + + + This property is how you can get access to the and other parts + of Akka.NET from within an actor instance. + + + + + + Gets the of the parent of the current actor. + + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the previous one on the behavior stack. + In order to store an actor on the behavior stack, a call to must have been made + prior to this call + + + + + Retrieves a child actor with the specified name, if it exists. + + If the child with the given name cannot be found, + then will be returned instead. + + + The name of the child actor. + + e.g. "child1", "foo" + + Not the path, just the name of the child at the time it was created by this parent. + + The belonging to the child if found, otherwise. + + + + Gets all of the children that belong to this actor. + + If this actor has no children, + an empty collection of is returned instead. + + TBD + + + + + Defines the inactivity timeout after which the sending of a message is triggered. + When specified, the receive function should be able to handle a message. + + + + Please note that the receive timeout might fire and enqueue the message right after + another message was enqueued; hence it is not guaranteed that upon reception of the receive + timeout there must have been an idle period beforehand as configured via this method. + + + + Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity + periods). Pass in null to switch off this feature. + + + The timeout. Pass in null to switch off this feature. + + + + Gets the inactivity deadline timeout set using . + + + + + Issues a stop command to the provided , which will cause that actor + to terminate. + + The actor who will be stopped. + + + + Interface IActorRefFactory + + + + + Create new actor as child of this context with the given name, which must + not start with "$". If the given name is already in use, + and is thrown. + + See for details on how to obtain a object. + + The props used to create this actor. + Optional. The name of this actor. + A reference to the underlying actor. + Thrown if the given name is + invalid or already in use + Thrown if deployment, dispatcher + or mailbox configuration is wrong + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + The actor path. + ActorSelection. + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + The actor path. + ActorSelection. + + + + Marker trait to show which Messages are automatically handled by Akka.NET + + + + + When Death Watch is used, the watcher will receive a Terminated(watched) message when watched is terminated. + Terminated message can't be forwarded to another actor, since that actor might not be watching the subject. + Instead, if you need to forward Terminated to another actor you should send the information in your own message. + + + + + Initializes a new instance of the class. + + the watched actor that terminated + is false when the Terminated message was not sent directly from the watched actor, but derived from another source, such as when watching a non-local ActorRef, which might not have been resolved + the Terminated message was derived from that the remote node hosting the watched actor was detected as unreachable + + + + The watched actor that terminated + + + + + Is false when the Terminated message was not sent + directly from the watched actor, but derived from another source, such as + when watching a non-local ActorRef, which might not have been resolved + + + + + The Terminated message was derived from that the remote node hosting the watched actor was detected as unreachable + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Request to an to get back the identity of the underlying actors. + + + + + Initializes a new instance of the class. + + A correlating ID used to distinguish multiple requests to the same receiver. + + + + A correlating ID used to distinguish multiple requests to the same receiver. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Response to the message, get identity by Sender + + + + + Initializes a new instance of the class. + + The same correlating ID used in the original message. + A reference to the underyling actor. + + + + The same correlating ID used in the original message. + + + + + A reference to the underyling actor. + + Will be null if sent an that could not be resolved. + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Sending a to an will stop the actor when the message + is processed. is enqueued as ordinary messages and will be handled after + messages that were already queued in the mailbox. + See also which causes the actor to throw an when + it processes the message, which gets handled using the normal supervisor mechanism, and + which causes the actor to stop without processing any more messages. + + + + + The singleton instance of PoisonPill. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Sending an message to an actor causes the actor to throw an + when it processes the message, which gets handled using the normal supervisor mechanism. + See also which causes the actor to stop when the + is processed, without throwing an exception, and + which causes the actor to stop without processing any more messages. + + + + + The singleton instance of Kill. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + INTERNAL API + + Used for remote death watch. Failure detectors publish this to the + when a remote node is detected to be unreachable and / or decided + to be removed. + + The watcher subscribes to the and translates this + event to , which is sent to itself. + + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + A shared interface for both and , + both of which can be sent messages via the command. + + + + + Asynchronously delivers a message to this or + in a non-blocking fashion. Uses "at most once" delivery semantics. + + The message to be sent to the target. + The sender of this message. Defaults to if left to null. + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + The singleton instance of this comparer + + + + + + + + is an actor-like object to be listened by external objects. + It can watch other actors lifecycle and contains inner actor, which could be passed + as reference to other actors. + + + + + Get a reference to internal actor. It may be for example registered in event stream. + + + + + Receive a next message from current with default timeout. This call will return immediately, + if the internal actor previously received a message, or will block until it'll receive a message. + + TBD + + + + Receive a next message from current . This call will return immediately, + if the internal actor previously received a message, or will block for time specified by + until it'll receive a message. + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Receive a next message satisfying specified under default timeout. + + TBD + TBD + + + + Receive a next message satisfying specified under provided . + + TBD + TBD + TBD + + + + Makes an internal actor act as a proxy of a given , + which is sent to a given target actor. It means, that all 's + replies will be sent to current inbox instead. + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Make the inbox’s actor watch the actor such that + reception of the message can then be awaited. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Receive a single message from actor with default timeout. + NOTE: Timeout resolution depends on system's scheduler. + + + Don't use this method within actors, since it block current thread until a message is received. + + TBD + + + + Receive a single message from actor. + Provided is used for cleanup purposes. + NOTE: resolution depends on system's scheduler. + + + Don't use this method within actors, since it block current thread until a message is received. + + TBD + + This exception is thrown if the inbox received a response message or + it didn't receive a response message by the given . + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the inbox received a response message or + it didn't receive a response message by the given . + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + Marker Interface INoSerializationVerificationNeeded, this interface prevents + implementing message types from being serialized if configuration setting 'akka.actor.serialize-messages' is "on" + + + + + Marker interface to indicate that a message might be potentially harmful; + this is used to block messages coming in over remoting. + + + + + Interface IUntypedActorContext + + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a binding of an actor deployment to a local system. + + + + + This class represents a surrogate of a binding. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The singleton instance of this scope. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method ignores the given scope and returns the singleton instance of this scope. + + + The used for fallback configuration. + The singleton instance of this scope + + + + Creates a copy of the current instance. + + + This method returns the singleton instance of this scope. + + + The singleton instance of this scope + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Envelope class, represents a message and the sender of the message. + + + + + Initializes a new instance of the struct. + + The message being sent. + The actor who sent the message. + The current actor system. + + This exception is thrown if the given is undefined. + + + + + Initializes a new instance of the struct. + + The message being sent. + The actor who sent the message. + + + + Gets or sets the sender. + + The sender. + + + + Gets or sets the message. + + The message. + + + + Converts the to a string representation. + + A string. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Creates the PipeTo pattern for automatically sending the results of completed tasks + into the inbox of a designated Actor + + + + + Pipes the output of a Task directly to the 's mailbox once + the task completes + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + Pipes the output of a Task directly to the 's mailbox once + the task completes. As this task has no result, only exceptions will be piped to the + + TBD + TBD + TBD + TBD + TBD + TBD + + + + This class represents a configuration object used in creating an actor. + It is immutable and thus thread-safe. + + + private Props props = Props.Empty(); + private Props props = Props.Create(() => new MyActor(arg1, arg2)); + + private Props otherProps = props.WithDispatcher("dispatcher-id"); + private Props otherProps = props.WithDeploy(deployment info); + + + + + + + This class represents a surrogate of a configuration object. + Its main use is to help during the serialization process. + + + + + The type of actor to create + + + + + The configuration used to deploy the actor. + + + + + The arguments used to create the actor. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + + + + + + + A pre-configured that doesn't create actors. + + + The value of this field is null. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that is being cloned. + + + + Initializes a new instance of the class. + + + configured in this way uses the deployer. + + + The type of the actor to create. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + + configured in this way uses the deployer. + + + The type of the actor to create. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The configuration used to deploy the actor. + The type of the actor to create. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The configuration used to deploy the actor. + The type of the actor to create. + The arguments needed to create the actor. + This exception is thrown if is an unknown actor producer. + + + + The type of the actor that is created. + + + + + The dispatcher used in the deployment of the actor. + + + + + The mailbox used in the deployment of the actor. + + + + + The assembly qualified name of the type of the actor that is created. + + + + + The router used in the deployment of the actor. + + + + + The configuration used to deploy the actor. + + + + + The supervisor strategy used to manage the actor. + + + + + A pre-configured that creates an actor that doesn't respond to messages. + + + + + The arguments needed to create the actor. + + + + + Creates an actor using a specified lambda expression. + + The type of the actor to create. + The lambda expression used to create the actor. + Optional: The supervisor strategy used to manage the actor. + The newly created . + The create function must be a 'new T (args)' expression + + + + Creates an actor using the given arguments. + + The type of the actor to create. + The arguments needed to create the actor. + The newly created . + + + + Creates an actor using a specified actor producer. + + The type of producer used to create the actor. + The arguments needed to create the actor. + The newly created . + + + + Creates an actor using a specified supervisor strategy. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The newly created . + + + + Creates an actor of a specified type. + + The type of the actor to create. + The arguments needed to create the actor. + The newly created . + Props must be instantiated with an actor type. + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The mailbox used when deploying the actor. + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The dispatcher used when deploying the actor. + A new with the provided . + + + + Creates a new with a given router. + + + This method is immutable and returns a new instance of . + + + The router used when deploying the actor. + A new with the provided . + + + + Creates a new with a given deployment configuration. + + + This method is immutable and returns a new instance of . + + + The configuration used to deploy the actor. + A new with the provided . + + + + Creates a new with a given supervisor strategy. + + + This method is immutable and returns a new instance of . + + + The supervisor strategy used to manage the actor. + A new with the provided . + + + + Creates a new actor using the configured actor producer. + + + This method is only useful when called during actor creation by the ActorSystem. + + + + This exception is thrown if there was an error creating an actor of type + with the arguments from . + + The newly created actor + + + + Creates a copy of the current instance. + + The newly created + + + + This class represents a specialized that doesn't respond to messages. + + + + + Handles messages received by the actor. + + The message past to the actor. + + + + Signals the producer that it can release its reference to the actor. + + The actor to release + + + + This class represents a specialized used when the actor has been terminated. + + + + + N/A + + This exception is thrown automatically since the actor has been terminated. + N/A + + + + This class represents a specialized that uses dynamic invocation + to create new actor instances, rather than a traditional . + + + This is intended to be used in conjunction with Dependency Injection. + + + The type of the actor to create. + + + + Initializes a new instance of the class. + + The factory method used to create an actor. + + + + Creates a new actor using the configured factory method. + + The actor created using the factory method. + + + + Creates a copy of the current instance. + + The newly created + + + + This interface defines a class of actor creation strategies deviating from + the usual default of just reflectively instantiating the Actor + subclass. It can be used to allow a dependency injection framework to + determine the actual actor class and how it shall be instantiated. + + + + + This factory method must produce a fresh actor instance upon each + invocation. It is not permitted to return the same instance more than + once. + + A fresh actor instance. + + + + This method is used by to determine the type of actor to create. + The returned type is not used to produce the actor. + + The type of the actor created. + + + + This method is used by to signal the producer that it can + release it's reference. + + + To learn more about using Dependency Injection in .NET, see HERE. + + + The actor to release + + + + Delegate Receive + + The message. + + + + TBD + + + + + TBD + + + + + Creates and pushes a new MatchBuilder + + + + + TBD + + TBD + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + Configures the new handler by calling the different Receive overloads. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + Configures the new handler by calling the different Receive overloads. + + + + Registers an asynchronous handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + + + + Registers an asynchronous handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + When not null it is used to determine if the message matches. + The message handler that is invoked for incoming messages of the specified type + + + + Registers an asynchronous handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + + + + Registers an asynchronous handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + When not null it is used to determine if the message matches. + The message handler that is invoked for incoming messages of the specified + + + + Registers an asynchronous handler for incoming messages of any type. + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The message handler that is invoked for all + + + + Registers a handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified type . + The handler should return true if it has handled the message. + If the handler returns true no more handlers will be tried; otherwise the next registered handler will be tried. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the + specified type . It should return trueif it handled/matched + the message; false otherwise. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + The handler should return true if it has handled the message. + If the handler returns true no more handlers will be tried; otherwise the next registered handler will be tried. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the + specified type . It should return trueif it handled/matched + the message; false otherwise. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of any type. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The message handler that is invoked for all + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + This message is sent to an actor that has set a receive timeout, either by calling + Context.SetReceiveTimeout or + SetReceiveTimeout + and no message has been sent to the actor during the specified amount of time. + + + + + Gets the singleton instance. + + + + + This class represents a binding of an actor deployment to a remote system. + Actors in this scope are deployed to a specified . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The address to which actors are deployed. + + + + The address to which actors are deployed. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method ignores the given scope and returns the current instance. + + + The used for fallback configuration. + The instance of this scope + + + + Creates a new that uses the current . + + The newly created + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Initialize: make a dummy cell which holds just a mailbox, then tell our + supervisor that we exist so that he can create the real Cell in + handleSupervise(). + + TBD + This exception is thrown if this function is called more than once. + TBD + + + + This method is supposed to be called by the supervisor in HandleSupervise() + to replace the UnstartedCell with the real one. It assumes no concurrent + modification of the `underlying` field, though it is safe to send messages + at any time. + + This exception is thrown if the underlying cell is undefined. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + This exception is thrown if this property is called before actor is initialized (). + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + INTERNAL API. + + Used by + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Top-level anchor for the supervision hierarchy of this actor system. + Note: This class is called theOneWhoWalksTheBubblesOfSpaceTime in Akka + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + N/A + + + + Obsolete. Use instead. + + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + + + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + This implementation is built using a revolving wheel of buckets + with each bucket belonging to a specific time resolution. As the "clock" of the scheduler ticks it advances + to the next bucket in the circle and processes the items in it, and optionally reschedules recurring + tasks into the future into the next relevant bucket. + + There are `akka.scheduler.ticks-per-wheel` initial buckets (we round up to the nearest power of 2) with 512 + being the initial default value. The timings are approximated and are still limited by the ceiling of the operating + system's clock resolution. + + Further reading: http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf + Presentation: http://www.cse.wustl.edu/~cdgill/courses/cs6874/TimingWheels.ppt + + + + + TBD + + TBD + TBD + TBD + + + + 0 - init, 1 - started, 2 - shutdown + + + + + Normalize a wheel size to the nearest power of 2. + + The original input per wheel. + normalized to the nearest power of 2. + + + + Scheduler thread entry method + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + INTERNAL API. + + + + + The cancellation handle, if any + + + + + The task to be executed + + + + + Used to determine the delay for repeatable sends + + + + + The deadline for determining when to execute + + + + + Determines if this task will need to be re-scheduled according to its . + + + + + If true, we skip execution of this task. + + + + + The to which this registration belongs. + + + + + Resets all of the fields so this registration object can be used again + + + + + Adds a to this bucket. + + The scheduled task. + + + + Slot a repeating task into the "reschedule" linked list. + + The registration scheduled for repeating + + + + Empty this bucket + + A set of registrations to populate. + + + + Reset the reschedule list for this bucket + + A set of registrations to populate. + + + + Execute all s that are due by or after . + + The execution time. + + + + A scheduler able of scheduling actions + + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before the action is invoked. + The action to perform. + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + + + + TBD + + + + + Marks that an uses , + i.e. system time, to provide . + + + + + TBD + + + + + Gets the advanced scheduler which will allow you to schedule actions. + Note! It's considered bad practice to use concurrency inside actors and very easy to get wrong so usage is discouraged. + + + + + A scheduler that's able to schedule sending messages. + + + + Schedules to send a message once after a specified period of time. + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + + + Schedules to send a message once after a specified period of time. + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message has been sent, it cannot be canceled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message has been sent, it cannot be canceled. + + + + TBD + + + + + Gets the scheduler's notion of current time. + + + + + TBD + + + + + TBD + + + + + Abstract base class for implementing any custom implementation used by Akka.NET. + + All constructed schedulers are expected to support the and arguments + provided on the default constructor for this class. + + + + + The configuration section for a specific implementation. + + + + + The provided by the at startup. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + The current time since startup, as determined by the monotonic clock implementation. + + + Typically uses in most implementations, but in some cases a + custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit. + + + + + The current time since startup, as determined by the high resolution monotonic clock implementation. + + + Typically uses in most implementations, but in some cases a + custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is negative or zero. + + + + TBD + + TBD + TBD + This exception is thrown if the given is negative. + + + + An that is thrown by the methods + when scheduling is not possible, e.g. after shutting down the . + + + + + TBD + + TBD + + + + TBD + + + + Schedules to send a message once after a specified period of time. + The scheduler + The time in milliseconds that has to pass before the message is sent. + The receiver. + The message. + The sender. + OPTIONAL. An that can be used to cancel sending of the message. Note that once the message has been sent, it cannot be canceled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time in milliseconds that has to pass before the first message is sent. + The interval, i.e. the time in milliseconds that has to pass between messages are being sent. + The receiver. + The message. + The sender. + OPTIONAL. An that can be used to cancel sending of the message. Note that once the message has been sent, it cannot be canceled. + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The scheduler + The time in milliseconds that has to pass before the action is invoked. + The action to perform. + OPTIONAL. A cancelable that can be used to cancel the action from being executed. Defaults to null + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The scheduler + The time in milliseconds that has to pass before first invocation. + The interval, i.e. the time in milliseconds that has to pass before the action is invoked again. + The action to perform. + OPTIONAL. A cancelable that can be used to cancel the action from being executed. Defaults to null + + + Schedules to send a message once after a specified period of time. + The scheduler + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message once after a specified period of time. + The scheduler + The time in milliseconds that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time in milliseconds that has to pass before the first message is sent. + The interval, i.e. the time in milliseconds that has to pass between messages are sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + + Schedules an action to be invoked after an delay. + + The scheduler + The time period that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an delay. + + The scheduler + The time in milliseconds that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + + The scheduler + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + + The scheduler + The time in milliseconds that has to pass before first invocation. + The interval, i.e. the time in milliseconds that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + This class provides base functionality when defining a system binding (e.g. local/remote/cluster) used during actor deployment. + + + + + A binding that binds actor deployments to the local system. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method is immutable and returns a new instance of . + + + The used for fallback configuration. + A new using for fallback configuration. + + + + Creates a copy of the current instance. + + The newly created + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + This class represents a binding of an actor deployment to an unspecified system. + + + + + The singleton instance of this scope. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method returns the given scope unaltered. + + + The used for fallback configuration. + The scope passed in as the parameter. + + + + Creates a copy of the current instance. + + + This method returns a singleton instance of this scope. + + + The singleton instance of this scope + + + + Settings are the overall ActorSystem Settings which also provides a convenient access to the Config object. + For more detailed information about the different possible configuration options, look in the Akka .NET + Documentation under "Configuration" + + + + + Combines the user config and the fallback chain of configs + + + + + Injects a system config at the top of the fallback chain + + TBD + + + + Initializes a new instance of the class. + + The system. + The configuration. + + This exception is thrown if the 'akka.actor.provider' configuration item is not a valid type name or a valid actor ref provider. + + + + + Gets the system. + + The system. + + + + Gets the configuration. + + The configuration. + + + + Gets the configuration version. + + The configuration version. + + + + Gets the provider class. + + The provider class. + + + + Gets the supervisor strategy class. + + The supervisor strategy class. + + + + Gets a value indicating whether [serialize all messages]. + + true if [serialize all messages]; otherwise, false. + + + + Gets a value indicating whether [serialize all creators]. + + true if [serialize all creators]; otherwise, false. + + + + Gets the default timeout for calls. + + The ask timeout. + + + + Gets the creation timeout. + + The creation timeout. + + + + Gets the unstarted push timeout. + + The unstarted push timeout. + + + + Gets the log level. + + The log level. + + + + Gets the stdout log level. + + The stdout log level. + + + + Gets the loggers. + + The loggers. + + + + Gets the default loggers dispatcher. + + The loggers dispatcher. + + + + Gets the logger start timeout. + + The logger start timeout. + + + + Gets a value indicating whether [log configuration on start]. + + true if [log configuration on start]; otherwise, false. + + + + Gets the log dead letters. + + The log dead letters. + + + + Gets a value indicating whether [log dead letters during shutdown]. + + true if [log dead letters during shutdown]; otherwise, false. + + + + Gets a value indicating whether [add logging receive]. + + true if [add logging receive]; otherwise, false. + + + + Gets a value indicating whether [debug automatic receive]. + + true if [debug automatic receive]; otherwise, false. + + + + Gets a value indicating whether [debug event stream]. + + true if [debug event stream]; otherwise, false. + + + + Gets a value indicating whether [debug unhandled message]. + + true if [debug unhandled message]; otherwise, false. + + + + Gets a value indicating whether [debug router misconfiguration]. + + true if [debug router misconfiguration]; otherwise, false. + + + + Gets the home. + + The home. + + + + Gets a value indicating whether [debug lifecycle]. + + true if [debug lifecycle]; otherwise, false. + + + + TBD + + + + + The number of default virtual nodes to use with . + + + + + Gets the scheduler implementation used by this system. + + + + + TBD + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Marker interface for adding stash support + + + + + Gets or sets the stash. This will be automatically populated by the framework AFTER the constructor has been run. + Implement this as an auto property. + + + The stash. + + + + + TBD + + + + + Stash plugin is applied to all actors implementing interface. + + TBD + TBD + + + + Creates a new stash for specified if it has not been initialized already. + + TBD + TBD + + + + Ensures, that all stashed messages inside stash have been unstashed. + + TBD + TBD + + + + Public interface used to expose stash capabilities to user-level actors + + + + + Stashes the current message (the message that the actor received last) + + + + + Unstash the oldest message in the stash and prepends it to the actor's mailbox. + The message is removed from the stash. + + + + + Unstashes all messages by prepending them to the actor's mailbox. + The stash is guaranteed to be empty afterwards. + + + + + Unstashes all messages selected by the predicate function. Other messages are discarded. + The stash is guaranteed to be empty afterwards. + + TBD + + + + Returns all messages and clears the stash. + The stash is guaranteed to be empty afterwards. + + TBD + + + + TBD + + TBD + + + + Lets the know that this Actor needs stash support + with restricted storage capacity + You need to add the property: + public IStash Stash { get; set; } + + + + + Lets the know that this Actor needs stash support + with unrestricted storage capacity. + You need to add the property: + public IStash Stash { get; set; } + + + + + Static factor used for creating Stash instances + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given implements an unrecognized subclass of . + + TBD + + + + This exception is thrown when the size of the Stash exceeds the capacity of the stash. + + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Base class for supervision strategies + + + + + TBD + + + + + Handles the specified child. + + The actor that caused the evaluation to occur + The exception that caused the evaluation to occur. + Directive. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + This is the main entry point: in case of a child’s failure, this method + must try to handle the failure by resuming, restarting or stopping the + child (and returning `true`), or it returns `false` to escalate the + failure, which will lead to this actor re-throwing the exception which + caused the failure. The exception will not be wrapped. + This method calls , which will + log the failure unless it is escalated. You can customize the logging by + setting to `false` and + do the logging inside the `decider` or override the `LogFailure` method. + + The actor cell. + The child actor. + The cause. + The stats for the failed child. + TBD + true if XXXX, false otherwise. + + + + When supervisorStrategy is not specified for an actor this + Decider is used by default in the supervisor strategy. + The child will be stopped when , + , or is + thrown. It will be restarted for other `Exception` types. + The error is escalated if it's a `Exception`, i.e. `Error`. + + Directive. + + + + Restarts the child. + + The child. + The cause. + if set to true [suspend first]. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + This method is called to act on the failure of a child: restart if the flag is true, stop otherwise. + + The actor context. + if set to true restart, stop otherwise. + The child actor + The exception that caused the child to fail. + The stats for the child that failed. The ActorRef to the child can be obtained via the property + The stats for all children + + + + Resume the previously failed child: do never apply this to a child which + is not the currently failing child. Suspend/resume needs to be done in + matching pairs, otherwise actors will wake up too soon or never at all. + + The child. + The exception. + + + + Logs the failure. + + The actor cell. + The child. + The cause. + The directive. + + + + Determines if failures are logged + + + + + When supervisorStrategy is not specified for an actor this + is used by default. OneForOneStrategy with decider defined in + . + + The default. + + + + This strategy resembles Erlang in that failing children are always + terminated (one-for-one). + + + + + This method is called after the child has been removed from the set of children. + It does not need to do anything special. Exceptions thrown from this method + do NOT make the actor fail if this happens during termination. + + TBD + TBD + TBD + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Class OneForOneStrategy. This class cannot be inherited. + The result of this strategy is applied only to the failing child + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, System.Threading.Timeout.InfiniteTimeSpan means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, System.Threading.Timeout.InfiniteTimeSpan means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + mapping from Exception to + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + mapping from Exception to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Serialization-friendly constructor + + + + + Handles the specified child. + + The child. + The x. + Directive. + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Determines if failures are logged + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + This exception is thrown if the is of type . + The surrogate representation of the current . + + + + + + + + + + + + + Class AllForOneStrategy. This class cannot be inherited. + The result of this strategy is applied to the failed child and all its siblings. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value and null means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value and null means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Serialization-friendly constructor + + + + + Determines what to do with the child when the given exception occurs. + + The child. + The x. + Directive. + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Determines if failures are logged + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + + + + + + + + + + Collection of failures, used to keep track of how many times a given actor have failed. + + + + + Initializes a new instance of the class. + + + + + Gets the entries. + + The entries. + + + + Represents a single failure. + + + + + The exception that caused the failure. + + The exception. + + + + The timestamp when the failure occurred. + + The timestamp. + + + + Enum Directive for supervisor actions + + + + + Resumes message processing for the failed Actor + + + + + Discards the old Actor instance and replaces it with a new, + then resumes message processing. + + + + + Escalates the failure to the supervisor of the supervisor, + by rethrowing the cause of the failure, i.e. the supervisor fails with + the same exception as the child. + + + + + Stops the Actor + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + + + + + + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if the given is undefined or references an unknown type. + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + Interface IHandle + + The type of the t message. + + + + Handles the specified message. + + The message. + + + + Class TypedActor. + + + + + Processor for user defined messages. + + The message. + TBD + + + + Class UntypedActor. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + To be implemented by concrete UntypedActor, this defines the behavior of the UntypedActor. + This method is called for every message received by the actor. + + The message. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + TBD + + + + + Delegate UntypedReceive + + The message. + + + + This class represents the main configuration object used by Akka.NET + when configuring objects within the system. To put it simply, it's + the internal representation of a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The root node to base this configuration. + This exception is thrown if the given value is undefined. + + + + Initializes a new instance of the class. + + The configuration to use as the primary source. + The configuration to use as a secondary source. + This exception is thrown if the given is undefined. + + + + The configuration used as a secondary source. + + + + + Determines if this root node contains any values + + + + + The root node of this configuration section + + + + + An enumeration of substitutions values + + + + + Generates a deep clone of the current configuration. + + A deep clone of the current configuration + + + + Retrieves a boolean value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The boolean value defined in the specified path. + + + + Retrieves a long value, optionally suffixed with a 'b', from the specified path in the configuration. + + The path that contains the value to retrieve. + This exception is thrown if the current node is undefined. + The long value defined in the specified path. + + + + Retrieves an integer value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The integer value defined in the specified path. + + + + Retrieves a long value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The long value defined in the specified path. + + + + Retrieves a string value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The string value defined in the specified path. + + + + Retrieves a float value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The float value defined in the specified path. + + + + Retrieves a decimal value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The decimal value defined in the specified path. + + + + Retrieves a double value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The double value defined in the specified path. + + + + Retrieves a list of boolean values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of boolean values defined in the specified path. + + + + Retrieves a list of decimal values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of decimal values defined in the specified path. + + + + Retrieves a list of float values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of float values defined in the specified path. + + + + Retrieves a list of double values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of double values defined in the specified path. + + + + Retrieves a list of int values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of int values defined in the specified path. + + + + Retrieves a list of long values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of long values defined in the specified path. + + + + Retrieves a list of byte values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of byte values defined in the specified path. + + + + Retrieves a list of string values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of string values defined in the specified path. + + + + Retrieves a new configuration from the current configuration + with the root node being the supplied path. + + The path that contains the configuration to retrieve. + This exception is thrown if the current node is undefined. + A new configuration with the root node being the supplied path. + + + + Retrieves a from a specific path. + + The path that contains the value to retrieve. + This exception is thrown if the current node is undefined. + The found at the location if one exists, otherwise null. + + + + Retrieves a value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + true if infinite timespans are allowed; otherwise false. + This exception is thrown if the current node is undefined. + The value defined in the specified path. + + + + Converts the current configuration to a string. + + A string containing the current configuration. + + + + Converts the current configuration to a string + + if true returns string with current config combined with fallback key-values else only current config key-values + TBD + + + + Configure the current configuration with a secondary source. + + The configuration to use as a secondary source. + This exception is thrown if the given is a reference to this instance. + The current configuration configured with the specified fallback. + + + + Determine if a HOCON configuration element exists at the specified location + + The location to check for a configuration value. + This exception is thrown if the current node is undefined. + true if a value was found, false otherwise. + + + + Adds the supplied configuration string as a fallback to the supplied configuration. + + The configuration used as the source. + The string used as the fallback configuration. + The supplied configuration configured with the supplied fallback. + + + + Adds the supplied configuration as a fallback to the supplied configuration string. + + The configuration string used as the source. + The configuration used as the fallback. + A configuration configured with the supplied fallback. + + + + Performs an implicit conversion from to . + + The string that contains a configuration. + A configuration based on the supplied string. + + + + Retrieves an enumerable key value pair representation of the current configuration. + + The current configuration represented as an enumerable key value pair. + + + + A static "Empty" configuration we can use instead of null in some key areas. + + + + + This class contains convenience methods for working with . + + + + + Retrieves the current configuration or the fallback + configuration if the current one is null. + + The configuration used as the source. + The configuration to use as a secondary source. + The current configuration or the fallback configuration if the current one is null. + + + + Determines if the supplied configuration has any usable content period. + + The configuration used as the source. + true> if the is null or ; otherwise false. + + + + The exception that is thrown when a configuration is invalid. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + This class contains methods used to retrieve configuration information + from a variety of sources including user-supplied strings, configuration + files and assembly resources. + + + + + Generates an empty configuration. + + + + + Generates a configuration defined in the supplied + HOCON (Human-Optimized Config Object Notation) string. + + A string that contains configuration options to use. + callback used to resolve includes + The configuration defined in the supplied HOCON string. + + + + Generates a configuration defined in the supplied + HOCON (Human-Optimized Config Object Notation) string. + + A string that contains configuration options to use. + The configuration defined in the supplied HOCON string. + + + + Loads a configuration defined in the current application's + configuration file, e.g. app.config or web.config + + The configuration defined in the configuration file. + + + + Retrieves the default configuration that Akka.NET uses + when no configuration has been defined. + + The configuration that contains default values for all options. + + + + Retrieves a configuration defined in a resource of the + current executing assembly. + + The name of the resource that contains the configuration. + The configuration defined in the current executing assembly. + + + + Retrieves a configuration defined in a resource of the + assembly containing the supplied instance object. + + The name of the resource that contains the configuration. + An instance object located in the assembly to search. + The configuration defined in the assembly that contains the instanced object. + + + + Retrieves a configuration defined in a resource of the assembly + containing the supplied type . + + A type located in the assembly to search. + The name of the resource that contains the configuration. + The configuration defined in the assembly that contains the type . + + + + Retrieves a configuration defined in a resource of the supplied assembly. + + The name of the resource that contains the configuration. + The assembly that contains the given resource. + The configuration defined in the assembly that contains the given resource. + + + + Creates a configuration based on the supplied source object + + The source object + The configuration created from the source object + + + + This class represents an array element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + cluster { + seed-nodes = [ + "akka.tcp://ClusterSystem@127.0.0.1:2551", + "akka.tcp://ClusterSystem@127.0.0.1:2552"] + } + } + + + + + + Determines whether this element is a string. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an array and not a string. + + + + + Determines whether this element is an array. + + true + + + + Retrieves a list of elements associated with this element. + + + A list of elements associated with this element. + + + + + Returns a HOCON string representation of this element. + + A HOCON string representation of this element. + + + + This class represents a string literal element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + actor { + provider = "Akka.Remote.RemoteActorRefProvider, Akka.Remote" + } + } + + + + + + Gets or sets the value of this element. + + + + + Determines whether this element is a string. + + true + + + + Retrieves the string representation of this element. + + The value of this element. + + + + Determines whether this element is an array. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is a string literal and not an array. + + + + + Returns the string representation of this element. + + The value of this element. + + + + This class represents an object element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + actor { + debug { + receive = on + autoreceive = on + lifecycle = on + event-stream = on + unhandled = on + } + } + } + + + + + + Initializes a new instance of the class. + + + + + Retrieves the underlying map that contains the barebones + object values. + + + + + Retrieves the underlying map that this element is based on. + + + + + Determines whether this element is a string. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an object and not a string. + + + + + Determines whether this element is an array. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an object and not an array. + + + + + Retrieves the value associated with the supplied key. + + The key associated with the value to retrieve. + + The value associated with the supplied key or null + if they key does not exist. + + + + + Retrieves the value associated with the supplied key. + If the supplied key is not found, then one is created + with a blank value. + + The key associated with the value to retrieve. + The value associated with the supplied key. + + + + Returns a HOCON string representation of this element. + + A HOCON string representation of this element. + + + + Returns a HOCON string representation of this element. + + The number of spaces to indent the string. + A HOCON string representation of this element. + + + + Merges the specified object into this instance. + + The object to merge into this instance. + + + + Merges the specified object with this instance producing new one. + + The object to merge into this instance. + + + + This class contains methods used to parse HOCON (Human-Optimized Config Object Notation) + configuration strings. + + + + + Parses the supplied HOCON configuration string into a root element. + + The string that contains a HOCON configuration string. + Callback used to resolve includes + This exception is thrown if an unresolved substitution or an unknown token is encountered. + This exception is thrown if the end of the file has been reached while trying to read a value. + The root element created from the supplied HOCON configuration string. + + + + Retrieves the next value token from the tokenizer and appends it + to the supplied element . + + The element to append the next token. + The location in the HOCON object hierarchy that the parser is currently reading. + This exception is thrown if the end of the file has been reached while trying to read a value. + + + + Retrieves the next array token from the tokenizer. + + The location in the HOCON object hierarchy that the parser is currently reading. + An array of elements retrieved from the token. + + + + This class represents the root element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value to associate with this element. + An enumeration of substitutions to associate with this element. + + + + Initializes a new instance of the class. + + The value to associate with this element. + + + + Retrieves the value associated with this element. + + + + + Retrieves an enumeration of substitutions associated with this element. + + + + + This class represents a substitution element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + defaultInstances = 10 + deployment{ + /user/time{ + nr-of-instances = $defaultInstances + } + } + } + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The path. + + + + The full path to the value which should substitute this instance. + + + + + The evaluated value from the Path property + + + + + Determines whether this element is a string. + + true if this element is a string; otherwise false + + + + Retrieves the string representation of this element. + + The string representation of this element. + + + + Determines whether this element is an array. + + true if this element is aan array; otherwise false + + + + Retrieves a list of elements associated with this element. + + A list of elements associated with this element. + + + + Determines whether this element is a HOCON object. + + true if this element is a HOCON object; otherwise false + + + + Retrieves the HOCON object representation of this element. + + The HOCON object representation of this element. + + + + This enumeration defines the different types of tokens found within + a HOCON (Human-Optimized Config Object Notation) configuration string. + + + + + This token type represents a comment. + + + + + This token type represents the key portion of a key-value pair. + + + + + This token type represents the value portion of a key-value pair. + + + + + This token type represents the assignment operator, = or : . + + + + + This token type represents the beginning of an object, { . + + + + + This token type represents the end of an object, } . + + + + + This token type represents a namespace separator, . . + + + + + This token type represents the end of the configuration string. + + + + + This token type represents the beginning of an array, [ . + + + + + This token type represents the end of an array, ] . + + + + + This token type represents the separator in an array, , . + + + + + This token type represents a replacement variable, $foo . + + + + + This token type represents an include statement. + + + + + This class represents a token within a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The type of token to associate with. + + + + Initializes a new instance of the class. + + The string literal value to associate with this token. + + + + The value associated with this token. If this token is + a , then this property + holds the string literal. + + + + + The type that represents this token. + + + + + Creates a key token with a given . + + The key to associate with this token. + A key token with the given key. + + + + Creates a substitution token with a given . + + The path to associate with this token. + A substitution token with the given path. + + + + Creates a string literal token with a given . + + The value to associate with this token. + A string literal token with the given value. + + + + This class contains methods used to tokenize a string. + + + + + Adds the current index to the tokenizer's bookkeeping stack. + + + + + Removes an index from the tokenizer's bookkeeping stack. + + + + + Initializes a new instance of the class. + + The string that contains the text to tokenize. + + + + A value indicating whether the tokenizer has reached the end of the string. + + + + + Determines whether the given pattern matches the value at the current + position of the tokenizer. + + The string that contains the characters to match. + true if the pattern matches, otherwise false. + + + + Retrieves a string of the given length from the current position of the tokenizer. + + The length of the string to return. + + The string of the given length. If the length exceeds where the + current index is located, then null is returned. + + + + + Determines whether any of the given patterns match the value at the current + position of the tokenizer. + + The string array that contains the characters to match. + true if any one of the patterns match, otherwise false. + + + + Retrieves the next character in the tokenizer without advancing its position. + + The character at the tokenizer's current position. + + + + Retrieves the next character in the tokenizer. + + The character at the tokenizer's current position. + + + + Advances the tokenizer to the next non-whitespace character. + + + + + This class contains methods used to tokenize HOCON (Human-Optimized Config Object Notation) + configuration strings. + + + + + Initializes a new instance of the class. + + The string that contains the text to tokenize. + + + + Advances the tokenizer to the next non-whitespace, non-comment token. + + + + + Retrieves the current line from where the current token + is located in the string. + + The current line from where the current token is located. + + + + Retrieves the next token from the string. + + This exception is thrown if an unknown token or escape code is encountered. + The next token contained in the string. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches the start of a quoted string. + + true if token matches; otherwise, false. + + + + Determines whether the current token matches the start of a triple quoted string. + + true if token matches; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves an unquoted token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token is an unquoted key. + + true if token is an unquoted key; otherwise, false. + + + + Determines whether the current token is the start of an unquoted key. + + true if token is the start of an unquoted key; otherwise, false. + + + + Determines whether the current token is whitespace. + + true if token is whitespace; otherwise, false. + + + + Determines whether the current token is whitespace or a comment. + + true if token is whitespace or a comment; otherwise, false. + + + + Retrieves a triple quoted token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a quoted token from the tokenizer's current position. + + This exception is thrown if an unknown escape code is encountered. + A token from the tokenizer's current position. + + + + Retrieves a quoted token from the tokenizer's current position. + + This exception is thrown if an unknown escape code is encountered. + A token from the tokenizer's current position. + + + + TBD + + This exception is thrown if an unknown escape code is encountered. + TBD + + + + Determines whether the current token is the start of a comment. + + true if token is the start of a comment; otherwise, false. + + + + Retrieves a value token from the tokenizer's current position. + + A value token from the tokenizer's current position. + + This exception is thrown if an unknown token is encountered. Expected values include the following: + Null literal, Array, Quoted Text, Unquoted Text, Triple quoted Text, Object or End of array. + + + + + Determines whether the current token is the start of a substitution. + + true if token is the start of a substitution; otherwise, false. + + + + Determines whether the current token is the start of an include directive. + + This exception is thrown if an unknown escape code is encountered. + true if token is the start of an include directive; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token is a space or a tab. + + true if token is the start of a space or a tab; otherwise, false. + + + + Determines whether the current token is the start of an unquoted string literal. + + true if token is the start of an unquoted string literal; otherwise, false. + + + + Retrieves the current token, including whitespace and tabs, as a string literal token. + + A token that contains the string literal value. + + + + Retrieves the current token as a string literal token. + + + This exception is thrown if the tokenizer cannot find a string literal value from the current token. + + A token that contains the string literal value. + + + + Determines whether the current token is a value. + + true if the current token is a value; otherwise, false. + + + + This class represents the root type for a HOCON (Human-Optimized Config Object Notation) + configuration object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The list of elements inside this HOCON value. + Indicates whether this instance was constructed during association with fallback . + + + + Returns true if this HOCON value doesn't contain any elements + + + + + The list of elements inside this HOCON value + + + + + Marker for values were merged during fallback attaching + serving exclusively to skip rendering such values in + + + + + Wraps this into a new object at the specified key. + + The key designated to be the new root element. + A with the given key as the root element. + + + + Retrieves the from this . + + The that represents this . + + + + Determines if this is a . + + true if this value is a , false otherwise. + + + + Adds the given element to the list of elements inside this . + + The element to add to the list. + + + + Clears the list of elements inside this . + + + + + Creates a fresh list of elements inside this + and adds the given value to the list. + + The element to add to the list. + + + + Determines whether all the elements inside this + are a string. + + + trueif all elements inside this are a string; otherwise false. + + + + + Retrieves the child object located at the given key. + + The key used to retrieve the child object. + The element at the given key. + + + + Retrieves the boolean value from this . + + The boolean value represented by this . + + This exception is thrown if the doesn't + conform to the standard boolean values: "on", "off", "true", or "false" + + + + + Retrieves the string value from this . + + The string value represented by this . + + + + Retrieves the decimal value from this . + + The decimal value represented by this . + + + + Retrieves the float value from this . + + The float value represented by this . + + + + Retrieves the double value from this . + + The double value represented by this . + + + + Retrieves the long value from this . + + The long value represented by this . + + + + Retrieves the integer value from this . + + The integer value represented by this . + + + + Retrieves the byte value from this . + + The byte value represented by this . + + + + Retrieves a list of byte values from this . + + A list of byte values represented by this . + + + + Retrieves a list of integer values from this . + + A list of integer values represented by this . + + + + Retrieves a list of long values from this . + + A list of long values represented by this . + + + + Retrieves a list of boolean values from this . + + A list of boolean values represented by this . + + + + Retrieves a list of float values from this . + + A list of float values represented by this . + + + + Retrieves a list of double values from this . + + A list of double values represented by this . + + + + Retrieves a list of decimal values from this . + + A list of decimal values represented by this . + + + + Retrieves a list of string values from this . + + A list of string values represented by this . + + + + Retrieves a list of values from this . + + A list of values represented by this . + + + + Determines whether this is an array. + + + true if this is an array; otherwise false. + + + + + Retrieves the time span value from this . + + A flag used to set infinite durations. + + This exception is thrown if the timespan given in the is negative. + + The time span value represented by this . + + + + Retrieves the long value, optionally suffixed with a 'b', from this . + + The long value represented by this . + + + + Returns a HOCON string representation of this . + + A HOCON string representation of this . + + + + Returns a HOCON string representation of this . + + The number of spaces to indent the string. + A HOCON string representation of this . + + + + Marker interface to make it easier to retrieve HOCON + (Human-Optimized Config Object Notation) objects for + substitutions. + + + + + Determines whether this element is a HOCON object. + + true if this element is a HOCON object; otherwise false + + + + Retrieves the HOCON object representation of this element. + + The HOCON object representation of this element. + + + + This interface defines the contract needed to implement + a HOCON (Human-Optimized Config Object Notation) element. + + + + + Determines whether this element is a string. + + true if this element is a string; otherwise false + + + + Retrieves the string representation of this element. + + The string representation of this element. + + + + Determines whether this element is an array. + + true if this element is aan array; otherwise false + + + + Retrieves a list of elements associated with this element. + + A list of elements associated with this element. + + + + Contextual information that's useful for dispatchers + + + + + The that belongs to the current . + + + + + The that belongs to the current . + + + + + The for the current . + + + + + The list of registered for the current . + + + + + The default set of contextual data needed for s + + + + + Default constructor... + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + INTERNAL API - used to configure the executor used by the + + + + + A configurable factory for producing instances. + + The configuration for this type of executor. + The prerequesites for this type of executor. + + + + Executor-specific configuration + + + + + The system prerequisites needed for this dispatcher to do its job + + + + + INTERNAL API + + Produces that dispatches messages using the default . + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + + + + Used by + + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if either 'dedicated-thread-pool' OR 'fork-join-executor' is not defined in . + + + + + TBD + + TBD + TBD + + + + Factory for producing types. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Base class used for hooking new types into + + + + + Takes a object, usually passed in via + + TBD + TBD + + + + System-wide configuration + + + + + The system prerequisites needed for this dispatcher to do its job + + + + + Returns a instance. + + Whether or not this returns a new instance + or returns a reference to an existing instance is an implementation detail of the + underlying implementation. + + TBD + + + + Configures the that will be used inside this dispatcher. + + + This exception is thrown if a custom ExecutorServiceConfiguration implementation cannot be loaded. + + The requested instance. + + + + Class responsible for pushing messages from an actor's mailbox into its + receive methods. Comes in many different flavors. + + + + + TBD + + + + + INTERNAL API - Debugging purposes only! Should be elided by compiler in release builds. + + + + + The default throughput + + + + + The configurator used to configure this message dispatcher. + + + + + Initializes a new instance of the class. + + TBD + + + + The for this dispatcher's actor system + + + + + The list of available for this dispatcher's actor system + + + + + The ID for this dispatcher. + + + + + Gets or sets the throughput deadline time. + + The throughput deadline time. + + + + Gets or sets the throughput. + + The throughput. + + + + INTERNAL API + + When the dispatcher no longer has any actors registered, the determines + how long it will wait until it shuts itself down, defaulting to your Akka.NET config's 'akka.actor.default-dispatcher.shutdown-timeout' + or the system default specified. + + + + + The number of actors attached to this + + + + + Used for executing arbitrary s on this . + + Not used for mailbox runs. + + + + + Schedules the specified delegate. + + The run. + + + + Schedules an arbitrary task to run. + + The run. + + + + Schedules the to be executed. + + The asynchronous task we're going to run + + + + Publish failure that occurred while inside the running + to the . + + The failure to publish. + + + + INTERNAL API + + Called one time every time an actor is detached from this dispatcher and this dispatcher has no actors left attached + + + MUST BE IDEMPOTENT + + + + + Creates and returns a for the given actor. + + Cell of the actor. + The mailbox configurator. + The configured for this actor. + + + + Dispatches a user-defined message from a mailbox to an + + TBD + TBD + + + + Dispatches a from a mailbox to an + + TBD + TBD + + + + Attaches the dispatcher to the + + + Practically, doesn't do very much right now - dispatchers aren't responsible for creating + mailboxes in Akka.NET + + + The ActorCell belonging to the actor who's attaching to this dispatcher. + + + + INTERNAL API + + If you override it, you must still call the base method. But only ever once. See for only invocation. + + The actor we're registering + + + + INTERNAL API + + Suggest to register the provided mailbox for execution + + The mailbox + Do we have any messages? + Do we have any system messages? + true if the was scheduled for execution, otherwise false. + + + + Detaches the dispatcher to the + + + Only really used in dispatchers with 1:1 relationship with dispatcher. + + + The ActorCell belonging to the actor who's detaching from this dispatcher. + + + + INTERNAL API + + If you override it, you must call it. But only ever once. See for the only invocation + + The actor who is unregistering + + + + After the call to this method, the dispatcher mustn't begin any new message processing for the specified reference + + The cell of the actor whose mailbox will be suspended. + + + + After the call to this method, the dispatcher must begin any new message processing for the specified reference + + The cell of the actor whose mailbox will be resumed. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if this method is called outside an actor context. + + + + + INTERNAL API + + A is a that wraps another and is used to + cache path lookup and string retrieval, which we happen to do in some critical paths of the actor creation + and mailbox selection code. + + All other operations are delegated to the wrapped . + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + Produces that dispatches messages on the current synchronization context, + e.g. WinForms or WPF GUI thread + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Used to create instances of the . + + Each actor created using the pinned dispatcher gets its own unique thread. + + Always returns a new instance. + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Behaves like a and always executes using + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the registering is not the owner. + + + + + TBD + + TBD + + + + The event-based binds a set of actors to a thread pool backed up + by a thread-safe queue. + + The preferred way of creating dispatchers is to define them in configuration and use the + method. + + + + + Used to create a default + + The configurator used. + The id of this dispatcher. + The throughput of this dispatcher. + The deadline for completing N (where N = throughput) operations on the mailbox.. + The factory for producing the executor who will do the work. + The graceful stop timeout period. + + + + Schedules the to be executed. + + The asynchronous task we're going to run + + + + INTERNAL API + + Called one time every time an actor is detached from this dispatcher and this dispatcher has no actors left attached + + + MUST BE IDEMPOTENT + + + + + INTERNAL API + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + INTERNAL API + + Executes its tasks using the + + + + + The scheduler + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + ForkJoinExecutorService - custom multi-threaded dispatcher that runs on top of a + , designed to be used for mission-critical actors + that can't afford starvation. + + Relevant configuration options: + + my-forkjoin-dispatcher { + type = ForkJoinDispatcher + throughput = 100 + dedicated-thread-pool { #settings for Helios.DedicatedThreadPool + thread-count = 3 #number of threads + #deadlock-timeout = 3s #optional timeout for deadlock detection + threadtype = background #values can be "background" or "foreground" + } + } + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if this method is called during the shutdown of this executor. + + + + + TBD + + + + + The registry of all instances available to this . + + + + + The default dispatcher identifier, also the full key of the configuration of the default dispatcher. + + + + + The identifier for synchronized dispatchers. + + + + + The list of all configurators used to create instances. + + Has to be thread-safe, as this collection can be accessed concurrently by many actors. + + + + Initializes a new instance of the class. + The system. + The prerequisites required for some instances. + + + Gets the one and only default dispatcher. + + + + The for the default dispatcher. + + + + + INTERNAL API + + Used when a plugin like Akka.Persistence needs to be able to load dispatcher configurations to the chain. + + TBD + + + + The prerequisites required for some instances. + + + + + Returns a dispatcher as specified in configuration. Please note that this method _MAY_ + create and return a new dispatcher on _EVERY_ call. + + TBD + + This exception is thrown if the specified dispatcher cannot be found in the configuration. + + TBD + + + + Checks that configuration provides a section for the given dispatcher. + This does not guarantee that no will be thrown + when using the dispatcher, because the details can only be checked by trying to + instantiate it, which might be undesirable when just checking. + + TBD + + + + INTERNAL API + + Creates a dispatcher from a . Internal test purpose only. + + From(Config.GetConfig(id)); + + + The Config must also contain an `id` property, which is the identifier of the dispatcher. + + The provided configuration section. + + This exception is thrown if the specified dispatcher cannot be found in . + It can also be thrown if the dispatcher path or type cannot be resolved. + + An instance of the , if valid. + + + + Register a that will be used by + and instead of looking up the configurator from the system + configuration. + + This enables dynamic addition of dispatchers. + + + A for a certain id can only be registered once, + i.e. it can not be replaced. It is safe to call this method multiple times, but only the + first registration will be used. + + + TBD + TBD + This method returns true if the specified configurator was successfully registered. + + + + INTERNAL API + + + + + The cached factory that gets looked up via configuration + inside + + + + + Used to configure and produce instances for use with actors. + + The configuration for this dispatcher. + System pre-reqs needed to run this dispatcher. + + + + Returns a instance. + + Whether or not this returns a new instance + or returns a reference to an existing instance is an implementation detail of the + underlying implementation. + + TBD + + + + Used by the to execute asynchronous invocations + + + + + TBD + + TBD + + + + The Id of the this executor is bound to + + + + + Queues or executes (depending on the implementation) the + + The asynchronous task to be executed + Thrown when the service can't accept additional tasks. + + + + Terminates this instance. + + + + + INTERNAL API + + Used to produce instances for use inside s + + + + + TBD + + TBD + TBD + + + + Thrown when a implementation rejects + + + + + TBD + + TBD + TBD + + + + Class FutureActor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The completion source. + The respond to. + + + + Processor for user defined messages. + + The message. + TBD + + + + Used to help give hints to the as to what types of this + actor requires. Used mostly for system actors. + + The type of required + + + + An asynchronous opreation will be executed by a . + + + + + TBD + + + + + which executes an + + + + + TBD + + TBD + + + + TBD + + + + + which executes an and an representing the state. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Semantics for message queues that support multiple consumers + + + + + Semantics for message queues that have an unbounded size + + + + + Semantics for message queues that have a bounded size + + + + + The enqueue time to wait until message is dropped to deadletters if the message queue is full + + + + + Semantics for message queues that are blocking + + + + + The time to wait on a lock before throwing an timeout exception. + + + + + Semantics for message queues that are Double-Ended. + + + + + TBD + + TBD + + + + Semantics for message queues that are Double-Ended and unbounded + + + + + Semantics for message queues that are Double-Ended and bounded + + + + + Mailbox base class + + + + + Status codes for the state of the mailbox + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The queue used for user-defined messages inside this mailbox + + + + + Creates a new mailbox + + The used by this mailbox. + + + + Posts the specified envelope to the mailbox. + + TBD + The envelope. + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Atomic reader for the system message queue + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + The for the underlying mailbox. + + + + + INTERNAL API + + must not be visible to user-defined implementations + + + + + Attaches an ActorCell to the Mailbox. + + TBD + + + + TBD + + + + + TBD + + + + + Returns the number of times this mailbox is currently suspended. + + + + + Returns true if the mailbox is currently suspended from processing. false otherwise. + + + + + Returns true if the mailbox is closed. false otherwise. + + + + + Returns true if the mailbox is scheduled for execution on a . false otherwise. + + + + + Updates the status of the current mailbox. + + + + + Forcefully sets the status of the current mailbox. + + + + + Reduce the suspend count by one. Caller does not need to worry about whether + status was or not. + + true if the suspend count reached zero. + + + + Increment the suspend count by one. Caller does not need to worry about whether + status was or not. + + true if the previous suspend count was zero. + + + + Set the new primary status to . + + true if we were able to successfully close the mailbox. false otherwise. + + + + Set scheduled status, keeping primary status as-is. + + Returns true if the set operation succeeded. false otherwise. + + + + Reset Scheduled status, keeping primary status as-is + + Returns true if the set operation succeeded. false otherwise. + + + + Processes the contents of the mailbox + + + + + Will at least try to process all queued system messages: in case of + failure simply drop and go on to the next, because there is nothing to + restart here (failure is in somewhere …). In case the mailbox + becomes closed (because of processing a message), dump all + already dequeued message to deadLetters. + + + + + Overrideable callback to clean up the mailbox, called + when an actor is unregistered. + + By default it dequeues all system messages + messages and ships them to the owning actor's systems' . + + + + + Enqueues a new into the for a given actor. + + The actor who will receive the system message. + The system message. + + + + Drains from this mailbox. + + The replacement queue for the system messages inside this mailbox. + + + + Returns true if there are instances inside this mailbox. + false otherwise. + + + + + Prints a message tosStandard out if the Compile symbol "MAILBOXDEBUG" has been set. + If the symbol is not set all invocations to this method will be removed by the compiler. + + TBD + TBD + + + + A factory to create s for an optionally provided . + + + Possibily important notice. + + When implementing a custom MailboxType, be aware that there is special semantics attached to + in that sending the returned may, for a short + period of time, enqueue the messages first in a dummy queue. Top-level actors are created in two steps, and only + after the guardian actor ahs performed that second step will all previously sent messages be transferred from the + dummy queue to the real mailbox. + + Implemented as an abstract class in order to enforce constructor requirements. + + + + + The settings for the given . + + + + + The configuration for this mailbox. + + + + + Constructor used for creating a + + The for this system. + The for this mailbox. + + + + Creates a new from the specified parameters. + + Optional. + Optional. + The resulting + + + + Compilment to + + The type of produced by this class. + + + + UnboundedMailbox is the default used by Akka.NET Actors + + + + + + + + Default constructor for an unbounded mailbox. + + + + + + + + The default bounded mailbox implementation + + + + + The capacity of this mailbox. + + + + + The push timeout value. Will throw a timeout error after this period of time + + + + + + This exception is thrown if the 'mailbox-capacity' in + or the 'mailbox-push-timeout-time' in is negative. + + + + + + + + Priority mailbox base class; unbounded mailbox that allows for prioritization of its contents. + Extend this class and implement the method with your own prioritization. + The value returned by the method will be used to order the message in the mailbox. + Lower values will be delivered first. Messages ordered by the same number will remain in delivery order. + + + + + Function responsible for generating the priority value of a message based on its type and content. + + The message to inspect. + An integer. The lower the value, the higher the priority. + + + + The initial capacity of the unbounded mailbox. + + + + + The default capacity of an unbounded priority mailbox. + + + + + + + + + + + UnboundedDequeBasedMailbox is an unbounded backed by a double-ended queue. Used for stashing. + + + + + + + + + + + BoundedDequeBasedMailbox is an bounded backed by a double-ended queue. Used for stashing. + + + + + The capacity of this mailbox. + + + + + The push timeout. Fires a if it takes longer than this to add a message to + a full bounded mailbox. + + + + + + This exception is thrown if the 'mailbox-capacity' in + or the 'mailbox-push-timeout-time' in is negative. + + + + + + + + Contains the directory of all s registered and configured with a given . + + + + + The system + + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + The system. + + + + TBD + + + + + Check if this actor class can have a required message queue type. + + The type to check. + true if this actor has a message queue type requirement. false otherwise. + + + + Check if this implements the interface. + + The type of the to check. + true if this mailboxtype produces queues. false otherwise. + + + + Returns a as specified in configuration, based on the type, or if not defined null. + + The mailbox we need given the queue requirements. + This exception is thrown if a mapping is not configured for the given . + A as specified in configuration, based on the type, or if not defined null. + + + + Returns a as specified in configuration, based on the id, or if not defined null. + + The ID of the mailbox to lookup + + This exception is thrown if the mailbox type is not configured or the system could not load or find the type specified. + + + This exception is thrown if the mailbox type could not be instantiated. + + The specified in configuration or if not defined null. + + + + INTERNAL API + + The id of the mailbox whose config we're going to generate. + A object for the mailbox with + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the 'mailbox-requirement' in the given isn't met. + + TBD + + + + Creates a mailbox from a configuration path. + + The path. + Mailbox. + + + + Base class for blocking message queues. Allows non thread safe data structures to be used as message queues. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + An Bounded mailbox message queue. + + + + Creates a new bounded message queue. + + The configuration for this mailbox. + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if the given is negative. + + + + + + + + + + + + + + + + + + + + The push timeout for this bounded queue. + + + + + Message queue for supporting within instances. + + Uses a internally - each individual + + + + + The underlying . + + + + + Takes another as an argument - wraps + in order to provide it with prepend () semantics. + + The underlying message queue wrapped by this one. + + + + Returns true if there are any messages inside the queue. + + + + + Returns the number of messages in both the internal message queue + and the prepend buffer. + + + + + + + + Attempt to dequeue a message from the front of the prepend buffer. + + If the prepend buffer is empty, dequeue a message from the normal + wrapped but this wrapper. + + The message to return, if any + true if a message was available, false otherwise. + + + + + + + Add a message to the front of the queue via the prepend buffer. + + The message we wish to append to the front of the queue. + + + + Interface to be implemented by all mailbox message queues + + + + + Tests if the message queue contains any messages + + + + + Returns the count of messages currently in the message queue + + + + + Enqueues an mailbox envelope onto the message queue + + + The receiver of the messages. + + This field is only used in a couple of places, but it should not be removed. + + The envelope to enqueue + + + + Tries to pull an envelope of the message queue + + The envelope that was dequeued + TBD + + + + Called when the this queue belongs to is disposed of. Normally + it is expected to transfer all remaining messages into the deadletter queue which is passed in. The owner + of this is passed in if available (e.g. for creating s), + "/deadletters" otherwise. + + The owner of this message queue if available, "/deadletters" otherwise. + The dead letters message queue. + + + + An unbounded double-ended queue. Used in combination with . + + + + + TBD + + + + + A bounded double-ended queue. Used in combination with . + + + + + TBD + + TBD + TBD + + + + Gets the underlying + + + This method is never called, but had to be implemented to support the interface. + + + + An unbounded mailbox message queue. + + + + + + + + + + + + + + + + + + + Base class for a message queue that uses a priority generator for messages + + + + + DEPRECATED. Use UnboundedPriorityMessageQueue(Func{object, int} priorityGenerator, int initialCapacity) instead. + + The initial capacity of the priority queue. + + + + Creates a new unbounded priority message queue. + + The calculator function for determining the priority of inbound messages. + The initial capacity of the queue. + + + + Unsafe method for computing the underlying message count. + + + Called from within a synchronization mechanism. + + + + + Unsafe method for enquing a new message to the queue. + + The message to enqueue. + + Called from within a synchronization mechanism. + + + + + Unsafe method for attempting to dequeue a message. + + The message that might be dequed. + true if a message was available to be dequeued, false otherwise. + + Called from within a synchronization mechanism. + + + + + Used to create instances of the . + + Each actor created using the pinned dispatcher gets its own unique thread. + + Always returns a new instance. + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Dedicates a unique thread for each actor passed in as reference. Served through its . + + The preferred way of creating dispatcher is to define them in configuration and then use the + method. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the registering is not the owner. + + + + + TBD + + TBD + + + + INTERNAL API + + Value class supporting list operations on instances. The + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + INTERNAL API + + Value type supporting list operations on system messages. The `next` field of + is hidden, and can only accessed through the value classes and + , abstracting over the fact that system messages are the + list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead. + + This list is mutable. + + The type of the list also encodes that the messages contained are in reverse order, i.e. the head of the list is the + latest appended element. + + + + + The front of the list. + + + + + TBD + + TBD + + + + Indicates if the list is empty or not. This operation has constant cost. + + + + + Indicates if the list has at least one element. This operation has a constant cost. + + + + + Indicates the number of elements contained within this list. O(N) operation time. + + + + + Gives back the list containing all the elements except the first. This operation has constant cost. + + ***Warning:*** as the underlying list nodes (the instances) are mutable, care + should be taken when passing the tail to other methods. should be + called on the head if one wants to detach the tail permanently. + + + + + Reverses the list. This operation mutates the underlying list. The cost of the call is O(N), where N is the number of elements. + + The type of the returned list ios the opposite order: . + + + + + Attaches a message to the current head of the list. This operation has constant cost. + + The list being modified. + The new item to add to the head of the list. + A new with appended to the front. + + + + INTERNAL API + + Value type supporting list operations on system messages. The `next` field of + is hidden, and can only accessed through the value classes and + , abstracting over the fact that system messages are the + list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead. + + This list is mutable. + + The type of the list also encodes that the messages contained are in reverse order, i.e. the head of the list is the + latest appended element. + + + + + The front of the list. + + + + + TBD + + TBD + + + + Indicates if the list is empty or not. This operation has constant cost. + + + + + Indicates if the list has at least one element. This operation has a constant cost. + + + + + Indicates the number of elements contained within this list. O(N) operation time. + + + + + Gives back the list containing all the elements except the first. This operation has constant cost. + + ***Warning:*** as the underlying list nodes (the instances) are mutable, care + should be taken when passing the tail to other methods. should be + called on the head if one wants to detach the tail permanently. + + + + + Reverses the list. This operation mutates the underlying list. The cost of the call is O(N), where N is the number of elements. + + The type of the returned list ios the opposite order: . + + + + + Attaches a message to the current head of the list. This operation has constant cost. + + The list being modified. + The new item to add to the head of the list. + A new with appended to the front. + + + + Prepends a list in a reversed order to the head of this list. The prepended list will be reversed during the process. + + The original list. + The list to be reversed and prepended. + A new list with reversed and prepended to the front of . + + Example: (3, 4, 5) reversePrepend (2, 1, 0) == (0, 1, 2, 3, 4, 5) + + + The cost of this operation is O(N) in the size of the list that is to be prepended. + + + + + INTERNAL API + + Signals to Akka.NET actors that we need to wait until children + have completed some operation (usually, shutting down) before we + can process this stashed . + + + + + INTERNAL API + + Stash this when the actor is in a failed state. + + + + + Class ISystemMessage. + + + + + INTERNAL API + + is an interface and too basic to express + all of the capabilities needed to express a full-fledged system message. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Switched into the mailbox to signal termination + + + + + TBD + + TBD + + + + Class DeathWatchNotification. + + + + + Initializes a new instance of the class. + + The actor. + if set to true [existence confirmed]. + if set to true [address terminated]. + + + + Gets the actor. + + The actor. + + + + Gets a value indicating whether [existence confirmed]. + + true if [existence confirmed]; otherwise, false. + + + + Gets a value indicating whether [address terminated]. + + true if [address terminated]; otherwise, false. + + + + TBD + + TBD + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + The child. + The cause. + The uid + + + + Gets the child. + + The child. + + + + Gets the cause. + + The cause. + + + + TBD + + + + + TBD + + TBD + + + + Class Supervise. + + + + + Initializes a new instance of the class. + + The child. + if set to true [asynchronous]. + + + + Gets a value indicating whether this is asynchronous. + + true if asynchronous; otherwise, false. + + + + Gets the child. + + The child. + + + + TBD + + TBD + + + + Creates a deathwatch subscription between and . + + will be notified via a message when + is stopped. In the case of a remote actor references, a may also be produced in + the event that the association between the two remote actor systems fails. + + + + + Initializes a new instance of the class. + + The watchee. + The watcher. + + + + Gets the watchee. + + The watchee. + + + + Gets the watcher. + + The watcher. + + + + TBD + + TBD + + + + Unsubscribes from any death watch notifications for . + + + + + Initializes a new instance of the class. + + The watchee. + The watcher. + + + + Gets the watchee. + + The watchee. + + + + Gets the watcher. + + The watcher. + + + + TBD + + TBD + + + + Class ActorTask. + + + + + Initializes a new instance of the class. + + The task. + + + + Gets the task. + + The task. + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + + + + Initializes a new instance of the class. + + The exception. + The message causing the exception + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + The cause. + + + + Gets the cause. + + The cause. + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + The caused by failure. + + + + Gets or sets the caused by failure. + + The caused by failure. + + + + TBD + + TBD + + + + Sent to self from + + + + + TBD + + TBD + + + + Class Stop. + + + + + TBD + + TBD + + + + INTERNAL + + + + + Initializes a new instance of the class. + + The child. + + + + Gets the child. + + The child. + + + + TBD + + TBD + + + + Class Escalate. + + + + + Initializes a new instance of the class. + + The reason. + + + + Gets the reason. + + The reason. + + + + TBD + + TBD + + + + Class Terminate. + + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Class Terminate. + + + + + TBD + + + + + TBD + + TBD + + + + helper class for configuring + instances who depend on the Helios . + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Default settings for instances. + + + + + Used inside Akka.Remote for constructing the low-level Helios threadpool, but inside + vanilla Akka it's also used for constructing custom fixed-size-threadpool dispatchers. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Used with instances to signal completion, + but there is no actual value completed. + + + + + The singleton instance of + + + + + This class represents an where the subscriber type is an . + + The type of event published to the bus. + The type of classifier used to classify events. + + + + This class represents an provider used to create the extension. + + + + + Creates the extension using a given actor system. + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + This class represents an extension used by remote and cluster death watchers + to publish notifications when a remote system is deemed dead. + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Retrieves the extension from the specified actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Registers the specified actor to receive notifications. + + The actor that is registering for notifications. + + + + Unregisters the specified actor from receiving notifications. + + The actor that is unregistering for notifications. + + + + Sends alls registered subscribers an notification. + + The message that is sent to all subscribers. + + + + A logging adapter implementation publishing log events to the event stream. + + + + + Initializes a new instance of the class. + + The logging bus instance that messages will be published to. + The log source. + The log class. + The log message formatter. + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Publishes the error message onto the LoggingBus. + + The error message. + + + + Publishes the error message and exception onto the LoggingBus. + + The exception that caused this error. + The error message. + + + + Publishes the warning message onto the LoggingBus. + + The warning message. + + + + Publishes the info message onto the LoggingBus. + + The info message. + + + + Publishes the debug message onto the LoggingBus. + + The debug message. + + + + Use with caution: Messages extending this trait will not be logged by the default dead-letters listener. + Instead they will be wrapped as and may be subscribed for explicitly. + + + + + Represents a message that could not be delivered to it's recipient. + This message wraps the original message, the sender and the intended recipient of the message. + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + + + The original message that could not be delivered. + + + + + The actor that was to receive the message. + + + + + The actor that sent the message. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + When a message is sent to an Actor that is terminated before receiving the message, it will be sent as a DeadLetter + to the ActorSystem's EventStream + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + This exception is thrown when either the sender or the recipient is undefined. + + + + + Similar to with the slight twist of NOT being logged by the default dead letters listener. + Messages which end up being suppressed dead letters are internal messages for which ending up as dead-letter is both expected and harmless. + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + This exception is thrown when either the sender or the recipient is undefined. + + + + + This class represents an actor responsible for listening to messages and logging them using the . + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + This class represents a Debug log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + Default logger implementation that outputs logs to the Console. + + + + + TBD + + TBD + TBD + + + + Print the specified log event. + + The log event that is to be output. + + + + This class represents an implementation that uses to format log messages. + + + + + Formats a specified composite string using an optional list of item substitutions. + + The string that is being formatted. + An optional list of items used to format the string. + The given string that has been correctly formatted. + + + + This class represents a Error log event. + + + + + Initializes a new instance of the class. + + The exception that caused the log event. + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + The exception that caused the log event. + + + + + Retrieves the used to classify this event. + + The used to classify this event. + + + + Returns a that represents this instance. + + A that represents this instance. + + + + This class provides base publish/subscribe functionality for working with events inside the system. + + The type of event published to the bus. + The type of classifier used to classify events. + The type of the subscriber that listens for events. + + + + Retrieves the simplified type name (the class name without the namespace) of a given object. + + The object that is being queried. + The simplified type name of the given object. + + + + Retrieves the simplified type name (the class name without the namespace) of a given type. + + The object that is being queried. + The simplified type name of the given type. + + + + Adds the specified subscriber to the list of subscribers that listen for particular events on the bus. + + The subscriber that is being added. + The classifier of the event that the subscriber wants. + true if the subscription succeeds; otherwise false. + + + + Removes the specified subscriber from the list of subscribers that listen for particular events on the bus. + + The subscriber that is being removed. + true if the subscription cancellation succeeds; otherwise false. + + + + Removes the specified subscriber from the list of subscribers that listen for particular events on the bus. + + The subscriber that is being removed. + The classifier of the event that the subscriber wants. + true if the subscription cancellation succeeds; otherwise false. + + + + Determines whether a specified classifier, , is a subclass of another classifier, . + + The potential parent of the classifier that is being checked. + The classifier that is being checked. + true if the classifier is a subclass of ; otherwise false. + + + + Publishes the specified event directly to the specified subscriber. + + The event that is being published. + The subscriber that receives the event. + + + + Classifies the specified event using the specified classifier. + + The event that is being classified. + The classifier used to classify the event. + true if the classification succeeds; otherwise false. + + + + Retrieves the classifier used to classify the specified event. + + The event for which to retrieve the classifier. + The classifier used to classify the event. + + + + Publishes the specified event to the bus. + + The event that is being published. + + + + INTERNAL API + + Watches all actors which subscribe on the given eventStream, and unsubscribes them from it when they are Terminated. + + Assumptions note: + We do not guarantee happens-before in the EventStream when 2 threads subscribe(a) / unsubscribe(a) on the same actor, + thus the messages sent to this actor may appear to be reordered - this is fine, because the worst-case is starting to + needlessly watch the actor which will not cause trouble for the stream. This is a trade-off between slowing down + subscribe calls * because of the need of linearizing the history message sequence and the possibility of sometimes + watching a few actors too much - we opt for the 2nd choice here. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + Provides factory for Akka.Event.EventStreamUnsubscriber actors with unique names. + This is needed if someone spins up more EventStreams using the same ActorSystem, + each stream gets it's own unsubscriber. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + The EventStream is a pub-sub stream of events that can be both system and user generated. + + The subscribers are IActorRef instances and events can be any object. Subscriptions are hierarchical meaning that if you listen to + an event for a particular type you will receive events for that type and any sub types. + + If the debug flag is activated any operations on the event stream will be published as debug level events. + + + + + Initializes a new instance of the class. + + if set to true [debug]. + + + + Subscribes the specified subscriber. + + The subscriber. + The channel. + + This exception is thrown if the given is undefined. + + true if subscription was successful, false otherwise. + + + + Unsubscribes the specified subscriber. + + The subscriber. + The channel. + + This exception is thrown if the given is undefined. + + true if unsubscription was successful, false otherwise. + + + + Unsubscribes the specified subscriber. + + The subscriber. + + This exception is thrown if the given is undefined. + + true if unsubscription was successful, false otherwise. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + Extension methods for the EventStream class. + + + + + Subscribes the specified subscriber. + + The channel. + The event stream. + The subscriber. + true if subscription was successful, false otherwise. + subscriber + + + + Unsubscribes the specified subscriber. + + The channel. + The event stream. + The subscriber. + true if unsubscription was successful, false otherwise. + subscriber + + + + Semantics needed for loggers + + + + + This interface describes the methods used to log events within the system. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Determines whether a specific log level is enabled. + + The log level that is being checked. + true if the specified level is enabled; otherwise false. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This class represents an implementation used when messages are to be dropped instead of logged. + + + + + Retrieves a singleton instance of the class. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Determines whether a specific log level is enabled. + + The log level that is being checked. + + true if the specified level is enabled; otherwise false. + + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Obsolete. Use instead! + + N/A + N/A + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This interface describes the methods used to format log messages. + + + + + Formats a specified composite string using an optional list of item substitutions. + + The string that is being formatted. + An optional list of items used to format the string. + The given string that has been correctly formatted. + + + + This class represents an Info log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + This class represents a message used to initialize a logger. + + + + + Initializes a new instance of the message. + + The bus used by the logger to log events. + + + + The bus used by the logger to log events. + + + + + This class represents a logging event in the system. + + + + + Initializes a new instance of the class. + + + + + The timestamp that this event occurred. + + + + + The thread where this event occurred. + + + + + The source that generated this event. + + + + + The type that generated this event. + + + + + The message associated with this event. + + + + + Retrieves the used to classify this event. + + The used to classify this event. + + + + Returns a that represents this LogEvent. + + A that represents this LogEvent. + + + + This class represents a message used to notify subscribers that a logger has been initialized. + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given or is undefined. + + TBD + + + + Mailbox type used by loggers + + + + + TBD + + TBD + TBD + + + + This class represents a marker which is inserted as originator class into + when the string representation was supplied directly. + + + + + This class provides the functionality for creating logger instances and helpers for converting to/from values. + + + + + Returns a singleton instance of the standard out logger. + + + + + Retrieves the log event class associated with the specified log level. + + The log level used to lookup the associated class. + The exception is thrown if the given is unknown. + The log event class associated with the specified log level. + + + + Retrieves the log event class name associated with the specified log level. + + The log level used to lookup the associated class. + The exception is thrown if the given is unknown. + The log event class name associated with the specified log level. + + + + Creates a new logging adapter using the specified context's event stream. + + The context used to configure the logging adapter. + The formatter used to format log messages. + The newly created logging adapter. + + + + Creates a new logging adapter using the specified system's event stream. + + The system used to configure the logging adapter. + The source that produces the log events. + The formatter used to format log messages. + The newly created logging adapter. + + + + Creates a new logging adapter that writes to the specified logging bus. + + The bus on which this logger writes. + The source that produces the log events. + The formatter used to format log messages. + The newly created logging adapter. + + + + Retrieves the log level from the specified string. + + The string representation of the log level to lookup. + The exception is thrown if the given is unknown. + The log level that matches the specified string. + + + + Retrieves the log level associated with the specified log event. + + The type of the log event. + The exception is thrown if the given is unknown. + The log level associated with the specified type. + + + + This class represents the base logging adapter implementation used to log events within the system. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The exception that caused the log event. + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Creates an instance of the LoggingAdapterBase. + + The log message formatter used by this logging adapter. + This exception is thrown when the given is undefined. + + + + Checks the logging adapter to see if the supplied is enabled. + + The log level to check if it is enabled in this logging adapter. + This exception is thrown when the given is unknown. + true if the supplied log level is enabled; otherwise false + + + + Notifies all subscribers that a log event occurred for a particular level. + + The log level associated with the log event. + The message related to the log event. + This exception is thrown when the given is unknown. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Obsolete. Use instead! + + N/A + N/A + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This class represents an event bus which subscribes loggers to system LogEvents. + + + + + The minimum log level that this bus will subscribe to, any LogEvents with a log level below will not be subscribed to. + + + + + Determines whether a specified classifier, , is a subclass of another classifier, . + + The potential parent of the classifier that is being checked. + The classifier that is being checked. + true if the classifier is a subclass of ; otherwise false. + + + + Publishes the specified event directly to the specified subscriber. + + The event that is being published. + The subscriber that receives the event. + + + + Classifies the specified event using the specified classifier. + + The event that is being classified. + The classifier used to classify the event. + true if the classification succeeds; otherwise false. + + + + Retrieves the classifier used to classify the specified event. + + The event for which to retrieve the classifier. + The classifier used to classify the event. + + + + Starts the loggers defined in the system configuration. + + The system that the loggers need to start monitoring. + + This exception is thrown if the logger specified in the configuration could not be found or loaded. + + + This exception is thrown if the logger doesn't respond with a message when initialized. + + + + + Stops the loggers defined in the system configuration. + + The system that the loggers need to stop monitoring. + + + + Starts the logger. + + The configuration used to configure the . + + + + Sets the minimum log level for this bus, any LogEvents below this level are ignored. + + The new log level in which to listen. + + + + Enumeration representing the various log levels in the system. + + + + + The debug log level. + + + + + The information log level. + + + + + The warning log level. + + + + + The error log level. + + + + + Represents a log message which is composed of a format string and format args. + + + + + Gets the format string of this log message. + + + + + Gets the format args of this log message. + + + + + Initializes an instance of the LogMessage with the specified formatter, format and args. + + The formatter for the LogMessage. + The string format of the LogMessage. + The format args of the LogMessage. + + + + TBD + + TBD + + + + This class represents an event logger that logs its messages to standard output (e.g. the console). + + + This logger is always attached first in order to be able to log failures during application start-up, + even before normal logging is started. + + + + + + Initializes the class. + + + + + N/A + + This exception is automatically thrown since does not support this property. + + + + The path where this logger currently resides. + + + + + Handles incoming log events by printing them to the console. + + The message to print + The actor that sent the message. + + This exception is thrown if the given is undefined. + + + + + The foreground color to use when printing Debug events to the console. + + + + + The foreground color to use when printing Info events to the console. + + + + + The foreground color to use when printing Warning events to the console. + + + + + The foreground color to use when printing Error events to the console. + + + + + Determines whether colors are used when printing events to the console. + + + + + Prints a specified event to the console. + + The event to print + + + + Represents a Subscription to the EventBus. + + The type of the subscriber. + The type of the classifier. + + + + Initializes a new instance of the class. + + The subscriber. + The unsubscriptions. + + + + Initializes a new instance of the class. + + The subscriber. + + + + Gets the subscriber attached to this subscription. + + The subscriber. + + + + Gets the unsubscriptions of this particular subscription. + + The unsubscriptions. + + + + This class represents an event logger that logs its messages using a configured trace listener. + + + To use activate this logger, modify the loggers section in your Akka.NET configuration like so, + + + akka { + ... + loggers = [""Akka.Event.TraceLogger, Akka""] + ... + } + + + Further configuration may be required in your main configuration (e.g. app.config or web.config) + to properly set up the trace. See here + for more information regarding .NET tracing. + + + + + + TBD + + TBD + + + + This class represents a message that was not handled by the recipient. + + + + + Initializes a new instance of the class. + + The original message that could not be handled. + The actor that sent the message. + The actor that was to receive the message. + + + + The original message that could not be handled. + + + + + The actor that sent the message. + + + + + The actor that was to receive the message. + + + + + This class represents a Warning log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + A rope-like immutable data structure containing bytes. + The goal of this structure is to reduce copying of arrays + when concatenating and slicing sequences of bytes, + and also providing a thread safe way of working with bytes. + + + + + Creates a new ByteString by copying a byte array. + + TBD + TBD + + + + Creates a new ByteString by copying length bytes starting at offset from + an Array. + + TBD + TBD + TBD + TBD + + + + Creates a new ByteString which will contain the UTF-8 representation of the given String + + TBD + TBD + + + + Creates a new ByteString which will contain the representation of the given String in the given charset + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if this cannot be concatenated with . + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + N/A + + + This exception is thrown automatically since iterators aren't supported in . + + N/A + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + This type is used in generic type signatures wherever the actual value is of no importance. + It is a combination of F#’s 'unit' and C#’s 'void', which both have different issues when + used from the other language. An example use-case is the materialized value of an Akka Stream for cases + where no result shall be returned from materialization. + + + + + The singleton instance of . + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Class PatternMatch. + + + + + Matches the specified target. + + The target. + Case. + + + + Matches the specified target and return a result of target processing. + + The target. + Case. + + + + Interface IMatchResult + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Class Case. + + + + + The _message + + + + + The _handled + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Initializes a new instance of the class. + + The message. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Defaults the specified action. + + The action. + IMatchResult. + + + + Class AlwaysHandled. + + + + + The instance + + + + + Prevents a default instance of the class from being created. + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Class Case with returning result. + + The type of return value + + + + The _message + + + + + The _handled + + + + + The final result of execution + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Initializes a new instance of the class. + + The message. + + + + Withes the specified action. + + The type of the t message. + The function. + Case. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Defaults the specified action. + + The default function. + The result of the matching + + + + Builds back-off options for creating a back-off supervisor. You can pass to . + + + + + Back-off options for creating a back-off supervisor actor that expects a child actor to restart on failure. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Back-off options for creating a back-off supervisor actor that expects a child actor to stop on failure. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Returns a new with automatic back-off reset. The back-off algorithm is reset if the child does not crash within the specified `resetBackoff`. + + The back-off is reset if the child does not crash within this duration + + + + Returns a new with manual back-off reset. The back-off is only reset if the child sends a `BackoffSupervisor.Reset` to its parent(the backoff-supervisor actor). + + + + + Returns a new with the supervisorStrategy. + + The that the back-off supervisor will use. The default supervisor strategy is used as fallback if the specified SupervisorStrategy (its decider) does not explicitly handle an exception + + + + Returns a new with a default . The default supervisor strategy is used as fallback for throwables not handled by . + + + + + Returns the props to create the back-off supervisor. + + + + + Actor used to supervise actors with ability to restart them after back-off timeout occurred. + It's designed for cases when i.e. persistent actor stops due to journal unavailability or failure. + In this case it better to wait before restart. + + + + + Send this message to the and it will reply with containing the `ActorRef` of the current child, if any. + + + + + TBD + + + + + Send this message to the and it will reply with containing the `ActorRef` of the current child, if any. + + + + + TBD + + TBD + + + + Send this message to the and it will reset the back-off. This should be used in conjunction with `withManualReset` in . + + + + + TBD + + + + + Props for creating a actor. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Props for creating a actor from . + + The that specify how to construct a backoff-supervisor. + + + + + Props for creating a actor with a custom supervision strategy. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + The supervision strategy to use for handling exceptions in the child + + + + TBD + + + + + Provides circuit breaker functionality to provide stability when working with + "dangerous" operations, e.g. calls to remote systems + + + + Transitions through three states: + + + In *Closed* state, + calls pass through until the maxFailures count is reached. + This causes the circuit breaker to open. Both exceptions and calls exceeding + callTimeout are considered failures. + + + In *Open* state, + calls fail-fast with an exception. After resetTimeout, + circuit breaker transitions to half-open state. + + + In *Half-Open* state, + the first call will be allowed through, if it succeeds + the circuit breaker will reset to closed state. If it fails, the circuit + breaker will re-open to open state. All calls beyond the first that execute + while the first is running will fail-fast with an exception. + + + + + + + The current state of the breaker -- Closed, Half-Open, or Closed -- *access only via helper methods* + + + + + Helper method for access to the underlying state via Interlocked + + Previous state on transition + Next state on transition + Whether the previous state matched correctly + + + + Helper method for access to the underlying state via Interlocked + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Create a new CircuitBreaker + + Maximum number of failures before opening the circuit + of time after which to consider a call a failure + of time after which to attempt to close the circuit + TBD + + + + Create a new CircuitBreaker + + Maximum number of failures before opening the circuit + of time after which to consider a call a failure + of time after which to attempt to close the circuit + TBD + + + + Retrieves current failure count. + + + + + Wraps invocation of asynchronous calls that need to be protected + + TBD + Call needing protected + containing the call result + + + + Wraps invocation of asynchronous calls that need to be protected + + Call needing protected + + + + + The failure will be recorded farther down. + + TBD + + + + Wraps invocations of asynchronous calls that need to be protected + If this does not complete within the time allotted, it should return default() + + + Await.result( + withCircuitBreaker(try Future.successful(body) catch { case NonFatal(t) ⇒ Future.failed(t) }), + callTimeout) + + + + TBD + TBD + or default() + + + + Adds a callback to execute when circuit breaker opens + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Adds a callback to execute when circuit breaker transitions to half-open + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Adds a callback to execute when circuit breaker state closes + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Implements consistent transition between states. Throws IllegalStateException if an invalid transition is attempted. + + State being transitioning from + State being transitioned to + + This exception is thrown if an invalid transition is attempted from to . + + + + + Trips breaker to an open state. This is valid from Closed or Half-Open states + + State we're coming from (Closed or Half-Open) + + + + Resets breaker to a closed state. This is valid from an Half-Open state only. + + + + + Attempts to reset breaker by transitioning to a half-open state. This is valid from an Open state only. + + + + + Concrete implementation of Open state + + + + + TBD + + TBD + + + + N/A + + N/A + N/A + This exception is thrown automatically since the circuit is open. + N/A + + + + N/A + + N/A + This exception is thrown automatically since the circuit is open. + N/A + + + + No-op for open, calls are never executed so cannot succeed or fail + + + + + No-op for open, calls are never executed so cannot succeed or fail + + + + + On entering this state, schedule an attempted reset and store the entry time to + calculate remaining time before attempted reset. + + + + + Concrete implementation of half-open state + + + + + TBD + + TBD + + + + Allows a single call through, during which all other callers fail-fast. If the call fails, the breaker reopens. + If the call succeeds, the breaker closes. + + TBD + Implementation of the call that needs protected + TBD + containing result of protected call + + + + Allows a single call through, during which all other callers fail-fast. If the call fails, the breaker reopens. + If the call succeeds, the breaker closes. + + Implementation of the call that needs protected + TBD + containing result of protected call + + + + Reopen breaker on failed call. + + + + + Reset breaker on successful call. + + + + + On entry, guard should be reset for that first call to get in + + + + + Override for more descriptive toString + + TBD + + + + Concrete implementation of Closed state + + + + + TBD + + TBD + + + + Implementation of invoke, which simply attempts the call + + TBD + Implementation of the call that needs protected + containing result of protected call + + + + Implementation of invoke, which simply attempts the call + + Implementation of the call that needs protected + containing result of protected call + + + + On failed call, the failure count is incremented. The count is checked against the configured maxFailures, and + the breaker is tripped if we have reached maxFailures. + + + + + On successful call, the failure count is reset to 0 + + + + + On entry of this state, failure count is reset. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Used to help make it easier to schedule timeouts in conjunction + with the built-in + + + + + Returns a that will be completed with the success or failure + of the provided value after the specified duration. + + The return type of task. + The duration to wait. + The scheduler instance to use. + The task we're going to wrap. + a that will be completed with the success or failure + of the provided value after the specified duration + + + + This exception is thrown when a method has been invoked at an illegal or inappropriate time. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The inner that was thrown. + + + + This exception is thrown when the CircuitBreaker is open. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + This class contains logic used by a to route a message to multiple routees. + + + + + Picks all the routees in to receive the . + + The message that is being routed. + A collection of routees that receives the . + A that contains all the given that receives the . + + + + This class represents a router that sends messages it receives to all of its routees. + + + + + Initializes a new instance of the class. + + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages it receives to all of its routees. + + + + + Initializes a new instance of the class. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + The configuration to use to lookup paths used by the group router. + + + + Initializes a new instance of the class. + + A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + + + + Obsolete. Use instead. + + new BroadcastGroup(actorRefs.Select(c => c.Path.ToString())) + + + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The dispatcher to use when passing messages to the routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Consistent Hashing node ring implementation. + + A good explanation of Consistent Hashing: + http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html + + Note that toString of the ring nodes are used for the node + hash, i.e. make sure it is different for different nodes. + + The type of objects to store in the hash. + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if the given is less than one. + + + + + Adds a node to the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The node to add to the hash ring + A new instance of this hash ring with the given node added. + + + + Removes a node from the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The node to remove from the hash ring + A new instance of this hash ring with the given node removed. + + + + Retrieves the node associated with the data key. + + The data key used for lookup. + + This exception is thrown if the node ring is empty. + + The node associated with the data key + + + + Retrieves the node associated with the data key. + + The data key used for lookup. + + This exception is thrown if the node ring is empty. + + The node associated with the data key + + + + Check to determine if the node ring is empty (i.e. no nodes added or all removed) + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + Adds a node to the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The hash ring used to derive a new ring with the given node added. + The node to add to the hash ring + A new instance of this hash ring with the given node added. + + + + Removes a node from the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The hash ring used to derive a new ring with the given node removed. + The node to remove from the hash ring + A new instance of this hash ring with the given node removed. + + + + Static helper class for creating instances. + + + + + Factory method to create a instance. + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Translate the offered object into a byte array, or returns the original object + if it needs to be serialized first. + + An arbitrary .NET object + The object encoded into bytes - in the case of custom classes, the hashcode may be used. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Static class for assisting with instances + + + + + Default empty implementation + + + + + This interface marks a given class as consistently hashable, for use with + or + routers. + + + + + The consistent hash key of the marked class. + + + + + This class represents a that can be wrapped around a message in order to make + it hashable for use with or routers. + + + + + Initializes a new instance of the class. + + The message that is being wrapped in the envelope. + The key used as the consistent hash key for the envelope. + + + + The key used as the consistent hash key. + + + This is the same as the + + + + + + The consistent hash key of the envelope. + + + + + Delegate for computing the hashkey from any given type of message. Extracts the property / data + that is going to be used for a given hash, but doesn't actually return the hash values themselves. + + If returning a byte[] or string it will be used as is, otherwise the configured + will be applied to the returned data. + + + + + This class contains logic used by a to route a message to a + determined using consistent-hashing. This process has the router select a routee based on a message's + consistent hash key. There are 3 ways to define the key, which can be used individually or combined + to form the key. The is tried first. + +
    +
  1. + You can define a or use + of the router to map incoming messages to their consistent hash key. + This makes the decision transparent for the sender. +
  2. +
  3. + Messages may implement . The hash key is part + of the message and it's convenient to define it together with the message + definition. +
  4. +
  5. + The message can be wrapped in a to + define what data to use for the consistent hash key. The sender knows what key + to use. +
  6. +
+
+
+ + + Initializes a new instance of the class. + + + A configured in this way uses the + as the hash + mapping function with a virtual node factor of 0 (zero). + + + The actor system that owns the router with this logic. + + + + Initializes a new instance of the class. + + The actor system that owns the router with this logic. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + + + + Picks a to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + Creates a new router logic with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + + This exception is thrown if the given is undefined. + + A new router logic with the provided . + + + + INTERNAL API + + Important to use ActorRef with full address, with host and port, in the hash ring, + so that same ring is produced on different nodes. + The ConsistentHash uses toString of the ring nodes, and the ActorRef itself + isn't a good representation, because LocalActorRef doesn't include the + host and port. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + This class represents a router that sends messages to a determined using consistent-hashing. + Please refer to for more information on consistent hashing. + + + Using with is potentially harmful, as hash ranges + might change radically during live message processing. This router works best with fixed-sized pools or fixed + number of routees per node in the event of clustered deployments. + + + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + + 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. + + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The consistent hash mapping function to use on incoming messages. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + + + + Virtual nodes used in the . + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + Using with is potentially harmful, as hash ranges + might change radically during live message processing. This router works best with fixed-sized pools or fixed + number of routees per node in the event of clustered deployments. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Setting the number of virtual nodes per node, used in . + + A new router with the provided dispatcher id. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + + This exception is thrown if the given is not a . + + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using consistent-hashing. + Please refer to for more information on consistent hashing. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. + + + + + + Initializes a new instance of the class. + + >A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + A list of actor paths used by the group router. + + + + Obsolete. Use instead. + + new ConsistentHashingGroup(actorRefs.Select(c => c.Path.ToString())) + + + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The consistent hash mapping function to use on incoming messages. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + The dispatcher to use when passing messages to the routees. + + + + Virtual nodes used in the . + + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + + This exception is thrown if the given is not a . + + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This interface is needed to implement listening capabilities on an actor. + + +
    +
  • Use the method to send a message to the listeners.
  • +
  • Send Listen(Self) to another Actor to start listening.
  • +
  • Send Deafen(Self) to another Actor to stop listening.
  • +
  • Send WithListeners(delegate) to traverse the current listeners.
  • +
+
+
+
+ + + Retrieves the support needed to interact with an actor's listeners. + + + + + This class represents a message sent by an actor to another actor that is listening to it. + + + + + The class represents a sent by an to another + instructing the second actor to start listening for messages sent by the first actor. + + + + + Initializes a new instance of the class. + + The actor that receives the message. + + + + The actor that receives the message. + + + + + The class represents a sent by an to another + instructing the second actor to stop listening for messages sent by the first actor. + + + + + Initializes a new instance of the class. + + The actor that no longer receives the message. + + + + The actor that no longer receives the message. + + + + + This class represents a instructing an + to perform a supplied for all of its listeners. + + + + + Initializes a new instance of the class. + + The action to perform for all of an actor's listeners. + + + + The action to perform for all of an actor's listeners. + + + + + This class adds capabilities to an actor. + + + must be wired manually into the actor's + method. + + + + + + The collection of registered listeners that is listening for messages from an actor. + + + + + Retrieves the wiring needed to implement listening functionality. + + + This needs to be chained into the actor's method. + + + + + + Adds the specified actor to the collection of registered listeners. + + The actor to add to the collection of registered listeners. + + + + Removes the specified actor from the collection of registered listeners. + + The actor to remove from the collection of registered listeners. + + + + Sends the supplied message to all registered listeners. + + + Messages sent this way use as the sender. + + + The message sent to all registered listeners. + + + + Sends the supplied message to all registered listeners. + + The message sent to all registered listeners. + The actor that sends the message. + + + + This class contains logic used by a to route a message to a random . + + + + + Picks a random to receive the . + + The message that is being routed. + A collection of routees to randomly choose from when receiving the . + A that receives the . + + + + This class represents a router that sends messages to a random . + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + This class represents a router that sends messages to a random . + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + + + + Initializes a new instance of the class. + + >A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of paths used by the group router. + The dispatcher to use when passing messages to the routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + INTERNAL API. + + Defines routers who can resize the number of routees + they use based on a defined + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Command used to resize a + + + + + INTERNAL API + + + + + must always use ResizeInProgressState static class to compare or assign values + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if pool's resizer is undefined. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + routers with dynamically resizable number of routees are implemented by providing a Resizer + implementation in the configuration + + + + + Is it time for resizing. Typically implemented with modulo of nth message, but + could be based on elapsed time or something else. The messageCounter starts with 0 + for the initial resize and continues with 1 for the first message. Make sure to perform + initial resize before first message (messageCounter == 0), because there is no guarantee + that resize will be done when concurrent messages are in play. + + CAUTION: this method is invoked from the thread which tries to send a + message to the pool, i.e. the ActorRef.!() method, hence it may be called + concurrently. + + TBD + TBD + + + + Decide if the capacity of the router need to be changed. Will be invoked when `isTimeForResize` + returns true and no other resize is in progress. + + Return the number of routees to add or remove. Negative value will remove that number of routees. + Positive value will add that number of routess. 0 will not change the routees. + + This method is invoked only in the context of the Router actor. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Implementation of that adjust the based on specified thresholds. + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception can be thrown for a number of reasons. These include: +
    +
  • The given bound was negative.
  • +
  • The given bound was negative.
  • +
  • The given bound was below the bound.
  • +
  • The given was negative.
  • +
  • The given was greater than one.
  • +
  • The given was negative.
  • +
  • The given was less than one.
  • +
+
+
+ + + TBD + + TBD + TBD + + + + Creates a new DefaultResizer from the given configuration + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Returns the overall desired change in resizer capacity. Positive value will + add routees to the resizer. Negative value will remove routees from the + resizer + + The current actor in the resizer + the number of routees by which the resizer should be adjusted (positive, negative or zero) + + + + Number of routees considered busy, or above 'pressure level'. + + Implementation depends on the value of `pressureThreshold` + (default is 1). +
    +
  • 0: number of routees currently processing a message.
  • +
  • 1: number of routees currently processing a message has + some messages in mailbox.
  • +
  • > 1: number of routees with at least the configured `pressureThreshold` + messages in their mailbox. Note that estimating mailbox size of + default UnboundedMailbox is O(N) operation.
  • +
+
+ An enumeration of the current routees + The number of routees considered to be above pressure level. +
+ + + This method can be used to smooth the capacity delta by considering + the current pressure and current capacity. + + pressure current number of busy routees + capacity current number of routees + proposed change in the capacity + + + + Computes a proposed positive (or zero) capacity delta using + the configured `rampupRate`. + + the current number of busy routees + the current number of total routees + proposed increase in capacity + + + + Computes a proposed negative (or zero) capacity delta using + the configured `backoffThreshold` and `backoffRate` + + pressure current number of busy routees + capacity current number of routees + proposed decrease in capacity (as a negative number) + + + + The fewest number of routees the router should ever have. + + + + + The most number of routees the router should ever have. + Must be greater than or equal to `lowerBound`. + + + + + * Threshold to evaluate if routee is considered to be busy (under pressure). + Implementation depends on this value (default is 1). +
    +
  • 0: number of routees currently processing a message.
  • +
  • 1: number of routees currently processing a message has + some messages in mailbox.
  • +
  • > 1: number of routees with at least the configured `pressureThreshold` + messages in their mailbox. Note that estimating mailbox size of + default UnboundedMailbox is O(N) operation.
  • +
+
+
+ + + Percentage to increase capacity whenever all routees are busy. + For example, 0.2 would increase 20% (rounded up), i.e. if current + capacity is 6 it will request an increase of 2 more routees. + + + + + Minimum fraction of busy routees before backing off. + For example, if this is 0.3, then we'll remove some routees only when + less than 30% of routees are busy, i.e. if current capacity is 10 and + 3 are busy then the capacity is unchanged, but if 2 or less are busy + the capacity is decreased. + + Use 0.0 or negative to avoid removal of routees. + + + + + Fraction of routees to be removed when the resizer reaches the + backoffThreshold. + For example, 0.1 would decrease 10% (rounded up), i.e. if current + capacity is 9 it will request an decrease of 1 routee. + + + + + Number of messages between resize operation. + Use 1 to resize before each message. + + + + + Determines whether the specified resizer, is equal to this instance. + + The resizer to compare. + true if the specified router is equal to this instance; otherwise, false. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + This class contains logic used by a to route a message to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router iterates + again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The index to use when starting the selection process. Note that it will start at (next + 1). + + + + Picks the next in the collection to receive the . + + The message that is being routed. + A collection of routees to choose from when receiving the . + A that is receives the . + + + + This class represents a router that sends messages to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router + iterates again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router + iterates again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + The configuration parameter trumps the constructor arguments. This means that + if you provide `paths` during instantiation they will be ignored if + the router is defined in the configuration file for the actor being used. + + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + + + + Initializes a new instance of the class. + + A list of paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + + + + Obsolete. Use instead. + + N/A + + + + Initializes a new instance of the class. + + A list of paths used by the group router. + The dispatcher to use when passing messages to routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Remove routees from . Messages in flight may still + be routed to the old instance containing the old routees. + + TBD + TBD + + + + Used to stop child routees - typically used in resizable routers + + TBD + + + + TBD + + + + + Called when is initialized but before the base class' to + be able to do extra initialization in a subclass. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + This class contains logic used by a to route messages to one or more actors. + These actors are known in the system as a . + + + + + Picks a to receive the . + + Normally it picks one of the passed routees, but it is up to the implementation + to return whatever to use for sending a specific message. + + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Create a new instance with the specified routees and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + This class provides base functionality used in the creation and configuration of the various routers in the system. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + This method defaults to setting the dispatcher to use the . + + + The dispatcher to use when passing messages to routees. + + + + A configuration that specifies that no router is to be used. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The ActorSystem this router belongs to. + The newly created router tied to the given system. + + + + Dispatcher ID to use for running the "head" actor, which handles supervision, death watch and router management messages. + + + + + Possibility to define an actor for controlling the routing + logic from external stimuli(e.g.monitoring metrics). + This actor will be a child of the router "head" actor. + Management messages not handled by the "head" actor are + delegated to this controller actor. + + + + + Determines whether a provided message is handled by the router. + + The message to inspect. + true if this message is handled by the router; otherwise false. + + + + Specify that this router should stop itself when all routees have terminated (been removed). + By Default it is `true`, unless a `resizer` is used. + + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Check that everything is there which is needed. Called in constructor of RoutedActorRef to fail early. + + TBD + + + + The router "head" actor. + + + + + Creates a surrogate representation of the current router. + + The actor system that owns this router. + The surrogate representation of the current router. + + + + + + + + + + This class provides base functionality for all group routers in the system. + Group routers are routers that use already created routees. These routees + are supplied to the router and are addressed through + paths. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Adds the current router to an empty . + + An empty configured to use the current router. + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + + + + + + + + + + This class provides base functionality for all pool routers in the system. + Pool routers are routers that create their own routees based on the provided + configuration. + + + + + Initializes a new instance of the class. + + If a is not provided, this constructor sets up + the pool to use the default dispatcher . + + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Retrieves the current number of routees in the pool. + + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Retrieve whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + Creates a new configured to use the provided + and the pool dispatcher if enabled. + + The to configure with the pool dispatcher. + The context for the provided . + + A new configured to use the provided + and the pool dispatcher if enabled. + + + + + TBD + + TBD + TBD + TBD + + + + Retrieve the resizer to use when dynamically allocating routees to the pool. + + + + + Retrieve the strategy to use when supervising the pool. + + + + + Adds the current router to the provided . + + The to configure with the current router. + The provided configured to use the current router. + + + + Specify that this router should stop itself when all routees have terminated (been removed). + + + + + TBD + + TBD + + + + TBD + + + + + + + + + + + + + + If a custom router implementation is not a nor + a it may extend this base class. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Router configuration which has no default, i.e. external configuration is required. + This can be used when the dispatcher to be used for the head Router needs to be configured + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + + + + Retrieves a based on what's stored in the configuration. + + This router is set to use the default dispatcher . + + + + + + N/A + + N/A + + This exception is automatically thrown since cannot create routers. + + N/A + + + + N/A + + + This exception is automatically thrown since cannot create router actors. + + N/A + + + + N/A + + N/A + + This exception is automatically thrown since 'akka.actor.dispatch' is missing router configuration for . + + N/A + + + + Setting the supervisor strategy to be used for the "head" Router actor + + TBD + TBD + + + + Setting the resizer to be used. + + TBD + TBD + + + + Setting the dispatcher to be used for the router head actor, which handles + supervision, death watch and router management messages. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Enriches a with what what's stored in the router configuration. + + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Routing configuration that indicates no routing; this is also the default + value which hence overrides the merge strategy in order to accept values + from lower-precedence sources. The decision whether or not to create a + router is taken in the based on . + + + + + TBD + + + + + N/A + + N/A + + This exception is automatically thrown since cannot create routers. + + N/A + + + + N/A + + + This exception is automatically thrown since cannot create router actors. + + N/A + + + + N/A + + + This exception is automatically thrown since does not have a dispatcher. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class contains convenience methods used to send messages to a . + + + + + Sends a to a + to retrieve a list of routees that the router is currently using. + + + + + This class represents a non-routed message that is processed by the . + These types of messages are for managing the router itself, like adding routees, deleting + routees, etc. + + + + + This class represents a sent to a instructing + it to send a message back to the requestor that lists the routees that the router + is currently using. + + + + + This class represents a message used to carry information about what routees a is currently using. + + + + + Initializes a new instance of the class. + + The routees that a is currently using. + + + + An enumeration of routees that a is currently using. + + + + + This class represents a sent to a instructing + it to remove a specific routee from the router's collection of routees. It may be handled after other messages. + + + For a pool with child routees the routee is stopped by sending a + to the routee. Precautions are taken to reduce the risk of dropping messages that are concurrently + being routed to the remove routee, but there are no guarantees. + + + + + + Initializes a new instance of the class. + + The routee to remove from the router's collection of routees. + + + + The routee removed from the router's collection of routees. + + + + + This class represents a sent to a instructing + it to add a specific routee to the router's collection of routees. It may be handled after other messages. + + + + + Initializes a new instance of the class. + + The routee added to the router's collection of routees. + + + + The routee added to the router's collection of routees. + + + + + This class represents a sent to a router instructing + it to increase or decrease the number of alloted routees the router can use. It may be handled after other messages. + + + Positive will add that number of routees to the . + Negative will remove that number of routees from the . + + + Routees are stopped by sending a to the routee. + Precautions are taken to reduce the risk of dropping messages that are concurrently + being routed to the remove routee, but there are no guarantees. + + + + + + Initializes a new instance of the class. + + The number of routees to add or subtract from the . + + + + The number of routees added or subtracted from the . + + + + + INTERNAL API + + Actor implementation for routers. + + + + + TBD + + + + + Initializes a new instance of the class. + + The supervisor strategy. + TBD + + + + TBD + + TBD + + + + Called when [receive]. + + The message. + + + + This class contains logic used by a to route a message to a determined + using scatter-gather-first-completed. This process has the router send a message to all of its routees. The first + response is used and the remaining are discarded. If the none of the routees respond within a specified time + limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The amount of time to wait for a response. + + + + Picks all the provided to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + This class represents a single point that sends messages to a determined + using scatter-gather-first-completed. This process has the router send a message to all of its routees. The first + response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The list of routees that the router uses to send messages. + The time within which at least one response is expected. + + + + Sends a message to the collection of routees. + + The message that is being sent. + The actor sending the message. + + + + This class represents a router that sends messages to a determined using scatter-gather-first-completed. + This process has the router send a message to all of its routees. The first response is used and the remaining are discarded. If the none of the + routees respond within a specified time limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + 'within' must be defined in the provided configuration. + + + + + + Initializes a new instance of the class. + + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The amount of time to wait for a response. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + The amount of time to wait for a response. + true to use the pool dispatcher; otherwise false. + + + + The amount of time to wait for a response. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The amount of time to wait for a response. + + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using scatter-gather-first-completed. + This process has the router send a message to all of its routees. The first response is used and the remaining are discarded. If the none of the + routees respond within a specified time limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + If 'within' is defined in the provided configuration then that will be used as the interval. + + + + + + Initializes a new instance of the class. + + The amount of time to wait for a response. + A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The amount of time to wait for a response. + + + + Obsolete. Use instead. + + new ScatterGatherFirstCompletedGroup(actorRefs.Select(c => c.Path.ToString()), within) + + + N/A + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The amount of time to wait for a response. + The dispatcher to use when passing messages to the routees. + + + + The amount of time to wait for a response. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The amount of time to wait for a response. + + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class contains logic used by a to route a message to a + determined using smallest-mailbox. This process has the router select a routee based on the fewest number + of messages in its routees' mailbox. The selection is done in the following order: + +
    +
  • Pick any routee with an empty mailbox.
  • +
  • Pick a routee with the fewest pending messages in its mailbox.
  • +
  • Pick any remaining routees.
  • +
+ + Remote routees are consider lowest priority, since their mailbox size is unknown. + + + For the case, when all routees are of unpredictable size, the selection process fails back to round-robin. + +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Seed value used in the fallback selection process. + + + + Picks a to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + This class represents a router that sends messages to a determined using smallest-mailbox. + Please refer to for more information on the selection process. + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class contains logic used by a to route a message to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The time within which at least one response is expected. + The duration after which the next routee will be picked. + The used to force deadlines. + + + + Picks all of the provided to receive the . + + The message that is being routed + A collection of routees used when receiving the . + A that receives the . + + + + This class represents a single point that sends messages to a determined using tail-chopping. + This process has the routee select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The list of routees that the router uses to send messages. + The time within which at least one response is expected. + The duration after which the next routee will be picked. + The used to force deadlines. + + + + Sends a message to the collection of routees. + + The message that is being sent. + The actor sending the message. + + + + This class represents a router that sends messages to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + 'nr-of-instances', 'within', and 'tail-chopping-router.interval' + must be defined in the provided configuration. + + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + true to use the pool dispatcher; otherwise false. + + + + The amount of time to wait for a response. + + + + + The amount of time to wait before sending to the next routee. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + The interval to wait before sending to the next routee. + + + The amount of time to wait for a response. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + If 'within' is defined in the provided configuration then that will be used as the timeout. + If 'tail-chopping-router.interval' is defined in the provided configuration then that will be used as the interval. + + + + + + Initializes a new instance of the class. + + The actor paths used by this router during routee selection. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + + + + Initializes a new instance of the class. + + The actor paths used by this router during routee selection. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + The dispatcher to use when passing messages to the routees. + + + + The amount of time to wait for a response. + + + + + The amount of time to wait before sending to the next routee. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The amount of time to wait for a response. + + + + + The interval to wait before sending to the next routee. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This is a special that serializes and deserializes byte arrays only + (just returns the byte array unchanged/uncopied). + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + + This exception is thrown if the given is not a byte array. + + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + A typed settings for a class. + + + + + A default instance of used when no custom configuration has been provided. + + + + + Creates a new instance of the based on a provided . + Config may define several key-values: +
    +
  • `encode-type-names` (boolean) mapped to
  • +
  • `preserve-object-references` (boolean) mapped to
  • +
  • `converters` (type list) mapped to . They must implement and define either default constructor or constructor taking as its only parameter.
  • +
+
+ Raised when no was provided. + Raised when types defined in `converters` list didn't inherit . +
+ + + When true, serializer will encode a type names into serialized json $type field. This must be true + if is a default serializer in order to support polymorphic + deserialization. + + + + + When true, serializer will track a reference dependencies in serialized object graph. This must be + true if . + + + + + A collection of an additional converter types to be applied to a . + Converters must inherit from class and implement a default constructor. + + + + + Creates a new instance of the . + + Determines if a special `$type` field should be emitted into serialized JSON. Must be true if corresponding serializer is used as default. + Determines if object references should be tracked within serialized object graph. Must be true if corresponding serialize is used as default. + A list of types implementing a to support custom types serialization. + + + + This is a special that serializes and deserializes javascript objects only. + These objects need to be in the JavaScript Object Notation (JSON) format. + + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + TBD + + + + + TBD + + TBD + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + true if this instance can convert the specified object type; otherwise, false. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + This is a special that serializes and deserializes nulls only + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Completely unique value to identify this implementation of the used to optimize network traffic + + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Serialization information needed for serializing local actor refs. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Deserializes the given array of bytes using the specified serializer id, using the optional type hint to the Serializer. + + TBD + TBD + TBD + + This exception is thrown if the system cannot find the serializer with the given . + + The resulting object + + + + Deserializes the given array of bytes using the specified serializer id, using the optional type hint to the Serializer. + + TBD + TBD + TBD + + This exception is thrown if the system cannot find the serializer with the given + or it couldn't find the given with the given . + + The resulting object + + + + Returns the Serializer configured for the given object, returns the NullSerializer if it's null. + + TBD + TBD + + + + Returns the configured Serializer for the given Class. The configured Serializer + is used if the configured class `IsAssignableFrom` from the type, i.e. + the configured class is a super class or implemented interface. In case of + ambiguity it is primarily using the most specific configured class, + and secondly the entry configured first. + + TBD + + This exception is thrown if the serializer of the given could not be found. + + TBD + + + + TBD + + TBD + TBD + + + + A Serializer represents a bimap between an object and an array of bytes representing that object. + + Serializers are loaded using reflection during + start-up, where two constructors are tried in order: + +
    +
  • taking exactly one argument of type ; + this should be the preferred one because all reflective loading of classes + during deserialization should use ExtendedActorSystem.dynamicAccess (see + [[akka.actor.DynamicAccess]]), and
  • +
  • without arguments, which is only an option if the serializer does not + load classes using reflection.
  • +
+ + Be sure to always use the PropertyManager for loading classes! This is necessary to + avoid strange match errors and inequalities which arise from different class loaders loading + the same class. +
+
+ + + The actor system to associate with this serializer. + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Completely unique value to identify this implementation of Serializer, used to optimize network traffic + Values from 0 to 16 is reserved for Akka internal usage + + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Serializes the given object into a byte array and uses the given address to decorate serialized ActorRef's + + The address to use when serializing local ActorRef´s + The object to serialize + TBD + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Deserializes a byte array into an object. + + The array containing the serialized object + The object contained in the array + + + + TBD + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Deserializes a byte array into an object using an optional (type hint). + + The array containing the serialized object + The type hint used to deserialize the object contained in the array. + The object contained in the array + + + + Returns the manifest (type hint) that will be provided in the method. + + + This method returns if a manifest is not needed. + + + The object for which the manifest is needed. + The manifest needed for the deserialization of the specified . + + + + INTERNAL API. + + + + + TBD + + + + + TBD + + TBD + TBD + + This exception is thrown if the system couldn't find the given serializer id in the configuration. + + TBD + + + + Implementation of the java.concurrent.util.AtomicBoolean type. + + Uses internally to enforce ordering of writes + without any explicit locking. .NET's strong memory on write guarantees might already enforce + this ordering, but the addition of the MemoryBarrier guarantees it. + + + + + Sets the initial value of this to . + + TBD + + + + The current value of this + + + + + If equals , then set the Value to + . + + TBD + TBD + true if was set + + + + Atomically sets the to and returns the old . + + The new value + The old value + + + + Performs an implicit conversion from to . + + The boolean to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The boolean to convert + The result of the conversion. + + + + Implementation of the java.concurrent.util AtomicReference type. + + Uses internally to enforce ordering of writes + without any explicit locking. .NET's strong memory on write guarantees might already enforce + this ordering, but the addition of the Volatile guarantees it. + + TBD + + + + Sets the initial value of this to . + + TBD + + + + Default constructor + + + + + TBD + + + + + The current value of this + + + + + If equals , then set the Value to + . + + TBD + TBD + true if was set + + + + Atomically sets the to and returns the old . + + The new value + The old value + + + + Performs an implicit conversion from to . + + The reference to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The reference to convert + The result of the conversion. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + N/A + + TBD + N/A + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + N/A + + N/A + TBD + N/A + + + + N/A + + N/A + TBD + N/A + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + Get a single Byte from this iterator. Identical to next(). + + TBD + + + + Get a single Short from this iterator. + + TBD + TBD + + + + Get a single Int from this iterator. + + TBD + TBD + + + + Get a single Long from this iterator. + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Retrieves an enumerator that iterates through the collection. + + An enumerator that can be used to iterate through the collection. + + + + Performs an implicit conversion from to . + + The array to convert + The result of the conversion. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Implements a circular around an existing . + + This allows for continuous read-only iteration over a set. + + The type of objects to enumerate + + + + Initializes a new instance of the class. + + The raw iterator from some object + + + + + + + + + + + + + + + + Extension method class for adding support to any + instance within Akka.NET + + + + + Provides a instance for . + + Internally, it just wraps 's internal iterator with circular iteration behavior. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Performs an implicit conversion from to . + + The object to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The object to convert + The result of the conversion. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + A fast, atomic lazy that only allows a single publish operation to happen, + but allows executions to occur concurrently. + + Does not cache exceptions. Designed for use with types that are + or are otherwise considered to be expensive to allocate. + + Read the full explanation here: https://github.com/Aaronontheweb/FastAtomicLazy#rationale + + TBD + + + + Initializes a new instance of the class. + + + This exception is thrown if the given is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + A fast, atomic lazy that only allows a single publish operation to happen, + but allows executions to occur concurrently. + + Does not cache exceptions. Designed for use with types that are + or are otherwise considered to be expensive to allocate. + + Read the full explanation here: https://github.com/Aaronontheweb/FastAtomicLazy#rationale + + State type + Value type + + + + Initializes a new instance of the class. + + + This exception is thrown if the given or is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + An implementation of a ConcurrentMultiMap - in CLR that would be something like + where TValue is another . + + Add/remove is serialized over the specified key. + Reads are fully concurrent. + + TBD + TBD + + + + TBD + + + + + Associates the value of with key of type . + + The key to add. + The value to add. + true if the value didn't exist for the key previously, and false otherwise. + + + + Find some for the first matching value where the supplied + returns true for the given key. + + The key to use. + The predicate to filter values associated with . + The first matching . default(TValue) otherwise. + + + + TBD + + TBD + + + + Applies the supplied to all keys and their values. + + The function to apply. + + + + Returns the union of all value sets. + + + + + Returns the key set. + + + + + Disassociates the value of from + the key of . + + The key. + The value. + true if was removed. false otherwise. + + + + Remove the given from all keys. + + The value we're going to remove, if it exists for any key. + + + + Disassociates all values for the specified key. + + The key we're going to remove. + An enumerable collection of if the key exists. An empty collection otherwise. + + + + Returns true if the index is empty. + + + + + Removes all keys and values + + + + + Provides extension utilities to arrays. + + + + + Determines if an array is null or empty. + + The array to check. + True if null or empty, false otherwise. + + + + Determines if an array is not null or empty. + + The array to check. + True if not null or empty, false otherwise. + + + + Shuffles an array of objects. + + The type of the array to sort. + The array to sort. + + + + Implementation of Scala's ZipWithIndex method. + + Folds a collection into a Dictionary where the original value (of type T) acts as the key + and the index of the item in the array acts as the value. + + TBD + TBD + TBD + + + + Grabs a subset of an IEnumerable based on a starting index and position + + TBD + The array of items to slice + The starting position to begin the slice + The number of items to take + A slice of size beginning from position in . + + + + Select all the items in this array beginning with and up until the end of the array. + + + If is not found in the array, From will return an empty set. + If is found at the end of the array, From will return the entire original array. + + + TBD + TBD + TBD + TBD + + + + Select all the items in this array from the beginning until (but not including) + + If is not found in the array, Until will select all items. + If is the first item in the array, an empty array will be returned. + + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + An atomic 32 bit integer counter. + + + + + Creates an instance of an AtomicCounter. + + The initial value of this counter. + + + + Creates an instance of an AtomicCounter with a starting value of -1. + + + + + The current value of the atomic counter. + + + + + Retrieves the current value of the counter + + + + + Increments the counter and returns the next value + + TBD + + + + Decrements the counter and returns the next value + + TBD + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Atomically decrements the counter by one. + + The original value. + + + + Atomically decrements the counter by one. + + The new value. + + + + Returns the current value and adds the specified value to the counter. + + The amount to add to the counter. + The original value before additions. + + + + Adds the specified value to the counter and returns the new value. + + The amount to add to the counter. + The new value after additions. + + + + Resets the counter to zero. + + + + + Returns current counter value and sets a new value on it's place in one operation. + + TBD + TBD + + + + Compares current counter value with provided value, + and sets it to if compared values where equal. + Returns true if replacement has succeed. + + TBD + TBD + TBD + + + + An atomic 64 bit integer counter. + + + + + Creates an instance of an AtomicCounterLong. + + The initial value of this counter. + + + + Creates an instance of an AtomicCounterLong with a starting value of -1. + + + + + The current value for this counter. + + + + + Retrieves the current value of the counter + + + + + Increments the counter and returns the next value. + + TBD + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Atomically decrements the counter by one + + The new value + + + + Gets the current value of the counter and adds an amount to it. + + This uses a CAS loop as Interlocked.Increment is not atomic for longs on 32bit systems. + The amount to add to the counter. + The original value. + + + + Adds an amount to the counter and returns the new value. + + This uses a CAS loop as Interlocked.Increment is not atomic for longs on 32bit systems. + The amount to add to the counter. + The new counter value. + + + + Resets the counter to zero. + + + + + Returns current counter value and sets a new value on it's place in one operation. + + TBD + TBD + + + + Compares current counter value with provided value, + and sets it to if compared values where equal. + Returns true if replacement has succeed. + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Internal state abstraction + + + + + TBD + + TBD + TBD + + + + Add a listener function which is invoked on state entry + + listener implementation + + + + Test for whether listeners exist + + + + + Notifies the listeners of the transition event via a + + TBD + + + + Shared implementation of call across all states. Thrown exception or execution of the call beyond the allowed + call timeout is counted as a failed call, otherwise a successful call + + NOTE: In .Net there is no way to cancel an uncancellable task. We are merely cancelling the wait and marking this + as a failure. + + see http://blogs.msdn.com/b/pfxteam/archive/2011/11/10/10235834.aspx + + TBD + Implementation of the call + result of the call + + + + Shared implementation of call across all states. Thrown exception or execution of the call beyond the allowed + call timeout is counted as a failed call, otherwise a successful call + + NOTE: In .Net there is no way to cancel an uncancellable task. We are merely cancelling the wait and marking this + as a failure. + + see http://blogs.msdn.com/b/pfxteam/archive/2011/11/10/10235834.aspx + + Implementation of the call + + + + + Abstract entry point for all states + + TBD + Implementation of the call that needs protected + containing result of protected call + + + + Abstract entry point for all states + + Implementation of the call that needs protected + containing result of protected call + + + + Invoked when call fails + + + + + Invoked when call succeeds + + + + + Invoked on the transitioned-to state during transition. Notifies listeners after invoking subclass template method _enter + + + + + Enter the state. NotifyTransitionListeners is not awaited -- its "fire and forget". + It is up to the user to handle any errors that occur in this state. + + + + + This interface represents the parts of the internal circuit breaker state; the behavior stack, watched by, watching and termination queue + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + Scala alias for Skip + + TBD + TBD + TBD + TBD + + + + Scala alias for FirstOrDefault + + TBD + TBD + TBD + + + + Splits a 'dotted path' in its elements, honouring quotes (not splitting by dots between quotes) + + The input path + The path elements + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + Dictionary helper that allows for idempotent updates. You don't need to care whether or not + this item is already in the collection in order to update it. + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + Applies a delegate to all elements of this enumerable. + + The type of the elements of . + An to iterate. + The function that is applied for its side-effect to every element. The result of function is discarded. + + + + Selects last n elements. + + TBD + TBD + TBD + TBD + + + + An interface that describes a numeric counter. + + The type of the numeric. + + + + The current value of this counter. + + + + + Increments the counter and gets the next value. This is exactly the same as calling . + + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Returns the current value and adds the specified value to the counter. + + The amount to add to the counter. + The original value before additions. + + + + Adds the specified value to the counter and returns the new value. + + The amount to add to the counter. + The new value after additions. + + + + Resets the counter to zero. + + + + + Utility class for adding some basic immutable behaviors + to specific types of collections without having to reference + the entire BCL.Immutability NuGet package. + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is undefined. + + TBD + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is undefined. + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + INTERNAL! + Implements helpers for performing Compare-and-swap operations using + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL! + Atomically updates the object by calling to get the new value. + Note that may be called many times so it should be idempotent. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + The updated value. + + + INTERNAL! + Atomically updates the int by calling to get the new value. + returns a Tuple<should update, the new int value, the return value> + If the first item in the tuple is true, the value is updated, and the third value of the tuple is returned. + Note that may be called many times so it should be idempotent. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + TBD + The third value from the tuple return by . + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + INTERNAL API. + + Renamed from so it doesn't colide + with a helper class in the same namespace defined in System.Threadin.Tasks. + + + + + A completed task + + + + + Creates a failed + + The exception to use to fail the task. + A failed task. + + + + Creates a failed + + The exception to use to fail the task. + A failed task. + The type of + + + + INTERNAL API + + Extensions for working with types + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Returns the task which completes with result of original task if cancellation token not canceled it before completion. + + The original task. + The cancellation token. + The task which completes with result of original task or with cancelled state. + + + + TBD + + + + + TBD + + TBD + TBD + + + + Used for surrogate serialization. + + + + + TBD + + TBD + TBD + + + + Priority queue implemented using a simple list with binary search for inserts. + This specific implementation is cheap in terms of memory but weak in terms of performance. + See http://visualstudiomagazine.com/articles/2012/11/01/priority-queues-with-c.aspx for original implementation + This specific version is adapted for Envelopes only and calculates a priority of envelope.Message + + + + + The default priority generator. + + + + + DEPRECATED. Should always specify priority calculator instead. + + The current capacity of the priority queue. + + + + Creates a new priority queue. + + The initial capacity of the queue. + The calculator function for assigning message priorities. + + + + DEPRECATED. Sets a new priority calculator. + + The calculator function for assigning message priorities. + + WARNING: SHOULD NOT BE USED. Use the constructor to set priority instead. + + + + + Enqueues a message into the priority queue. + + The item to enqueue. + + + + Dequeues the highest priority message at the front of the priority queue. + + The highest priority message . + + + + Peek at the message at the front of the priority queue. + + The highest priority message . + + + + Counts the number of items in the priority queue. + + The total number of items in the queue. + + + + Converts the queue to a string representation. + + A string representation of the queue. + + + + TBD + + TBD + + + + INTERNAL API + + A Monotonic clock implementation based on total uptime. + Used for keeping accurate time internally. + + + + + Time as measured by the current system up-time. + + + + + High resolution elapsed time as determined by a + running continuously in the background. + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Ticks represent 100 nanos. https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx + + This extension method converts a Ticks value to nano seconds. + + TBD + TBD + + + + Ticks represent 100 nanos. https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx + + This extension method converts a nano seconds value to Ticks. + + TBD + TBD + + + + Murmur3 Hash implementation + + + + The first 23 magic integers from the first stream are stored here + + + The first 23 magic integers from the second stream are stored here + + + + The initial magic integer in the first stream. + + + + + The initial magic integer in the second stream. + + + + + TBD + + + + + Begin a new hash with a seed value. + + TBD + TBD + + + + Given a magic integer from the first stream, compute the next + + TBD + TBD + + + + Given a magic integer from the second stream, compute the next + + TBD + TBD + + + + Incorporates a new value into an existing hash + + The prior hash value + The new value to incorporate + A magic integer from the left of the stream + A magic integer from a different stream + The updated hash value + + + + Once all hashes have been incorporated, this performs a final mixing. + + TBD + TBD + + + + Rotate a 32-bit unsigned integer to the left by bits + + Original value + The shift value + The rotated 32-bit integer + + + + Rotate a 64-bit unsigned integer to the left by bits + + Original value + The shift value + The rotated 64-bit integer + + + + Compute a high-quality hash of a byte array + + TBD + TBD + + + + Compute a high-quality hash of an array + + TBD + TBD + + + + Compute high-quality hash of a string + + TBD + TBD + + + + Compute a hash that is symmetric in its arguments--that is, + where the order of appearance of elements does not matter. + This is useful for hashing sets, for example. + + TBD + TBD + TBD + + + + Extension method class to make it easier to work with instances + + + + + Converts a into an array of + + TBD + + This exception is thrown if there aren't enough bits in the given to make a byte. + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Gets the with the specified name, performing a case-sensitive search and throw an exception if the type is not found. + + + + The type with the specified name. If the type is not found, an exception is thrown. + + + The assembly-qualified name of the type to get. See . + If the type is in Akka.dll or in Mscorlib.dll, it is sufficient to supply the type name qualified by its namespace. + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + This exception is thrown if the current is undefined. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares two specified for equality. + + The first used for comparison + The second used for comparison + true if both are equal; otherwise false + + + + Compares two specified for inequality. + + The first used for comparison + The second used for comparison + true if both are not equal; otherwise false + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Used to detect specific .NET runtimes, to make it easier to adjust for platform specific + differences. + + + Mostly used for detecting Mono right now because certain features, i.e. IPV6 support, aren't + fully supported on it. Can also be used for picking platform-specific implementations of things + such as Akka.Cluster.Metrics implementations. + + + + + Is true if we're running on a Mono VM. false otherwise. + + + + + This class contains methods for thread safe writing to the standard output stream. + + + + + Writes the specified value to the standard output stream. Optionally + you may specify which colors should be used. + + The value to write + Optional: The foreground color + Optional: The background color + + + + Writes the specified value, followed by the current line terminator, + to the standard output stream. Optionally you may specify which colors should be used. + + The value to write + Optional: The foreground color + Optional: The background color + + + + TBD + + + + + Concatenates the values, using the specified separator between the elements. + This method is similar to except it + formats null values as <null> + + The separator. + The arguments. + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + An atomic switch that can be either on or off + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + Executes the provided action if the lock is on. This is done under a lock so be _very_ careful with longrunning/blocking operations in it. + Only executes the action if the switch is on, and switches it off immediately after obtaining the lock. + Will switch it back on if the provided action throws an exception. + + TBD + Returns true if the switch was switched off + + + + Executes the provided action if the lock is off. This is done under a lock so be _very_ careful with longrunning/blocking operations in it. + Only executes the action if the switch is off, and switches it on immediately after obtaining the lock. + Will switch it back off if the provided action throws an exception. + + TBD + Returns true if the switch was switched on + + + + Switches the switch off (if on). Uses locking. + + Returns true if the switch was switched off + + + + Switches the switch on (if off). Uses locking. + + Returns true if the switch was switched on + + + + Executes the provided action and returns if the action was executed or not, if the switch is IMMEDIATELY on (i.e. no lock involved) + + The action. + Return true if the switch was on + + + + Executes the provided action and returns if the action was executed or not, if the switch is IMMEDIATELY off (i.e. no lock involved) + + The action. + Return true if the switch was off + + + + Executes the provided action and returns if the action was executed or not, if the switch is on, waiting for any pending changes to happen before (locking) + Be careful of longrunning or blocking within the provided action as it can lead to deadlocks or bad performance + + TBD + TBD + + + + Executes the provided action and returns if the action was executed or not, if the switch is off, waiting for any pending changes to happen before (locking) + Be careful of longrunning or blocking within the provided action as it can lead to deadlocks or bad performance + + TBD + TBD + + + + Gets a value indicating whether this switch is on. No locking. + + + true if this instance is on; otherwise, false. + + + + + Gets a value indicating whether this switch is off. No locking. + + + true if this instance is off; otherwise, false. + + + + + TBD + + TBD + + + + Create random numbers with Thread-specific seeds. + + Borrowed form Jon Skeet's brilliant C# in Depth: http://csharpindepth.com/Articles/Chapter12/Random.aspx + + + + + The current random number seed available to this thread + + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown when either the specified is less than zero + or the specified is less than or equal to zero. + + + + + This method must be called before the token bucket can be used. + + + + + The current time in ticks. The returned value is monotonic, might wrap over and has no relationship with wall-clock. + + The current time in ticks as Long + + + + Call this (side-effecting) method whenever an element should be passed through the token-bucket. This method + will return the number of nanoseconds the element needs to be delayed to conform with the token bucket parameters. + Returns zero if the element can be emitted immediately. The method does not handle overflow, if an element is to + be delayed longer in nanoseconds than what can be represented as a positive Long then an undefined value is returned. + + If a non-zero value is returned, it is the responsibility of the caller to not call this method before the + returned delay has been elapsed (but can be called later). This class does not check or protect against early + calls. + + How many tokens the element costs. Can be larger than the capacity of the bucket. + + This exception is thrown when the specified is less than zero. + + TBD + + + + Default implementation of that uses as the time source. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + Class TypeExtensions. + + + + + Returns true if implements/inherits . + typeof(object[]).Implements<IEnumerable>() --> true + + TBD + The type. + true if XXXX, false otherwise. + + + + Returns true if implements/inherits . + typeof(object[]).Implements(typeof(IEnumerable)) --> true + + The type. + Type of the more general. + true if XXXX, false otherwise. + + + + Utility to be used by implementors to create a manifest from the type. + The manifest is used to look up the type on deserialization. + + TBD + Returns the type qualified name including namespace and assembly, but not assembly version. + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + A searchable nested dictionary, represents a searchable tree structure underneath + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + The handler is a Action<T> + + + The handler is a Action<T> and a Predicate<T> is specified + + + The handler is a Func<T, bool> + + + + TBD + + + + + Produces a delegate that represents the lambda expression. + + The expression to compile + A delegate containing the compiled version of the lambda. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Builds the specified delegate and arguments to a + If the number of arguments are 0, the delegate should be a Func<,bool> + If the number of arguments are 1, the delegate should be a Func<,T1,bool> + ... + If the number of arguments are n, the delegate should be a Func<,T1,...,Tn,bool> + The maximum number of arguments i.e. n in the above example is therefore =14 + Given a delegate deleg of type Func<,T1,...,Tn,bool> and args [a_1,...a_n] then + the delegate corresponding to this code is returned: + (value) => deleg(value,a_1, ..., a_n) + + + The type of the value parameter in to the returned + The handler, i.e. a Func<,T1,...,Tn,bool> and arguments [a_1,...a_n]. + Returns a that calls the delegate with the arguments. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Initializes a new instance of the class. + + TBD + + This exception is thrown if the given is undefined. + + + + + Adds a handler that is called if the item being matched is of type + and , if it has been specified, returns true. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked when everything matches. + An optional predicate to test if the item matches. If it returns true the is invoked. + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + This exception is thrown if the current state is unknown. + + + + + Adds a handler that is called if the item being matched is of type + and , if it has been specified, returns true. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked when everything matches. + An optional predicate to test if the item matches. If it returns true the is invoked. + + This exception is thrown if the given cannot handle the given . + + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is called if the item being matched is of type . + The handler should return true if the item sent in matched and was handled. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked. It should return true if the item sent in matched and was handled. + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is called if the item being matched is of type . + The handler should return true if the item sent in matched and was handled. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked. It should return true if the item sent in matched and was handled. + + This exception is thrown if the given cannot handle the given . + + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is invoked no matter the type the item being matched is. + Note that since this matches all items, no more handlers may be added after this one. + Note that if a previous added handler handled the item, this will not be invoked. + + + + + Builds all added handlers and returns a . + + Returns a + + + + TBD + + + + + TBD + + TBD + + + + This class contains the handled Types and HandlerKinds + that has been added to a . + Two signatures are equal if they contain the same Types and HandlerKinds + in the same order. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if the an unknown is contained + in a in the given . + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + An action that returns true if the was handled. + + The type of the argument + The argument. + Returns true if the was handled + + + + TBD + + + + + The maximum number of arguments=15 not including the obligatory first value argument in a partial action. + 16 is the maximum number of args in a Func, see + + + + + Builds the specified delegate and arguments to a If the number of arguments are 0, the delegate should be a Func<,bool>If the number of arguments are 1, the delegate should be a Func<,T1,bool>...If the number of arguments are n, the delegate should be a Func<,T1,...,Tn,bool>The maximum number of arguments i.e. n in the above example is therefore =14Given a delegate deleg of type Func<,T1,...,Tn,bool> and args [a_1,...a_n] then + the delegate corresponding to this code is returned: + (value) => deleg(value,a_1, ..., a_n) + + The type of the value parameter in to the returned + The handler, i.e. a Func<,T1,...,Tn,bool> and arguments [a_1,...a_n]. + + Returns a that calls the delegate with the arguments. + + + This exception is thrown if the number of arguments in the given exceeds the configured . + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + + This exception is thrown if the given is undefined. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + The type of threads to use - either foreground or background threads. + + + + + Provides settings for a dedicated thread pool + + + + + Background threads are the default thread type + + + + + The total number of threads to run in this thread pool. + + + + + The type of threads to run in this thread pool. + + + + + Interval to check for thread deadlocks. + + If a thread takes longer than it will be aborted + and replaced. + + + + + TBD + + + + + TBD + + + + + Gets the thread stack size, 0 represents the default stack size. + + + + + TaskScheduler for working with a instance + + + + + Number of tasks currently running + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Level of concurrency is directly equal to the number of threads + in the . + + + + + TBD + + + This exception is thrown if can't ensure a thread-safe return of the list of tasks. + + TBD + + + + An instanced, dedicated thread pool. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + This exception is thrown if the given item is undefined. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + +
+
diff --git a/tests/dependencies/Akka/net45/Akka.dll b/tests/dependencies/Akka/net45/Akka.dll new file mode 100644 index 00000000..2d0801d2 Binary files /dev/null and b/tests/dependencies/Akka/net45/Akka.dll differ diff --git a/tests/dependencies/Akka/net45/Akka.xml b/tests/dependencies/Akka/net45/Akka.xml new file mode 100644 index 00000000..2a4b980b --- /dev/null +++ b/tests/dependencies/Akka/net45/Akka.xml @@ -0,0 +1,29930 @@ + + + + Akka + + + + + This interface represents the parts of the internal actor state; the behavior stack, watched by, watching and termination queue + + + + + Removes the provided from the `Watching` set + + The to be removed + TBD + + + + Removes the provided from the `WatchedBy` set + + The to be removed + TBD + + + + Removes the provided from the `Termination queue` set + + The to be removed + TBD + + + + Adds the provided to the `Watching` set + + The to be added + TBD + + + + Adds the provided to the `WatchedBy` set + + The to be added + TBD + + + + Adds the provided to the `Termination queue` set + + The to be added + TBD + + + + Clears the `Watching` set + + TBD + + + + Clears the `Termination queue` set + + TBD + + + + Clears the `Behavior` stack + + TBD + + + + Replaces the current receive behavior with a new behavior + + The new behavior + TBD + + + + Pushes a new receive behavior onto the `Behavior` stack + + The new top level behavior + TBD + + + + Removes the top level receive behavior from the `Behavior` stack + + TBD + + + + Determines whether the provided is present in the `Watching` set + + The to locate in the `Watching` set + TBD + + + + Determines whether the provided is present in the `WatchedBy` set + + The to locate in the `WatchedBy` set + TBD + + + + Determines whether the provided is present in the `Termination queue` set + + The to locate in the `Termination queue` set + TBD + + + + Returns an over the `Watching` set + + TBD + + + + Returns an over the `WatchedBy` set + + TBD + + + + Returns an over the `Termination queue` set + + TBD + + + + Returns the top level receive behavior from the behavior stack + + TBD + + + + Represents the default start up state for any actor. + This state provides capacity for one `WatchedBy` and one `Receive` behavior + As soon as this container is no longer enough to contain the current state + The state container will escalate into a `FullActorState` instance + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Represents the full state of an actor, this is used whenever an actor need more state than the `DefaultActorState` container can contain + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Classes for passing status back to the sender. + Used for internal ACKing protocol, but also exposed as a utility class for user-specific ACKing if needed. + + + + + Indicates the success of some operation which has been performed + + + + + TBD + + + + + TBD + + TBD + + + + Indicates the failure of some operation that was requested and includes an + describing the underlying cause of the problem. + + + + + The cause of the failure + + + + + Initializes a new instance of the class. + + The cause of the failure + + + + + + + Interface ILogReceive + + + + + Contains things needed by the framework + + + + Gets the context for this instance. + The context. + + This exception is thrown if there is no active Context. The most likely cause is due to use of async operations from within this actor. + + + + + Class ActorBase. + + + + + Initializes a new instance of the class. + + + This exception is thrown when an actor is created using new. Always create actors using an ActorContext/System. + + + + + Gets the sending ActorRef of the current message + + The sender ActorRef + + + + Gets the self ActorRef + + Self ActorRef + + + + Gets the context. + + The context. + + This exception is thrown if there is no active ActorContext. The most likely cause is due to use of async operations from within this actor. + + + + + Gets the context. + + The context. + + This exception is thrown if there is no active Context. The most likely cause is due to use of async operations from within this actor. + + + + + TBD + + TBD + TBD + TBD + + + + Processor for user defined messages. + + The message. + TBD + + + + EmptyReceive is a Receive-delegate that matches no messages at all, ever. + + + + + Is called when a message isn't handled by the current behavior of the actor + by default it fails with either a (in + case of an unhandled message) or publishes an + to the actor's system's + + The unhandled message. + + This exception is thrown if the given is a message. + + + + + Changes the actor's command behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + Reverts the Actor behavior to the previous one on the behavior stack. + + + + + TBD + + TBD + + + + TBD + + + + + + Defines the inactivity timeout after which the sending of a message is triggered. + When specified, the receive function should be able to handle a message. + + + + Please note that the receive timeout might fire and enqueue the message right after + another message was enqueued; hence it is not guaranteed that upon reception of the receive + timeout there must have been an idle period beforehand as configured via this method. + + + + Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity + periods). Pass in null to switch off this feature. + + + The timeout. Pass in null to switch off this feature. + + + + Can be overridden to intercept calls to `PreRestart`. Calls `PreRestart` by default. + + The cause. + The message. + + + + Can be overridden to intercept calls to `PreStart`. Calls `PreStart` by default. + + + + + User overridable callback. +

+ Is called when an Actor is started. + Actors are automatically started asynchronously when created. + Empty default implementation. +

+
+ + + Can be overridden to intercept calls to `PostRestart`. Calls `PostRestart` by default. + + The cause. + The message. + + + + User overridable callback: '''By default it disposes of all children and then calls `postStop()`.''' +

+ Is called on a crashed Actor right BEFORE it is restarted to allow clean + up of resources before Actor is terminated. +

+ the Exception that caused the restart to happen. + optionally the current message the actor processed when failing, if applicable. +
+ + + User overridable callback: By default it calls `PreStart()`. +

+ Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash. +

+ the Exception that caused the restart to happen. +
+ + + Can be overridden to intercept calls to `PostStop`. Calls `PostStop` by default.. + + + + + User overridable callback. +

+ Is called asynchronously after 'actor.stop()' is invoked. + Empty default implementation. +

+
+ + + Gets or sets a . + When getting, if a previously has been set it's returned; otherwise calls + SupervisorStrategy(), stores and returns it. + + + + + TBD + + TBD + + + + TBD + + + Class ActorCell. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is an invalid actor name. + + + This exception is thrown if a pre-creation serialization occurred. + + + This exception is thrown if the actor tries to create a child while it is terminating or is terminated. + + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given is an invalid actor name. + + + This exception is thrown if a pre-creation serialization occurred. + + + This exception is thrown if the actor tries to create a child while it is terminating or is terminated. + + TBD + + + + Stops the specified child. + + The child. + + + + Swaps out the children container, by calling to produce the new container. + If the underlying container has been updated while was called, + will be called again with the new container. This will repeat until the + container can be swapped out, or until contains false. + The returned tuple should contain: + Item1: true if the container should be updated; false to not update and return Item3 + Item2: The new container (will only be used if Item1=true) + Item3: The return value + + A function that returns a new container. + The third value of the tuple that returned. + + + + Swaps out the children container, by calling to produce the new container. + If the underlying container has been updated while was called, + will be called again with the new container. This will repeat until the + container can be swapped out. + + A function that returns a new container. + The new updated + + + + TBD + + TBD + + + + TBD + + TBD + + + + This should only be used privately or when creating the root actor. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Suspends the children. + + + + + Resumes the children. + + + + + Tries to get the stats for the child with the specified name. The stats can be either + indicating that only a name has been reserved for the child, or a for a child that + has been initialized/created. + + TBD + TBD + TBD + + + + Tries to get the stats for the child with the specified name. This ignores children for whom only names have been reserved. + + + + + Tries to get the stats for the specified child. + Since the child exists is the only valid . + + TBD + TBD + TBD + + + + Obsolete. Use instead. + + N/A + N/A + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + NOTE! Only constructor and ClearActorFields is allowed to update this + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Initialize this cell, i.e. set up mailboxes and supervision. The UID must be + reasonably different from the previous UID of a possible actor with the same path, + which can be achieved by using + + TBD + TBD + + + + Obsolete. Use instead. + + N/A + N/A + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + When this actor is watching the subject of message + it will be propagated to user's receive. + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Starts subscription to AddressTerminated if not already subscribing and the + block adds a non-local ref to watching or watchedBy. + Ends subscription to AddressTerminated if subscribing and the + block removes the last non-local ref from watching and watchedBy. + + TBD + TBD + + + + Gets the type of the actor. + + The type of the actor. + + + + TBD + + + + + Invokes the specified envelope. + + The envelope. + + This exception is thrown if a message is included in the given . + > + + + + If the envelope.Sender property is null, then we'll substitute + Deadletters as the of this message. + + The envelope we received + An IActorRef that corresponds to a Sender + + + + TBD + + TBD + + This exception is thrown if a message is included in the given . + + + + + This is only intended to be called from TestKit's TestActorRef + + TBD + + + + TBD + + TBD + + + + Receives the selection. + + The m. + + + + Used to invoke system messages. + + The envelope. + + This exception is thrown if a system message is included in the given . + + + This exception is thrown if an unknown message type is included in the given . + + + + + TBD + + TBD + TBD + + + + Publishes the specified event. + + The event. + + + + Handles the identity. + + The m. + + + + Handles the poison pill. + + + + + Restarts the specified cause. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + The cause. + + + + Starts this instance. + + + + + Allow extra pre-start initialization in derived classes + + + + + Resumes the specified caused by failure. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + The caused by failure. + + + + Async stop this actor + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + + + + Suspends this instance. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + + + + TBD + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + TBD + + + Re-create the actor in response to a failure. + + + + Suspends the actor in response to a failure of a parent (i.e. the "recursive suspend" feature). + + + + + Resumes the actor in response to a failure + + The exception that caused the failure. signifies if it was our own failure + which prompted this action. + + + + Create the actor in response to a failure + + + + Terminates this instance. + + + + Handles the non fatal or interrupted exception. + + The action. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Actor path is a unique path to an actor that shows the creation path + up through the actor tree to the root actor. + ActorPath defines a natural ordering (so that ActorRefs can be put into + collections with this requirement); this ordering is intended to be as fast + as possible, which owing to the bottom-up recursive nature of ActorPath + is sorted by path elements FROM RIGHT TO LEFT, where RootActorPath > + ChildActorPath in case the number of elements is different. + Two actor paths are compared equal when they have the same name and parent + elements, including the root address information. That does not necessarily + mean that they point to the same incarnation of the actor if the actor is + re-created with the same path. In other words, in contrast to how actor + references are compared the unique id of the actor is not taken into account + when comparing actor paths. + + + + + This class represents a surrogate of an . + Its main use is to help during the serialization process. + + + + + Initializes a new instance of the class. + + The string representation of the actor path. + + + + The string representation of the actor path + + + + + Creates an encapsulated by this surrogate. + + The actor system that contains this actor path. + The encapsulated by this surrogate. + + + + + + + + + + + + + + + INTERNAL API + + TBD + + + + + Method that checks if actor name conforms to RFC 2396, http://www.ietf.org/rfc/rfc2396.txt + Note that AKKA JVM does not allow parenthesis ( ) but, according to RFC 2396 those are allowed, and + since we use URL Encode to create valid actor names, we must allow them. + + TBD + TBD + + + + Initializes a new instance of the class. + + The address. + The name. + + + + Initializes a new instance of the class. + + The parent path. + The name. + The uid. + + + + Gets the uid. + + The uid. + + + + This method pursuits optimization goals mostly in terms of allocations. + We're computing elements chain only once and storing it in . + Computed chain meant to be reused not only by calls to + but also during chain computation of children actors. + + + + + Gets the elements. + + The elements. + + + + INTERNAL API. + + Used in Akka.Remote - when resolving deserialized local actor references + we need to be able to include the UID at the tail end of the elements. + + It's implemented in this class because we don't have an ActorPathExtractor equivalent. + + + + + Gets the name. + + The name. + + + + The Address under which this path can be reached; walks up the tree to + the RootActorPath. + + The address. + + + + TBD + + + + + TBD + + + + + + + + + + + Withes the uid. + + The uid. + ActorPath. + + + + Creates a new with the specified parent + and the specified . + + The parent path of the newly created actor path + The name of child actor path + A newly created + + + + Creates a new by appending all the names in + to the specified . + + The base path of the newly created actor path. + The names being appended to the specified . + A newly created + + + + Creates an from the specified . + + The string representing a possible + + This exception is thrown if the given cannot be parsed into an . + + A newly created + + + + Tries to parse the uri, which should be a full uri, i.e containing protocol. + For example "akka://System/user/my-actor" + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Joins this instance. + + System.String. + + + + String representation of the path elements, excluding the address + information. The elements are separated with "/" and starts with "/", + e.g. "/user/a/b". + + System.String. + + + + + + + Returns a string representation of this instance including uid. + + TBD + + + + Creates a child with the specified name + + Name of the child. + ActorPath. + + + + + + + + + + Compares two specified actor paths for equality. + + The first actor path used for comparison + The second actor path used for comparison + true if both actor paths are equal; otherwise false + + + + Compares two specified actor paths for inequality. + + The first actor path used for comparison + The second actor path used for comparison + true if both actor paths are not equal; otherwise false + + + + Generate String representation, with the address in the RootActorPath. + + System.String. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Generate String representation, replacing the Address in the RootActorPath + with the given one unless this path’s address includes host and port + information. + + The address. + System.String. + + + + TBD + + TBD + TBD + + + + Creates a surrogate representation of the current . + + The actor system that references this actor path. + The surrogate representation of the current . + + + + Class RootActorPath. + + + + + Initializes a new instance of the class. + + The address. + The name. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + This exception is thrown if the given is not equal to 0. + TBD + + + + TBD + + TBD + TBD + + + + Class ChildActorPath. + + + + + Initializes a new instance of the class. + + The parent path. + The name. + The uid. + + + + TBD + + + + + TBD + + + + + Creates a copy of the given ActorPath and applies a new Uid + + The uid. + ActorPath. + + + + + + + Plugin interface used to define + + + + + Determines if current plugin can be applied to provided actor based on it's type. + + TBD + TBD + + + + Plugin behavior applied to underlying instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to underlying instance before the actor is being recycled. + + TBD + TBD + + + + Base actor producer pipeline plugin class. + + + + + By default derivatives of this plugin will be applied to all actors. + + TBD + TBD + + + + Plugin behavior applied to instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to instance before the actor is being recycled. + + TBD + TBD + + + + Base generic actor producer pipeline plugin class. + + + + + By default derivatives of this plugin will be applied to all actors inheriting from actor generic type. + + TBD + TBD + + + + Plugin behavior applied to instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to instance before the actor is being recycled. + + TBD + TBD + + + + Class used to resolving actor producer pipelines depending on actor type. + + + + + Gets total number of unique plugins registered inside current resolver. + + + + + TBD + + TBD + + + + Register target at the end of producer pipeline. + + TBD + True if plugin was registered (it has not been found in pipeline already). False otherwise. + + + + Register target inside producer pipeline at specified . + + TBD + TBD + True if plugin was registered (it has not been found in pipeline already). False otherwise. + + + + Unregisters plugin from producer pipeline, returning false if plugin was not found. + + TBD + TBD + + + + Returns true if current actor producer pipeline already has registered provided plugin type. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Resolves and applies all plugins valid to specified underlying + registered in current producer pipeline to newly created actor. + + TBD + TBD + + + + Resolves and applies all plugins valid to specified underlying + registered in current producer pipeline before old actor would be recycled. + + TBD + TBD + + + + TBD + + TBD + + + + INTERNAL API + + All ActorRefs have a scope which describes where they live. Since it is often + necessary to distinguish between local and non-local references, this is the only + method provided on the scope. + + + + + Returns true if the actor is local to this . + Returns false if the actor is remote. + + + + + Marker interface for Actors that are deployed within local scope, + i.e. always returns true. + + + + + INTERNAL API + + RepointableActorRef (and potentially others) may change their locality at + runtime, meaning that isLocal might not be stable. RepointableActorRef has + the feature that it starts out "not fully started" (but you can send to it), + which is why features here; it is not improbable that cluster + actor refs will have the same behavior. + + + + + Retruns true if this actor has started yet. false otherwise. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + INTERNAL API. + + + + + Gets the current actor, if any. Otherwise . + + The current , if applicable. If not, . + + + + An actor reference. Acts as a handle to an actor. Used to send messages to an actor, whether an actor is local or remote. + If you receive a reference to an actor, that actor is guaranteed to have existed at some point + in the past. However, an actor can always be terminated in the future. + + If you want to be notified about an actor terminating, call + on this actor and you'll receive a message when the actor dies or if it + is already dead. + + Actor references can be serialized and passed over the network. + + + + The path of this actor. Can be used to extract information about whether or not this actor is local or remote. + + + + + Extension method class. Used to deliver messages to instances + via and and pass along information about the current sender. + + + + + Asynchronously tells a message to an . + + The actor who will receive the message. + The message. + Will automatically resolve the current sender using the current , if any. + + + + Forwards the message using the current Sender + + The actor that receives the forward + The message to forward + + + + TBD + + + + + TBD + + + + + Use this value as an argument to if there is not actor to + reply to (e.g. when sending from non-actor code). + + + + + TBD + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + TBD + + TBD + + + + TBD + + + + + Creates an encapsulated by this surrogate. + + The actor system that contains this . + The encapsulated by this surrogate. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + + + + + + + + + + + This exception is thrown if the given isn't an . + + + + + + + + + + + Creates a surrogate representation of the current . + + The actor system that references this . + The surrogate representation of the current . + + + + INTERNAL API. + + Used by built-in implementations for handling + internal operations that are not exposed directly to end-users. + + + + + The parent of this actor. + + + + + The used by the + to which this actor belongs. + + + + + Obsolete. Use or Receive<> + + + + + Obtain a child given the paths element to that actor, by possibly traversing the actor tree or + looking it up at some provider-specific location. + A path element of ".." signifies the parent, a trailing "" element must be disregarded. + If the requested path does not exist, returns . + + The path elements. + The , or if the requested path does not exist, returns . + + + + Resumes an actor if it has been suspended. + + Optional. Passed in if the actor is resuming as a result of recovering from failure. + + + + Start a newly created actor. + + + + + Stop the actor. Terminates it permanently. + + + + + Restart the actor. + + The exception that caused the actor to fail in the first place. + + + + Suspend the actor. Actor will not process any more messages until is called. + + + + + Obsolete. Use instead. + + N/A + N/A + + + + Sends an to the underlying actor. + + The system message we're sending. + + + + INTERNAL API. + + Abstract implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INTERNAL API. + + Barebones with no backing actor or . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is an internal look-up failure token, not useful for anything else. + + + + A surrogate for serializing . + + + + + Converts the into a . + + The actor system. + TBD + + + + Singleton instance of . + + + + + + + N/A + + This exception is automatically thrown since this actor doesn't have a provider. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Returns true if the contains any children, + false otherwise. + + + + + Executes an action for each child in the current collection. + + A lambda which takes a reference to the internal child actor as an argument. + + + + An enumerable that continues where the supplied enumerator is positioned + + + + + + + + An extension method class for working with ActorRefs + + + + + If we call a method such as Context.Child(name) + and don't receive a valid result in return, this method will indicate + whether or not the actor we received is valid. + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Construct an from the given string representing a path + relative to the given target. This operation has to create all the + matching magic, so it is preferable to cache its result if the + intention is to send messages frequently. + + TBD + TBD + TBD + TBD + + + + This class contains implementations originally found in Akka´s trait ActorRefFactory in ActorRefProvider.scala + https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorRefProvider.scala#L180 + corresponds to that trait, but since it is an interface it + cannot contain any code, hence this class. + + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + TBD + TBD + TBD + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + TBD + TBD + TBD + TBD + + + + Construct an from the given string representing a path + relative to the given target. This operation has to create all the + matching magic, so it is preferable to cache its result if the + intention is to send messages frequently. + + TBD + TBD + TBD + + + + TBD + + + + + Reference to the supervisor of guardian and systemGuardian; this is + exposed so that the ActorSystemImpl can use it as lookupRoot, i.e. + for anchoring absolute actor look-ups. + + + + Reference to the supervisor of guardian and systemGuardian at the specified address; + this is exposed so that the ActorRefFactory can use it as lookupRoot, i.e. + for anchoring absolute actor selections. + + TBD + TBD + + + Gets the supervisor used for all top-level user actors. + + + Gets the supervisor used for all top-level system actors. + + + Gets the dead letters. + + + + Gets the root path for all actors within this actor system, not including any remote address information. + + + + Gets the settings. + + + + Initialization of an ActorRefProvider happens in two steps: first + construction of the object with settings, eventStream, etc. + and then—when the ActorSystem is constructed—the second phase during + which actors may be created (e.g. the guardians). + + TBD + + + Gets the deployer. + + + Generates and returns a unique actor path below "/temp". + TBD + + + Returns the actor reference representing the "/temp" path. + + + Registers an actorRef at a path returned by ; do NOT pass in any other path. + The actor reference. + A path returned by . Do NOT pass in any other path! + + + Unregister a temporary actor (i.e. obtained from ); do NOT pass in any other path. + A path returned by . Do NOT pass in any other path! + + + + Actor factory with create-only semantics: will create an actor as + described by with the given and (may be different + in case of remote supervision). If is true, deployment is + bypassed (local-only). If a value for is passed in, it should be + regarded as taking precedence over the nominally applicable settings, + but it should be overridable from external configuration; the lookup of + the latter can be suppressed by setting "lookupDeploy" to "false". + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + Get the actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference. + TBD + TBD + + + Get the actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference. + TBD + TBD + + + + This Future is completed upon termination of this , which + is usually initiated by stopping the guardian via . + + + + + Obtain the address which is to be used within sender references when + sending to the given other address or none if the other address cannot be + reached from this system (i.e. no means of communication known; no + attempt is made to verify actual reachability). + + TBD + TBD + + + Gets the external address of the default transport. + + + + Class LocalActorRefProvider. This class cannot be inherited. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Higher-level providers (or extensions) might want to register new synthetic + top-level paths for doing special stuff. This is the way to do just that. + Just be careful to complete all this before finishes, + or before you start your own auto-spawned actors. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Registers an actorRef at a path returned by ; do NOT pass in any other path. + + The actor reference. + A path returned by . Do NOT pass in any other path! + This exception is thrown if the given is not on the temp path. + + + + Unregister a temporary actor (i.e. obtained from ); do NOT pass in any other path. + + A path returned by . Do NOT pass in any other path! + This exception is thrown if the given is not on the temp path. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Resolves the actor reference. + + The actor path. + ActorRef. + + + + TBD + + TBD + TBD + TBD + + + + Actor factory with create-only semantics: will create an actor as + described by with the given and (may be different + in case of remote supervision). If is true, deployment is + bypassed (local-only). If a value for is passed in, it should be + regarded as taking precedence over the nominally applicable settings, + but it should be overridable from external configuration; the lookup of + the latter can be suppressed by setting "lookupDeploy" to "false". + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception can be thrown for a number of reasons. The following are some examples: +
+
non-routers
+
The dispatcher in the given is not configured for the given .
+
or
+
There was a configuration problem while creating the given with the dispatcher and mailbox from the given
+
routers
+
The dispatcher in the given is not configured for routees of the given
+
or
+
The dispatcher in the given is not configured for router of the given
+
or
+
$There was a configuration problem while creating the given with router dispatcher and mailbox and routee dispatcher and mailbox.
+
+
+ TBD +
+ + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + This class represents a logical view of a section of an ActorSystem's + tree of actors that allows for broadcasting of messages to that section. + + + + + Gets the anchor. + + + + + Gets the elements. + + + + + A string representation of all of the elements in the path, + starting with "/" and separated with "/". + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The anchor. + The path. + + + + Initializes a new instance of the class. + + The anchor. + The path. + + + + Initializes a new instance of the class. + + The anchor. + The elements. + + + + Sends a message to this ActorSelection. + + The message to send + The actor that sent the message + + + + Resolves the matching this selection. + The result is returned as a Task that is completed with the + if such an actor exists. It is completed with failure if + no such actor exists or the identification didn't complete within the supplied . + + Under the hood it talks to the actor to verify its existence and acquire its + + + The amount of time to wait while resolving the selection before terminating the operation and generating an error. + + + This exception is thrown if no such actor exists or the identification didn't complete within the supplied . + + TBD + + + + INTERNAL API + Convenience method used by remoting when receiving from a remote + actor. + + TBD + TBD + TBD + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified actor selection, is equal to this instance. + + The actor selection to compare. + true if the specified router is equal to this instance; otherwise, false. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class ActorSelectionMessage. + + + + + Initializes a new instance of the class. + + The message. + The elements. + TBD + + + + The message that should be delivered to this ActorSelection. + + + + + The elements, e.g. "foo/bar/baz". + + + + + TBD + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectionPathElement. + + + + + Class SelectChildName. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the actor name. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectChildPattern. + + + + + Initializes a new instance of the class. + + The pattern string. + + + + Gets the pattern string. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectParent. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + An actor system is a hierarchical group of actors which share common + configuration, e.g. dispatchers, deployments, remote capabilities and + addresses. It is also the entry point for creating or looking up actors. + There are several possibilities for creating actors (see + for details on `props`): + + system.ActorOf(props, "name"); + system.ActorOf(props); + system.ActorOf(Props.Create(typeof(MyActor)), "name"); + system.ActorOf(Props.Create(() => new MyActor(arg1, arg2), "name"); + + Where no name is given explicitly, one will be automatically generated. + + Important Notice: + + This class is not meant to be extended by user code. + + + + Gets the settings. + The settings. + + + Gets the name of this system. + The name. + + + Gets the serialization. + The serialization. + + + Gets the event stream. + The event stream. + + + + Gets the dead letters. + + The dead letters. + + + Gets the dispatchers. + The dispatchers. + + + Gets the mailboxes. + The mailboxes. + + + Gets the scheduler. + The scheduler. + + + Gets the log + + + + Start-up time since the epoch. + + + + + Up-time of this actor system. + + + + + Creates a new with the specified name and configuration. + + The name of the actor system to create. The name must be uri friendly. + Must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-' + + The configuration used to create the actor system + A newly created actor system with the given name and configuration. + + + + Creates a new with the specified name. + + The name of the actor system to create. The name must be uri friendly. + Must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-' + + A newly created actor system with the given name. + + + + Retrieves the specified extension that is registered to this actor system. + + The extension to retrieve + The specified extension registered to this actor system + + + + Retrieves an extension with the specified type that is registered to this actor system. + + The type of extension to retrieve + The specified extension registered to this actor system + + + + Determines whether this actor system has an extension with the specified type. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + Determines whether this actor system has the specified extension. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Tries to retrieve an extension with the specified type + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + + Registers a block of code (callback) to run after ActorSystem.shutdown has been issued and all actors + in this actor system have been stopped. Multiple code blocks may be registered by calling this method + multiple times. + + + The callbacks will be run sequentially in reverse order of registration, i.e. last registration is run first. + + + The code to run + + This exception is thrown if the system has already shut down or if shutdown has been initiated. + + + + + + Terminates this actor system. This will stop the guardian actor, which in turn will recursively stop + all its child actors, then the system guardian (below which the logging actors reside) and the execute + all registered termination handlers (). + + + Be careful to not schedule any operations on completion of the returned task using the `dispatcher` + of this actor system as it will have been shut down before the task completes. + + + + A that will complete once the actor system has finished terminating and all actors are stopped. + + + + + Returns a task which will be completed after the has been + terminated and termination hooks have been executed. Be careful to not schedule any + operations on the `dispatcher` of this actor system as it will have been shut down + before this task completes. + + + + + Stops the specified actor permanently. + + The actor to stop + + This method has no effect if the actor is already stopped. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + Registers the specified extension with this actor system. + + The extension to register with this actor system + The extension registered with this actor system + + + + + + + + + + + + + The address specifies the physical location under which an Actor can be + reached. Examples are local addresses, identified by the 's + name, and remote addresses, identified by protocol, host and port. + + This class is sealed to allow use as a case class (copy method etc.); if + for example a remote transport would want to associate additional + information with an address, then this must be done externally. + + + + + Pseudo address for all systems + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Returns true if this Address is only defined locally. It is not safe to send locally scoped addresses to remote + hosts. See also + + + + + Returns true if this Address is usable globally. Unlike locally defined addresses + addresses of global scope are safe to sent to other hosts, as they globally and uniquely identify an addressable + entity. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Creates a new copy with the same properties as the current address. + + A new copy of the current address + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The protocol used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The system used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The host used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The port used to configure the new address. + A new address with the provided . + + + + Compares two specified addresses for equality. + + The first address used for comparison + The second address used for comparison + true if both addresses are equal; otherwise false + + + + Compares two specified addresses for inequality. + + The first address used for comparison + The second address used for comparison + true if both addresses are not equal; otherwise false + + + + TBD + + TBD + + + + Parses a new from a given string + + The address to parse + A populated object with host and port included, if available + Thrown if the address is not able to be parsed + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Extractor class for so-called "relative actor paths" - as in "relative URI", not + "relative to some other actors." + + Examples: + + * "grand/child" + * "/user/hello/world" + + + + + TBD + + TBD + TBD + + + + Class EventStreamActor. + + + + + Processor for user defined messages. + + The message. + TBD + + + + Class GuardianActor. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + System guardian. + + Root actor for all actors under the /system path. + + + + + TBD + + TBD + + + + Processor for messages that are sent to the root system guardian + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Class DeadLetterActorRef. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + TBD + TBD + + + + A that is already canceled. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + A that wraps a . + When canceling this instance the underlying is canceled as well. + + + + + Initializes a new instance of the class that will be cancelled after the specified amount of time. + + The scheduler. + The delay before the cancelable is canceled. + + + + Initializes a new instance of the class that will be cancelled after the specified amount of time. + + The scheduler. + The delay before the cancelable is canceled. + + + + Initializes a new instance of the class that will be cancelled after the specified amount of milliseconds. + + The scheduler. + The delay in milliseconds. + + + + Initializes a new instance of the class. + + TBD + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. + + true if exceptions should immediately propagate; otherwise, false. + + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + If is true, an exception will immediately propagate out of + the call to Cancel, preventing the remaining callbacks and cancelable operations from being processed. + If is false, this overload will aggregate any exceptions + thrown into an , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will be reestablished when the callback is invoked. + + + This exception is thrown if this cancelable has already been disposed. + + + + + Schedules a cancel operation on this cancelable after the specified delay. + + The delay before this instance is canceled. + This exception is thrown if the given is less than or equal to 0. + This exception is thrown if this cancelable has already been disposed. + + + + Schedules a cancel operation on this cancelable after the specified number of milliseconds. + + The delay in milliseconds before this instance is canceled. + This exception is thrown if the given is less than or equal to 0. + This exception is thrown if this cancelable has already been disposed. + + + + Returns a that has already been canceled. + + TBD + + + + Creates a that will be in the canceled state + when any of the source cancelables are in the canceled state. + + The scheduler + The cancelables instances to observe. + A new that is linked to the source . + + + + Creates a that will be in the canceled state + when any of the source cancelables are in the canceled state. + + The scheduler + The cancelables instances to observe. + A new that is linked to the source . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + TBD + + + + + If is not null it's canceled. + + The cancelable. Will be canceled if it's not null + + + + Signifies something that can be canceled + + + + + Communicates a request for cancellation. + + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + However, this overload of Cancel will aggregate any exceptions thrown into an + , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will + be reestablished when the callback is invoked. + + + + Gets a value indicating whether cancellation has been requested + + + + + TBD + + + + + Schedules a cancel operation on this cancelable after the specified delay. + + The delay before this instance is canceled. + + + + Schedules a cancel operation on this cancelable after the specified number of milliseconds. + + The delay in milliseconds before this instance is canceled. + + + + Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. + + true if exceptions should immediately propagate; otherwise, false. + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + If is true, an exception will immediately propagate out of + the call to Cancel, preventing the remaining callbacks and cancelable operations from being processed. + If is false, this overload will aggregate any exceptions + thrown into an , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will be reestablished when the callback is invoked. + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + Gets the "self" reference which this Cell is attached to. + + + The system within which this Cell lives. + + + The system internals within which this Cell lives. + + + + Start the cell: enqueued message must not be processed before this has + been called. The usual action is to attach the mailbox to a dispatcher. + + + + Recursively suspend this actor and all its children. Is only allowed to throw fatal exceptions. + + + Recursively resume this actor and all its children. Is only allowed to throw fatal exceptions. + TBD + + + Restart this actor (will recursively restart or stop all children). Is only allowed to throw Fatal Throwables. + TBD + + + Recursively terminate this actor and all its children. Is only allowed to throw Fatal Throwables. + + + The supervisor of this actor. + + + Returns true if the actor is local. + + + The props for this actor cell. + + + + If the actor isLocal, returns whether "user messages" are currently queued, + falseotherwise. + + + + + If the actor isLocal, returns the number of "user messages" currently queued, + which may be a costly operation, 0 otherwise. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + Method for looking up a single child beneath this actor. + It is racy if called from the outside. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Tries to get the stats for the child with the specified name. The stats can be either + indicating that only a name has been reserved for the child, or a for a child that + has been initialized/created. + + TBD + TBD + TBD + + + + Enqueue a message to be sent to the actor; may or may not actually + schedule the actor to run, depending on which type of cell it is. + + The system message we're passing along + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + ChildRestartStats is the statistics kept by every parent Actor for every child Actor + and is used for SupervisorStrategies to know how to deal with problems that occur for the children. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + This is the empty container, shared among all leaf actors. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Normal children container: we do have at least one child, but none of our + children are currently terminating (which is the time period between calling + context.stop(child) and processing the ChildTerminated() system message). + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + This exception is thrown if the given is not unique in the container. + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + This is the empty container which is installed after the last child has + terminated while stopping; it is necessary to distinguish from the normal + empty state while calling handleChildTerminated() for the last time. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + N/A + + N/A + N/A + This exception is automatically thrown since the name belongs to an actor that is already terminated. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Waiting state: there are outstanding termination requests (i.e. context.stop(child) + was called but the corresponding ChildTerminated() system message has not yet been + processed). There could be no specific reason (UserRequested), we could be Restarting + or Terminating. + Removing the last child which was supposed to be terminating will return a different + type of container, depending on whether or not children are left and whether or not + the reason was "Terminating". + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + This exception is thrown if the given belongs to an actor that is terminating. + This exception is thrown if the given is not unique in the container. + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Initializes a new instance of the class. + + The name given to the actor system. + + + + Initializes a new instance of the class. + + The name given to the actor system. + The configuration used to configure the actor system. + + This exception is thrown if the given is an invalid name for an actor system. + Note that the name must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-'). + + This exception is thrown if the given is undefined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new system actor that lives under the "/system" guardian. + + The used to create the actor. + The name of the actor to create. The default value is . + + This exception is thrown when the given name is invalid or already in use. + + + This exception is thrown when deployment, dispatcher or mailbox configuration is incorrect. + + A reference to the underlying actor. + + + + Creates a new system actor that lives under the "/system" guardian. + + + The type of the actor to create. Must have a default constructor declared. + + The name of the actor to create. The default value is . + + This exception is thrown when the given name is invalid or already in use. + + + This exception is thrown when deployment, dispatcher or mailbox configuration is incorrect. + + A reference to the underlying actor. + + + + If true, then the is attempting to abort. + + + + + Shuts down the without all of the usual guarantees, + i.e. we may not guarantee that remotely deployed actors are properly shut down + when we abort. + + + + Starts this system + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Registers the specified extension with this actor system. + + The extension to register with this actor system + The extension registered with this actor system + + + + Retrieves the specified extension that is registered to this actor system. + + The extension to retrieve + The specified extension registered to this actor system + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Retrieves an extension with the specified type that is registered to this actor system. + + The type of extension to retrieve + The specified extension registered to this actor system + + + + Determines whether this actor system has an extension with the specified type. + + The type of the extension being queried. + true if this actor system has the extension; otherwise false. + + + + Determines whether this actor system has the specified extension. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + + Registers a block of code (callback) to run after ActorSystem.shutdown has been issued and all actors + in this actor system have been stopped. Multiple code blocks may be registered by calling this method + multiple times. + + + The callbacks will be run sequentially in reverse order of registration, i.e. last registration is run first. + + + The code to run + + This exception is thrown if the system has already shut down or if shutdown has been initiated. + + + + + + Terminates this actor system. This will stop the guardian actor, which in turn will recursively stop + all its child actors, then the system guardian (below which the logging actors reside) and the execute + all registered termination handlers (). + + + Be careful to not schedule any operations on completion of the returned task using the `dispatcher` + of this actor system as it will have been shut down before the task completes. + + + + A that will complete once the actor system has finished terminating and all actors are stopped. + + + + + Returns a task which will be completed after the has been + terminated and termination hooks have been executed. Be careful to not schedule any + operations on the `dispatcher` of this actor system as it will have been shut down + before this task completes. + + + + + Stops the specified actor permanently. + + The actor to stop + + + + This class represents a callback used to run a task when the actor system is terminating. + + + + + Initializes a new instance of the class. + + The task to run when the actor system is terminating + + + + Adds a continuation to the current task being performed. + + The method to run as part of the continuation + This exception is thrown if the actor system has been terminated. + + + + The task that is currently being performed + + + + + Marks that the actor needs to be initialized directly after it has been created. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + + INTERNAL! + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + INTERNAL! + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + This is used to let TestFSMRef in TestKit access to internal methods. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Abstract base class for stash support + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Abstract base class for stash support + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + This exception is thrown if the actor's mailbox isn't deque-based (e.g. ). + + + + Stashes the current message in the actor's state. + + This exception is thrown if we attempt to stash the same message more than once. + + This exception is thrown in the event that we're using a for the and we've exceeded capacity. + + + + + Unstash the most recently stashed message (top of the message stack.) + + + + + Unstash all of the s in the Stash. + + + + + Unstash all of the s in the Stash. + + A predicate function to determine which messages to select. + + + + Eliminates the contents of the , and returns + the previous contents of the messages. + + Previously stashed messages. + + + + TBD + + TBD + + + + Enqueues at the first position in the mailbox. If the message contained in + the envelope is a message, it will be ensured that it can be re-received + by the actor. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + + + INTERNAL + A stash implementation that is unbounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + Used to register the extension with a given . + + + + + Creates a new instance of the extension. + + The extended actor system. + A coordinated shutdown plugin. + + + + INTERNAL API + + + + + Creates a new + + The list of other phases this phase depends upon. + A timeout value for any tasks running during this phase. + When set to true, this phase can recover from a faulted state during shutdown. + + + + The names of other s this phase depends upon. + + + + + The amount of time this phase is allowed to run. + + + + + If true, this phase has the ability to recover during a faulted state. + + + + + + + + + + + + + + An extension used to help coordinate and sequence shutdown activities + during graceful termination of actor systems, plugins, and so forth. + + + + + Initializes a new instance. + + Access to the . + The list of s provided by the HOCON configuration. + + + + Retreives the extension for the current + + The current actor system. + A instance. + + + + The + + + + + The set of named s that will be executed during coordinated shutdown. + + + + + INTERNAL API + + + + + INTERNAL API + + + + + INTERNAL API + + Signals when CLR shutdown hooks have been completed + + + + + Add a task to a phase. It doesn't remove previously added tasks. + + Tasks added to the same phase are executed in parallel without any + ordering assumptions. Next phase will not start until all tasks of + previous phase have completed. + + The phase to add this task to. + The name of the task to add to this phase. + The delegate that produces a that will be executed. + + Tasks should typically be registered as early as possible after system + startup. When running the tasks that have been + registered will be performed but tasks that are added too late will not be run. + + + It is possible to add a task to a later phase from within a task in an earlier phase + and it will be performed. + + + + + Add a shutdown hook that will execute when the CLR process begins + its shutdown sequence, invoked via . + + Added hooks may run in any order concurrently, but they are run before + the Akka.NET internal shutdown hooks execute. + + A task that will be executed during shutdown. + + + + INTERNAL API + + Should only be called directly by the event + in production. + + Safe to call multiple times, but hooks will only be run once. + + Returns a that will be completed once the process exits. + + + + Run tasks of all phases including and after the given phase. + + Optional. The phase to start the run from. + A task that is completed when all such tasks have been completed, or + there is failure when is disabled. + + It is safe to call this method multiple times. It will only run once. + + + + + The configured timeout for a given . + + The name of the phase. + Returns the timeout if ti exists. + Thrown if doesn't exist in the set of registered phases. + + + + The sum of timeouts of all phases that have some task. + + + + + INTERNAL API + + The HOCON configuration for the + A map of all of the phases of the shutdown. + + + + INTERNAL API: https://en.wikipedia.org/wiki/Topological_sorting + + The set of phases to sort. + A topologically sorted list of phases. + + + + INTERNAL API + + Primes the with the default phase for + + + The actor system for this extension. + The HOCON configuration. + The plugin instance. + + + + Initializes the CLR hook + + The actor system for this extension. + The HOCON configuration. + The plugin instance. + + + + INTERNAL API + + Message queue implementation used to funnel messages to + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + Mailbox for dead letters. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + This class represents a configuration object used in the deployment of an actor. + + + + + A deployment configuration that is bound to the scope. + + + + + This deployment does not have a dispatcher associated with it. + + + + + This deployment does not have a mailbox associated with it. + + + + + This deployment has an unspecified scope associated with it. + + + + + A deployment configuration where none of the options have been configured. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The actor path associated with this deployment. + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The router to use for this deployment. + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The router to use for this deployment. + + + + Initializes a new instance of the class. + + The path to deploy the actor. + The configuration used when deploying the actor. + The router used in this deployment. + The scope to bind to this deployment. + The dispatcher used in this deployment. + + + + Initializes a new instance of the class. + + The path to deploy the actor. + The configuration used when deploying the actor. + The router used in this deployment. + The scope to bind to this deployment. + The dispatcher used in this deployment. + The mailbox configured for the actor used in this deployment. + + + + The path where the actor is deployed. + + + + + The configuration used for this deployment. + + + + + The router used for this deployment. + + + + + The scope bound to this deployment. + + + + + The mailbox configured for the actor used in this deployment. + + + + + The dispatcher used in this deployment. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Creates a new from this deployment using another + to backfill options that might be missing from this deployment. + + + This method is immutable and returns a new instance of . + + + The used for fallback configuration. + A new using for fallback configuration. + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The mailbox used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The dispatcher used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The used to configure the new . + A new with the provided . + + + + This class represents a surrogate of a configuration object. + Its main use is to help during the serialization process. + + + + + The scope bound to this deployment. + + + + + The router used for this deployment. + + + + + The path where the actor is deployed. + + + + + The configuration used for this deployment. + + + + + The mailbox configured for the actor used in this deployment. + + + + + The dispatcher used in this deployment. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Used to configure and deploy actors. + + + + + TBD + + + + + Initializes a new instance of the class. + + The settings used to configure the deployer. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the actor name in the deployment path is empty or contains invalid ASCII. + Valid ASCII includes letters and anything from . Note that paths + cannot start with the $. + + + + + Creates an actor deployment to the supplied path, , using the supplied configuration, . + + The path used to deploy the actor. + The configuration used to configure the deployed actor. + A configured actor deployment to the given path. + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Registers an async handler for messages of the specified type + + the type of the message + the message handler invoked on the incoming message + when not null, determines whether this handler should handle the message + + + + Registers an async handler for messages of the specified type + + + determines whether this handler should handle the message + the message handler invoked on the incoming message + + + + Registers an asynchronous handler for any incoming message that has not already been handled. + + The message handler that is invoked for all + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Changes the actor's behavior and replaces the current handler with the specified handler. + + TBD + + + + Changes the actor's behavior and replaces the current handler with the specified handler without discarding the current. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + TBD + + + + Changes the actor's behavior and replaces the current handler with the previous one on the behavior stack. + In order to store an actor on the behavior stack, a call to must have been made + prior to this call + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Registers an async handler for messages of the specified type + + the type of the message + the message handler invoked on the incoming message + when not null, determines whether this handler should handle the message + + + + Registers an async handler for messages of the specified type + + + determines whether this handler should handle the message + the message handler invoked on the incoming message + + + + Registers an asynchronous handler for any incoming message that has not already been handled. + + The message handler that is invoked for all + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + This exception provides the base for all Akka.NET specific exceptions within the system. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + The exception that is the cause of the current exception. + + + + + This exception is thrown when the actor name is invalid. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when an Ask operation times out. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when an actor is interrupted in the midst of processing messages. + + This is an exception typically thrown when the underlying dispatcher's threads are aborted. + + + + + TBD + + TBD + TBD + + + + This exception is thrown when the initialization logic for an Actor fails. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The actor whose initialization logic failed. + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Retrieves the actor whose initialization logic failed. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + This exception is thrown when there was a problem initializing a logger. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when a message has been sent to an Actor. + will by default stop the actor. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when a core invariant in the Actor implementation has been violated. + For instance, if you try to create an Actor that doesn't inherit from . + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when an Actor with an invalid name is deployed. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown by an Actor that receives a Terminated(someActor) message + that it doesn't handle itself, effectively crashing the Actor and escalating to the supervisor. + + + + + Initializes a new instance of the class. + + The actor that has been terminated. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Retrieves the actor that has been terminated. + + + + + This exception is thrown when the method fails during a restart attempt. + + + This exception is not propagated to the supervisor, as it originates from the already failed instance, + hence it is only visible as log entry on the event stream. + + + + + + Initializes a new instance of the class. + + The actor whose hook failed. + The exception thrown by the within . + The exception which caused the restart in the first place. + The message which was optionally passed into . + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the Actor constructor or method + fails during a restart attempt. + + + + + Initializes a new instance of the class. + + The actor whose constructor or hook failed. + The exception thrown by the within . + The original cause is the exception which caused the restart in the first place. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Retrieves the exception which caused the restart in the first place. + + + + + This exception is thrown when an Actor can not be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + that takes a descriptive and optional . + + A user-defined error message. + An inner . + + + + This exception is thrown when an invalid message is sent to an Actor. + + + Currently only null is an invalid message. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + More powerful interface to the actor system’s implementation which is presented to + extensions (see ). + Important Notice: + This class is not meant to be extended by user code. If you want to + actually roll your own Akka, beware that you are completely on your own in + that case! + + + + Gets the provider. + The provider. + + + + Gets the top-level supervisor of all user actors created using + system.ActorOf(...) + + + + + The , used as the lookup for resolutions. + + + + + Gets the top-level supervisor of all system-internal services like logging. + + + + + Gets the actor producer pipeline resolver for current actor system. It may be used by + Akka plugins to inject custom behavior directly into actor creation chain. + + + + + Creates a new system actor in the "/system" namespace. This actor + will be shut down during system shutdown only after all user actors have + terminated. + + The used to create the actor + The name of the actor to create. The default value is . + A reference to the newly created actor + + + + Creates a new system actor in the "/system" namespace. This actor + will be shut down during system shutdown only after all user actors have + terminated. + + The type of actor to create + The name of the actor to create. The default value is . + A reference to the newly created actor + + + + Aggressively terminates an without waiting for the normal shutdown process to run as-is. + + + + + This interface is used to mark an object as an extension. + + + + + This interface is used to distinguish unique extensions. + + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + + Internal use only. + + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + Retrieves the underlying type for the current extension + + + + + This interface is used to distinguish unique extensions. + + The type associated with the current extension. + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + + Internal use only. + + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + This class contains extension methods used for resolving extensions. + + + + + Retrieves the extension specified by a given type, , from a given actor system. + + The type associated with the extension to retrieve. + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Retrieves the extension specified by a given type, , from a given actor system. + If the extension does not exist within the actor system, then the extension specified by + is registered to the actor system. + + The type associated with the extension to retrieve. + The actor system from which to retrieve the extension or to register with if it does not exist. + The type of the extension to register if it does not exist in the given actor system. + The extension retrieved from the given actor system. + + + + Retrieves the extension specified by a given type, , from a given actor system. + If the extension does not exist within the actor system, then the extension specified by + is registered to the actor system. + + The type associated with the extension to retrieve. + The type associated with the extension to retrieve if it does not exist within the system. + The actor system from which to retrieve the extension or to register with if it does not exist. + The extension retrieved from the given actor system. + + + + This class represents the base provider implementation for creating, registering and retrieving extensions within an . + + The type of the extension being provided. + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the underlying type for the current extension + + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + true if the specified is equal to this instance; otherwise, false. + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + TBD + + + + + Message type which is sent directly to the subscriber Actor in + before sending any messages. + + The type of the state being used in this finite state machine. + + + + Initializes a new instance of the CurrentState + + TBD + TBD + + + + TBD + + + + + TBD + + + + + + + + + + + + + + Message type which is used to communicate transitions between states to all subscribed listeners + (use ) + + The type of state used + + + + Initializes a new instance of the Transition + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + + + + + + + Send this to an to request first the + followed by a series of updates. Cancel the subscription using + . + + + + + Initializes a new instance of the SubscribeTransitionCallBack + + TBD + + + + TBD + + + + + Unsubscribe from notifications which were + initialized by sending the corresponding . + + + + + Initializes a new instance of the UnsubscribeTransitionCallBack + + TBD + + + + TBD + + + + + Reason why this is shutting down + + + + + Default if calling Stop(). + + + + + Obsolete. Use instead. + + + + + Singleton instance of Normal + + + + + Reason given when someone as calling from outside; + also applies to supervision directive. + + + + + Obsolete. Use instead. + + + + + Singleton instance of Shutdown + + + + + Signifies that the is shutting itself down because of an error, + e.g. if the state to transition into does not exist. You can use this to communicate a more + precise cause to the block. + + + + + Initializes a new instance of the Failure + + TBD + + + + TBD + + + + + + + + Used in the event of a timeout between transitions + + + + + Obsolete. Use instead. + + + + + Singleton instance of StateTimeout + + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Log entry of the - can be obtained by calling + + The name of the state + The data of the state + + + + Initializes a new instance of the LogEntry + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + This captures all of the managed state of the : the state name, + the state data, possibly custom timeout, stop reason, and replies accumulated while + processing the last message. + + The name of the state + The data of the state + + + + Initializes a new instance of the State + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Modify the state transition descriptor to include a state timeout for the + next state. This timeout overrides any default timeout set for the next state. + Use to cancel a timeout. + + TBD + TBD + + + + Send reply to sender of the current message, if available. + + TBD + TBD + + + + Modify state transition descriptor with new state data. The data will be set + when transitioning to the new state. + + TBD + TBD + + + + INTERNAL API + + TBD + TBD + + + + INTERNAL API + + + + + + + + + + + + + + + + + All messages sent to the will be wrapped inside an , + which allows pattern matching to extract both state and data. + + The state data for this event + + + + Initializes a new instance of the Event + + TBD + TBD + + + + TBD + + + + + TBD + + + + + + + + Class representing the state of the within the OnTermination block. + + TBD + TBD + + + + Initializes a new instance of the StopEvent + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + Finite state machine (FSM) actor. + + The state name type + The state data type + + + + Initializes a new instance of the FSM class. + + + + + Delegate describing this state's response to input + + TBD + TBD + + + + Handler which is called upon each state transition + + State designator for the initial state + State designator for the next state + + + + Insert a new at the end of the processing chain for the + given state. If the stateTimeout parameter is set, entering this state without a + differing explicit timeout setting will trigger a . + + designator for the state + delegate describing this state's response to input + default timeout for this state + + + + Sets the initial state for this FSM. Call this method from the constructor before the method. + If different state is needed after a restart this method, followed by , can be used in the actor + life cycle hooks and . + + Initial state designator. + Initial state data. + State timeout for the initial state, overriding the default timeout for that state. + + + + Produce transition to other state. Return this from a state function + in order to effect the transition. + + State designator for the next state + State transition descriptor + + + + Obsolete. Use GoTo(nextStateName).Using(stateData) instead. + + N/A + N/A + N/A + + + + Produce "empty" transition descriptor. Return this from a state function + when no state change is to be effected. + + Descriptor for staying in the current state. + + + + Produce change descriptor to stop this FSM actor with + + Descriptor for stopping in the current state. + + + + Produce change descriptor to stop this FSM actor with the specified . + + Reason why this is shutting down. + Descriptor for stopping in the current state. + + + + Produce change descriptor to stop this FSM actor with the specified . + + Reason why this is shutting down. + State data. + Descriptor for stopping in the current state. + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Schedule named timer to deliver message after given delay, possibly repeating. + Any existing timer with the same name will automatically be canceled before adding + the new timer. + + identifier to be used with . + message to be delivered + delay of first message delivery and between subsequent messages. + send once if false, scheduleAtFixedRate if true + + + + Cancel a named , ensuring that the message is not subsequently delivered (no race.) + + The name of the timer to cancel. + + + + Determines whether the named timer is still active. Returns true + unless the timer does not exist, has previously been cancelled, or + if it was a single-shot timer whose message was already received. + + TBD + TBD + + + + Set the state timeout explicitly. This method can be safely used from + within a state handler. + + TBD + TBD + + + + Set handler which is called upon each state transition + + TBD + + + + Set the handler which is called upon termination of this FSM actor. Calling this + method again will overwrite the previous contents. + + TBD + + + + Set handler which is called upon reception of unhandled FSM messages. Calling + this method again will overwrite the previous contents. + + TBD + + + + Verify the existence of initial state and setup timers. This should be the + last call within the constructor or and + . + + + This exception is thrown when this method is called before is called. + + + + + Current state name + + + This exception is thrown if this property is accessed before was called. + + + + + Current state data + + + This exception is thrown if this property is accessed before was called. + + + + + Return next state data (available in handlers) + + + This exception is thrown if this property is accessed outside of an handler. + + + + + Retrieves the support needed to interact with an actor's listeners. + + + + + Can be set to enable debugging on certain actions taken by the FSM + + + + + FSM state data and current timeout handling + + + + + Timer handling + + + + + State definitions + + + + + Unhandled event handler + + + + + Termination handling + + + + + Transition handling + + + + + C# port of Scala's orElse method for partial function chaining. + + See http://scalachina.com/api/scala/PartialFunction.html + + The original to be called + The to be called if returns null + A which combines both the results of and + + + + + + + Call the hook if you want to retain this behavior. + When overriding make sure to call base.PostStop(); + + Please note that this method is called by default from so + override that one if shall not be called during restart. + + + + + By default, is logged at error level and other + reason types are not logged. It is possible to override this behavior. + + TBD + + + + Marker interface to let the setting "akka.actor.debug.fsm" control if logging should occur in + + + + + Extension method class designed to create Ask support for + non-ActorRef objects such as . + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if the system can't resolve the target provider. + + TBD + + + + TBD + + TBD + TBD + + + + Akka private optimized representation of the temporary actor spawned to + receive the reply to an "ask" operation. + + INTERNAL API + + + + + Can't access constructor directly - use instead. + + + + + TBD + + + + + This is necessary for weaving the PromiseActorRef into the asked message, i.e. the replyTo pattern. + + + + As an optimization for the common (local) case we only register this PromiseActorRef + with the provider when the `path` member is actually queried, which happens during + serialization (but also during a simple call to `ToString`, `Equals` or `GetHashCode`!). + + Defined states: + null => started, path not yet created + Registering => currently creating temp path and registering it + path: ActorPath => path is available and was registered + StoppedWithPath(path) => stopped, path available + Stopped => stopped, path not yet created + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Returns false if the is already completed. + + + + + TBD + + + + + TBD + + + + + Contract of this method: + Must always return the same ActorPath, which must have + been registered if we haven't been stopped yet. + + + + + TBD + + TBD + TBD + + This exception is thrown if the given is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + Returns a that will be completed with success when existing messages + of the target actor have been processed and the actor has been terminated. + + Useful when you need to wait for termination or compose ordered termination of several actors, + which should only be done outside of the as blocking inside is discouraged. + + IMPORTANT: the actor being terminated and its supervisor being informed of the availability of the deceased actor's name + are two distinct operations, which do not obey any reliable ordering. + + If the target actor isn't terminated within the timeout the is completed with failure. + + If you want to invoke specialized stopping logic on your target actor instead of , you can pass your stop command as a parameter: + + GracefulStop(someChild, timeout, MyStopGracefullyMessage).ContinueWith(r => { + // Do something after someChild starts being stopped. + }); + + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the underlying task is . + + TBD + + + + TBD + + + + + Monitors the specified actor for termination. When the terminates + the instance watching will receive a message. + Note that if the message isn't handled by the actor, + by default the actor will crash by throwing a . To change + the default behavior, override . + + + The actor to monitor for termination. + Returns the provided subject + + + + Stops monitoring the for termination. + + The actor to stop monitor for termination. + Returns the provided subject + + + + TBD + + + + + Gets the belonging to the current actor. + + + + + The used to originally create this + + + + + The dispatcher this actor is running on + + + + + Gets the of the actor who sent the current message. + + If the message was not sent by an actor (i.e. some external non-actor code + sent this actor a message) then this value will default to . + + + + + Gets a reference to the to which this actor belongs. + + + This property is how you can get access to the and other parts + of Akka.NET from within an actor instance. + + + + + + Gets the of the parent of the current actor. + + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the previous one on the behavior stack. + In order to store an actor on the behavior stack, a call to must have been made + prior to this call + + + + + Retrieves a child actor with the specified name, if it exists. + + If the child with the given name cannot be found, + then will be returned instead. + + + The name of the child actor. + + e.g. "child1", "foo" + + Not the path, just the name of the child at the time it was created by this parent. + + The belonging to the child if found, otherwise. + + + + Gets all of the children that belong to this actor. + + If this actor has no children, + an empty collection of is returned instead. + + TBD + + + + + Defines the inactivity timeout after which the sending of a message is triggered. + When specified, the receive function should be able to handle a message. + + + + Please note that the receive timeout might fire and enqueue the message right after + another message was enqueued; hence it is not guaranteed that upon reception of the receive + timeout there must have been an idle period beforehand as configured via this method. + + + + Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity + periods). Pass in null to switch off this feature. + + + The timeout. Pass in null to switch off this feature. + + + + Gets the inactivity deadline timeout set using . + + + + + Issues a stop command to the provided , which will cause that actor + to terminate. + + The actor who will be stopped. + + + + Interface IActorRefFactory + + + + + Create new actor as child of this context with the given name, which must + not start with "$". If the given name is already in use, + and is thrown. + + See for details on how to obtain a object. + + The props used to create this actor. + Optional. The name of this actor. + A reference to the underlying actor. + Thrown if the given name is + invalid or already in use + Thrown if deployment, dispatcher + or mailbox configuration is wrong + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + The actor path. + ActorSelection. + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + The actor path. + ActorSelection. + + + + Marker trait to show which Messages are automatically handled by Akka.NET + + + + + When Death Watch is used, the watcher will receive a Terminated(watched) message when watched is terminated. + Terminated message can't be forwarded to another actor, since that actor might not be watching the subject. + Instead, if you need to forward Terminated to another actor you should send the information in your own message. + + + + + Initializes a new instance of the class. + + the watched actor that terminated + is false when the Terminated message was not sent directly from the watched actor, but derived from another source, such as when watching a non-local ActorRef, which might not have been resolved + the Terminated message was derived from that the remote node hosting the watched actor was detected as unreachable + + + + The watched actor that terminated + + + + + Is false when the Terminated message was not sent + directly from the watched actor, but derived from another source, such as + when watching a non-local ActorRef, which might not have been resolved + + + + + The Terminated message was derived from that the remote node hosting the watched actor was detected as unreachable + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Request to an to get back the identity of the underlying actors. + + + + + Initializes a new instance of the class. + + A correlating ID used to distinguish multiple requests to the same receiver. + + + + A correlating ID used to distinguish multiple requests to the same receiver. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Response to the message, get identity by Sender + + + + + Initializes a new instance of the class. + + The same correlating ID used in the original message. + A reference to the underyling actor. + + + + The same correlating ID used in the original message. + + + + + A reference to the underyling actor. + + Will be null if sent an that could not be resolved. + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Sending a to an will stop the actor when the message + is processed. is enqueued as ordinary messages and will be handled after + messages that were already queued in the mailbox. + See also which causes the actor to throw an when + it processes the message, which gets handled using the normal supervisor mechanism, and + which causes the actor to stop without processing any more messages. + + + + + The singleton instance of PoisonPill. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Sending an message to an actor causes the actor to throw an + when it processes the message, which gets handled using the normal supervisor mechanism. + See also which causes the actor to stop when the + is processed, without throwing an exception, and + which causes the actor to stop without processing any more messages. + + + + + The singleton instance of Kill. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + INTERNAL API + + Used for remote death watch. Failure detectors publish this to the + when a remote node is detected to be unreachable and / or decided + to be removed. + + The watcher subscribes to the and translates this + event to , which is sent to itself. + + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + A shared interface for both and , + both of which can be sent messages via the command. + + + + + Asynchronously delivers a message to this or + in a non-blocking fashion. Uses "at most once" delivery semantics. + + The message to be sent to the target. + The sender of this message. Defaults to if left to null. + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + The singleton instance of this comparer + + + + + + + + is an actor-like object to be listened by external objects. + It can watch other actors lifecycle and contains inner actor, which could be passed + as reference to other actors. + + + + + Get a reference to internal actor. It may be for example registered in event stream. + + + + + Receive a next message from current with default timeout. This call will return immediately, + if the internal actor previously received a message, or will block until it'll receive a message. + + TBD + + + + Receive a next message from current . This call will return immediately, + if the internal actor previously received a message, or will block for time specified by + until it'll receive a message. + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Receive a next message satisfying specified under default timeout. + + TBD + TBD + + + + Receive a next message satisfying specified under provided . + + TBD + TBD + TBD + + + + Makes an internal actor act as a proxy of a given , + which is sent to a given target actor. It means, that all 's + replies will be sent to current inbox instead. + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Make the inbox’s actor watch the actor such that + reception of the message can then be awaited. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Receive a single message from actor with default timeout. + NOTE: Timeout resolution depends on system's scheduler. + + + Don't use this method within actors, since it block current thread until a message is received. + + TBD + + + + Receive a single message from actor. + Provided is used for cleanup purposes. + NOTE: resolution depends on system's scheduler. + + + Don't use this method within actors, since it block current thread until a message is received. + + TBD + + This exception is thrown if the inbox received a response message or + it didn't receive a response message by the given . + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the inbox received a response message or + it didn't receive a response message by the given . + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + Marker Interface INoSerializationVerificationNeeded, this interface prevents + implementing message types from being serialized if configuration setting 'akka.actor.serialize-messages' is "on" + + + + + Marker interface to indicate that a message might be potentially harmful; + this is used to block messages coming in over remoting. + + + + + Interface IUntypedActorContext + + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a binding of an actor deployment to a local system. + + + + + This class represents a surrogate of a binding. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The singleton instance of this scope. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method ignores the given scope and returns the singleton instance of this scope. + + + The used for fallback configuration. + The singleton instance of this scope + + + + Creates a copy of the current instance. + + + This method returns the singleton instance of this scope. + + + The singleton instance of this scope + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Envelope class, represents a message and the sender of the message. + + + + + Initializes a new instance of the struct. + + The message being sent. + The actor who sent the message. + The current actor system. + + This exception is thrown if the given is undefined. + + + + + Initializes a new instance of the struct. + + The message being sent. + The actor who sent the message. + + + + Gets or sets the sender. + + The sender. + + + + Gets or sets the message. + + The message. + + + + Converts the to a string representation. + + A string. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Creates the PipeTo pattern for automatically sending the results of completed tasks + into the inbox of a designated Actor + + + + + Pipes the output of a Task directly to the 's mailbox once + the task completes + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + Pipes the output of a Task directly to the 's mailbox once + the task completes. As this task has no result, only exceptions will be piped to the + + TBD + TBD + TBD + TBD + TBD + TBD + + + + This class represents a configuration object used in creating an actor. + It is immutable and thus thread-safe. + + + private Props props = Props.Empty(); + private Props props = Props.Create(() => new MyActor(arg1, arg2)); + + private Props otherProps = props.WithDispatcher("dispatcher-id"); + private Props otherProps = props.WithDeploy(deployment info); + + + + + + + This class represents a surrogate of a configuration object. + Its main use is to help during the serialization process. + + + + + The type of actor to create + + + + + The configuration used to deploy the actor. + + + + + The arguments used to create the actor. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + + + + + + + A pre-configured that doesn't create actors. + + + The value of this field is null. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that is being cloned. + + + + Initializes a new instance of the class. + + + configured in this way uses the deployer. + + + The type of the actor to create. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + + configured in this way uses the deployer. + + + The type of the actor to create. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The configuration used to deploy the actor. + The type of the actor to create. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The configuration used to deploy the actor. + The type of the actor to create. + The arguments needed to create the actor. + This exception is thrown if is an unknown actor producer. + + + + The type of the actor that is created. + + + + + The dispatcher used in the deployment of the actor. + + + + + The mailbox used in the deployment of the actor. + + + + + The assembly qualified name of the type of the actor that is created. + + + + + The router used in the deployment of the actor. + + + + + The configuration used to deploy the actor. + + + + + The supervisor strategy used to manage the actor. + + + + + A pre-configured that creates an actor that doesn't respond to messages. + + + + + The arguments needed to create the actor. + + + + + Creates an actor using a specified lambda expression. + + The type of the actor to create. + The lambda expression used to create the actor. + Optional: The supervisor strategy used to manage the actor. + The newly created . + The create function must be a 'new T (args)' expression + + + + Creates an actor using the given arguments. + + The type of the actor to create. + The arguments needed to create the actor. + The newly created . + + + + Creates an actor using a specified actor producer. + + The type of producer used to create the actor. + The arguments needed to create the actor. + The newly created . + + + + Creates an actor using a specified supervisor strategy. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The newly created . + + + + Creates an actor of a specified type. + + The type of the actor to create. + The arguments needed to create the actor. + The newly created . + Props must be instantiated with an actor type. + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The mailbox used when deploying the actor. + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The dispatcher used when deploying the actor. + A new with the provided . + + + + Creates a new with a given router. + + + This method is immutable and returns a new instance of . + + + The router used when deploying the actor. + A new with the provided . + + + + Creates a new with a given deployment configuration. + + + This method is immutable and returns a new instance of . + + + The configuration used to deploy the actor. + A new with the provided . + + + + Creates a new with a given supervisor strategy. + + + This method is immutable and returns a new instance of . + + + The supervisor strategy used to manage the actor. + A new with the provided . + + + + Creates a new actor using the configured actor producer. + + + This method is only useful when called during actor creation by the ActorSystem. + + + + This exception is thrown if there was an error creating an actor of type + with the arguments from . + + The newly created actor + + + + Creates a copy of the current instance. + + The newly created + + + + This class represents a specialized that doesn't respond to messages. + + + + + Handles messages received by the actor. + + The message past to the actor. + + + + Signals the producer that it can release its reference to the actor. + + The actor to release + + + + This class represents a specialized used when the actor has been terminated. + + + + + N/A + + This exception is thrown automatically since the actor has been terminated. + N/A + + + + This class represents a specialized that uses dynamic invocation + to create new actor instances, rather than a traditional . + + + This is intended to be used in conjunction with Dependency Injection. + + + The type of the actor to create. + + + + Initializes a new instance of the class. + + The factory method used to create an actor. + + + + Creates a new actor using the configured factory method. + + The actor created using the factory method. + + + + Creates a copy of the current instance. + + The newly created + + + + This interface defines a class of actor creation strategies deviating from + the usual default of just reflectively instantiating the Actor + subclass. It can be used to allow a dependency injection framework to + determine the actual actor class and how it shall be instantiated. + + + + + This factory method must produce a fresh actor instance upon each + invocation. It is not permitted to return the same instance more than + once. + + A fresh actor instance. + + + + This method is used by to determine the type of actor to create. + The returned type is not used to produce the actor. + + The type of the actor created. + + + + This method is used by to signal the producer that it can + release it's reference. + + + To learn more about using Dependency Injection in .NET, see HERE. + + + The actor to release + + + + Delegate Receive + + The message. + + + + TBD + + + + + TBD + + + + + Creates and pushes a new MatchBuilder + + + + + TBD + + TBD + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + Configures the new handler by calling the different Receive overloads. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + Configures the new handler by calling the different Receive overloads. + + + + Registers an asynchronous handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + + + + Registers an asynchronous handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + When not null it is used to determine if the message matches. + The message handler that is invoked for incoming messages of the specified type + + + + Registers an asynchronous handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + + + + Registers an asynchronous handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + When not null it is used to determine if the message matches. + The message handler that is invoked for incoming messages of the specified + + + + Registers an asynchronous handler for incoming messages of any type. + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The message handler that is invoked for all + + + + Registers a handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified type . + The handler should return true if it has handled the message. + If the handler returns true no more handlers will be tried; otherwise the next registered handler will be tried. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the + specified type . It should return trueif it handled/matched + the message; false otherwise. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + The handler should return true if it has handled the message. + If the handler returns true no more handlers will be tried; otherwise the next registered handler will be tried. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the + specified type . It should return trueif it handled/matched + the message; false otherwise. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of any type. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The message handler that is invoked for all + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + This message is sent to an actor that has set a receive timeout, either by calling + Context.SetReceiveTimeout or + SetReceiveTimeout + and no message has been sent to the actor during the specified amount of time. + + + + + Gets the singleton instance. + + + + + This class represents a binding of an actor deployment to a remote system. + Actors in this scope are deployed to a specified . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The address to which actors are deployed. + + + + The address to which actors are deployed. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method ignores the given scope and returns the current instance. + + + The used for fallback configuration. + The instance of this scope + + + + Creates a new that uses the current . + + The newly created + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Initialize: make a dummy cell which holds just a mailbox, then tell our + supervisor that we exist so that he can create the real Cell in + handleSupervise(). + + TBD + This exception is thrown if this function is called more than once. + TBD + + + + This method is supposed to be called by the supervisor in HandleSupervise() + to replace the UnstartedCell with the real one. It assumes no concurrent + modification of the `underlying` field, though it is safe to send messages + at any time. + + This exception is thrown if the underlying cell is undefined. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + This exception is thrown if this property is called before actor is initialized (). + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + INTERNAL API. + + Used by + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Top-level anchor for the supervision hierarchy of this actor system. + Note: This class is called theOneWhoWalksTheBubblesOfSpaceTime in Akka + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + N/A + + + + Obsolete. Use instead. + + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + + + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + This implementation is built using a revolving wheel of buckets + with each bucket belonging to a specific time resolution. As the "clock" of the scheduler ticks it advances + to the next bucket in the circle and processes the items in it, and optionally reschedules recurring + tasks into the future into the next relevant bucket. + + There are `akka.scheduler.ticks-per-wheel` initial buckets (we round up to the nearest power of 2) with 512 + being the initial default value. The timings are approximated and are still limited by the ceiling of the operating + system's clock resolution. + + Further reading: http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf + Presentation: http://www.cse.wustl.edu/~cdgill/courses/cs6874/TimingWheels.ppt + + + + + TBD + + TBD + TBD + TBD + + + + 0 - init, 1 - started, 2 - shutdown + + + + + Normalize a wheel size to the nearest power of 2. + + The original input per wheel. + normalized to the nearest power of 2. + + + + Scheduler thread entry method + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + INTERNAL API. + + + + + The cancellation handle, if any + + + + + The task to be executed + + + + + Used to determine the delay for repeatable sends + + + + + The deadline for determining when to execute + + + + + Determines if this task will need to be re-scheduled according to its . + + + + + If true, we skip execution of this task. + + + + + The to which this registration belongs. + + + + + Resets all of the fields so this registration object can be used again + + + + + Adds a to this bucket. + + The scheduled task. + + + + Slot a repeating task into the "reschedule" linked list. + + The registration scheduled for repeating + + + + Empty this bucket + + A set of registrations to populate. + + + + Reset the reschedule list for this bucket + + A set of registrations to populate. + + + + Execute all s that are due by or after . + + The execution time. + + + + A scheduler able of scheduling actions + + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before the action is invoked. + The action to perform. + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + + + + TBD + + + + + Marks that an uses , + i.e. system time, to provide . + + + + + TBD + + + + + Gets the advanced scheduler which will allow you to schedule actions. + Note! It's considered bad practice to use concurrency inside actors and very easy to get wrong so usage is discouraged. + + + + + A scheduler that's able to schedule sending messages. + + + + Schedules to send a message once after a specified period of time. + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + + + Schedules to send a message once after a specified period of time. + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message has been sent, it cannot be canceled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message has been sent, it cannot be canceled. + + + + TBD + + + + + Gets the scheduler's notion of current time. + + + + + TBD + + + + + TBD + + + + + Abstract base class for implementing any custom implementation used by Akka.NET. + + All constructed schedulers are expected to support the and arguments + provided on the default constructor for this class. + + + + + The configuration section for a specific implementation. + + + + + The provided by the at startup. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + The current time since startup, as determined by the monotonic clock implementation. + + + Typically uses in most implementations, but in some cases a + custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit. + + + + + The current time since startup, as determined by the high resolution monotonic clock implementation. + + + Typically uses in most implementations, but in some cases a + custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is negative or zero. + + + + TBD + + TBD + TBD + This exception is thrown if the given is negative. + + + + An that is thrown by the methods + when scheduling is not possible, e.g. after shutting down the . + + + + + TBD + + TBD + + + + TBD + + + + Schedules to send a message once after a specified period of time. + The scheduler + The time in milliseconds that has to pass before the message is sent. + The receiver. + The message. + The sender. + OPTIONAL. An that can be used to cancel sending of the message. Note that once the message has been sent, it cannot be canceled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time in milliseconds that has to pass before the first message is sent. + The interval, i.e. the time in milliseconds that has to pass between messages are being sent. + The receiver. + The message. + The sender. + OPTIONAL. An that can be used to cancel sending of the message. Note that once the message has been sent, it cannot be canceled. + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The scheduler + The time in milliseconds that has to pass before the action is invoked. + The action to perform. + OPTIONAL. A cancelable that can be used to cancel the action from being executed. Defaults to null + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The scheduler + The time in milliseconds that has to pass before first invocation. + The interval, i.e. the time in milliseconds that has to pass before the action is invoked again. + The action to perform. + OPTIONAL. A cancelable that can be used to cancel the action from being executed. Defaults to null + + + Schedules to send a message once after a specified period of time. + The scheduler + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message once after a specified period of time. + The scheduler + The time in milliseconds that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time in milliseconds that has to pass before the first message is sent. + The interval, i.e. the time in milliseconds that has to pass between messages are sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + + Schedules an action to be invoked after an delay. + + The scheduler + The time period that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an delay. + + The scheduler + The time in milliseconds that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + + The scheduler + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + + The scheduler + The time in milliseconds that has to pass before first invocation. + The interval, i.e. the time in milliseconds that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + This class provides base functionality when defining a system binding (e.g. local/remote/cluster) used during actor deployment. + + + + + A binding that binds actor deployments to the local system. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method is immutable and returns a new instance of . + + + The used for fallback configuration. + A new using for fallback configuration. + + + + Creates a copy of the current instance. + + The newly created + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + This class represents a binding of an actor deployment to an unspecified system. + + + + + The singleton instance of this scope. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method returns the given scope unaltered. + + + The used for fallback configuration. + The scope passed in as the parameter. + + + + Creates a copy of the current instance. + + + This method returns a singleton instance of this scope. + + + The singleton instance of this scope + + + + Settings are the overall ActorSystem Settings which also provides a convenient access to the Config object. + For more detailed information about the different possible configuration options, look in the Akka .NET + Documentation under "Configuration" + + + + + Combines the user config and the fallback chain of configs + + + + + Injects a system config at the top of the fallback chain + + TBD + + + + Initializes a new instance of the class. + + The system. + The configuration. + + This exception is thrown if the 'akka.actor.provider' configuration item is not a valid type name or a valid actor ref provider. + + + + + Gets the system. + + The system. + + + + Gets the configuration. + + The configuration. + + + + Gets the configuration version. + + The configuration version. + + + + Gets the provider class. + + The provider class. + + + + Gets the supervisor strategy class. + + The supervisor strategy class. + + + + Gets a value indicating whether [serialize all messages]. + + true if [serialize all messages]; otherwise, false. + + + + Gets a value indicating whether [serialize all creators]. + + true if [serialize all creators]; otherwise, false. + + + + Gets the default timeout for calls. + + The ask timeout. + + + + Gets the creation timeout. + + The creation timeout. + + + + Gets the unstarted push timeout. + + The unstarted push timeout. + + + + Gets the log level. + + The log level. + + + + Gets the stdout log level. + + The stdout log level. + + + + Gets the loggers. + + The loggers. + + + + Gets the default loggers dispatcher. + + The loggers dispatcher. + + + + Gets the logger start timeout. + + The logger start timeout. + + + + Gets a value indicating whether [log configuration on start]. + + true if [log configuration on start]; otherwise, false. + + + + Gets the log dead letters. + + The log dead letters. + + + + Gets a value indicating whether [log dead letters during shutdown]. + + true if [log dead letters during shutdown]; otherwise, false. + + + + Gets a value indicating whether [add logging receive]. + + true if [add logging receive]; otherwise, false. + + + + Gets a value indicating whether [debug automatic receive]. + + true if [debug automatic receive]; otherwise, false. + + + + Gets a value indicating whether [debug event stream]. + + true if [debug event stream]; otherwise, false. + + + + Gets a value indicating whether [debug unhandled message]. + + true if [debug unhandled message]; otherwise, false. + + + + Gets a value indicating whether [debug router misconfiguration]. + + true if [debug router misconfiguration]; otherwise, false. + + + + Gets the home. + + The home. + + + + Gets a value indicating whether [debug lifecycle]. + + true if [debug lifecycle]; otherwise, false. + + + + TBD + + + + + The number of default virtual nodes to use with . + + + + + Gets the scheduler implementation used by this system. + + + + + TBD + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Marker interface for adding stash support + + + + + Gets or sets the stash. This will be automatically populated by the framework AFTER the constructor has been run. + Implement this as an auto property. + + + The stash. + + + + + TBD + + + + + Stash plugin is applied to all actors implementing interface. + + TBD + TBD + + + + Creates a new stash for specified if it has not been initialized already. + + TBD + TBD + + + + Ensures, that all stashed messages inside stash have been unstashed. + + TBD + TBD + + + + Public interface used to expose stash capabilities to user-level actors + + + + + Stashes the current message (the message that the actor received last) + + + + + Unstash the oldest message in the stash and prepends it to the actor's mailbox. + The message is removed from the stash. + + + + + Unstashes all messages by prepending them to the actor's mailbox. + The stash is guaranteed to be empty afterwards. + + + + + Unstashes all messages selected by the predicate function. Other messages are discarded. + The stash is guaranteed to be empty afterwards. + + TBD + + + + Returns all messages and clears the stash. + The stash is guaranteed to be empty afterwards. + + TBD + + + + TBD + + TBD + + + + Lets the know that this Actor needs stash support + with restricted storage capacity + You need to add the property: + public IStash Stash { get; set; } + + + + + Lets the know that this Actor needs stash support + with unrestricted storage capacity. + You need to add the property: + public IStash Stash { get; set; } + + + + + Static factor used for creating Stash instances + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given implements an unrecognized subclass of . + + TBD + + + + This exception is thrown when the size of the Stash exceeds the capacity of the stash. + + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Base class for supervision strategies + + + + + TBD + + + + + Handles the specified child. + + The actor that caused the evaluation to occur + The exception that caused the evaluation to occur. + Directive. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + This is the main entry point: in case of a child’s failure, this method + must try to handle the failure by resuming, restarting or stopping the + child (and returning `true`), or it returns `false` to escalate the + failure, which will lead to this actor re-throwing the exception which + caused the failure. The exception will not be wrapped. + This method calls , which will + log the failure unless it is escalated. You can customize the logging by + setting to `false` and + do the logging inside the `decider` or override the `LogFailure` method. + + The actor cell. + The child actor. + The cause. + The stats for the failed child. + TBD + true if XXXX, false otherwise. + + + + When supervisorStrategy is not specified for an actor this + Decider is used by default in the supervisor strategy. + The child will be stopped when , + , or is + thrown. It will be restarted for other `Exception` types. + The error is escalated if it's a `Exception`, i.e. `Error`. + + Directive. + + + + Restarts the child. + + The child. + The cause. + if set to true [suspend first]. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + This method is called to act on the failure of a child: restart if the flag is true, stop otherwise. + + The actor context. + if set to true restart, stop otherwise. + The child actor + The exception that caused the child to fail. + The stats for the child that failed. The ActorRef to the child can be obtained via the property + The stats for all children + + + + Resume the previously failed child: do never apply this to a child which + is not the currently failing child. Suspend/resume needs to be done in + matching pairs, otherwise actors will wake up too soon or never at all. + + The child. + The exception. + + + + Logs the failure. + + The actor cell. + The child. + The cause. + The directive. + + + + Determines if failures are logged + + + + + When supervisorStrategy is not specified for an actor this + is used by default. OneForOneStrategy with decider defined in + . + + The default. + + + + This strategy resembles Erlang in that failing children are always + terminated (one-for-one). + + + + + This method is called after the child has been removed from the set of children. + It does not need to do anything special. Exceptions thrown from this method + do NOT make the actor fail if this happens during termination. + + TBD + TBD + TBD + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Class OneForOneStrategy. This class cannot be inherited. + The result of this strategy is applied only to the failing child + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, System.Threading.Timeout.InfiniteTimeSpan means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, System.Threading.Timeout.InfiniteTimeSpan means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + mapping from Exception to + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + mapping from Exception to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Serialization-friendly constructor + + + + + Handles the specified child. + + The child. + The x. + Directive. + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Determines if failures are logged + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + This exception is thrown if the is of type . + The surrogate representation of the current . + + + + + + + + + + + + + Class AllForOneStrategy. This class cannot be inherited. + The result of this strategy is applied to the failed child and all its siblings. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value and null means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value and null means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Serialization-friendly constructor + + + + + Determines what to do with the child when the given exception occurs. + + The child. + The x. + Directive. + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Determines if failures are logged + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + + + + + + + + + + Collection of failures, used to keep track of how many times a given actor have failed. + + + + + Initializes a new instance of the class. + + + + + Gets the entries. + + The entries. + + + + Represents a single failure. + + + + + The exception that caused the failure. + + The exception. + + + + The timestamp when the failure occurred. + + The timestamp. + + + + Enum Directive for supervisor actions + + + + + Resumes message processing for the failed Actor + + + + + Discards the old Actor instance and replaces it with a new, + then resumes message processing. + + + + + Escalates the failure to the supervisor of the supervisor, + by rethrowing the cause of the failure, i.e. the supervisor fails with + the same exception as the child. + + + + + Stops the Actor + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + + + + + + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if the given is undefined or references an unknown type. + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + Interface IHandle + + The type of the t message. + + + + Handles the specified message. + + The message. + + + + Class TypedActor. + + + + + Processor for user defined messages. + + The message. + TBD + + + + Class UntypedActor. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + To be implemented by concrete UntypedActor, this defines the behavior of the UntypedActor. + This method is called for every message received by the actor. + + The message. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + TBD + + + + + Delegate UntypedReceive + + The message. + + + + This class represents the main configuration object used by Akka.NET + when configuring objects within the system. To put it simply, it's + the internal representation of a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The root node to base this configuration. + This exception is thrown if the given value is undefined. + + + + Initializes a new instance of the class. + + The configuration to use as the primary source. + The configuration to use as a secondary source. + This exception is thrown if the given is undefined. + + + + The configuration used as a secondary source. + + + + + Determines if this root node contains any values + + + + + The root node of this configuration section + + + + + An enumeration of substitutions values + + + + + Generates a deep clone of the current configuration. + + A deep clone of the current configuration + + + + Retrieves a boolean value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The boolean value defined in the specified path. + + + + Retrieves a long value, optionally suffixed with a 'b', from the specified path in the configuration. + + The path that contains the value to retrieve. + This exception is thrown if the current node is undefined. + The long value defined in the specified path. + + + + Retrieves an integer value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The integer value defined in the specified path. + + + + Retrieves a long value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The long value defined in the specified path. + + + + Retrieves a string value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The string value defined in the specified path. + + + + Retrieves a float value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The float value defined in the specified path. + + + + Retrieves a decimal value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The decimal value defined in the specified path. + + + + Retrieves a double value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The double value defined in the specified path. + + + + Retrieves a list of boolean values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of boolean values defined in the specified path. + + + + Retrieves a list of decimal values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of decimal values defined in the specified path. + + + + Retrieves a list of float values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of float values defined in the specified path. + + + + Retrieves a list of double values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of double values defined in the specified path. + + + + Retrieves a list of int values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of int values defined in the specified path. + + + + Retrieves a list of long values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of long values defined in the specified path. + + + + Retrieves a list of byte values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of byte values defined in the specified path. + + + + Retrieves a list of string values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of string values defined in the specified path. + + + + Retrieves a new configuration from the current configuration + with the root node being the supplied path. + + The path that contains the configuration to retrieve. + This exception is thrown if the current node is undefined. + A new configuration with the root node being the supplied path. + + + + Retrieves a from a specific path. + + The path that contains the value to retrieve. + This exception is thrown if the current node is undefined. + The found at the location if one exists, otherwise null. + + + + Retrieves a value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + true if infinite timespans are allowed; otherwise false. + This exception is thrown if the current node is undefined. + The value defined in the specified path. + + + + Converts the current configuration to a string. + + A string containing the current configuration. + + + + Converts the current configuration to a string + + if true returns string with current config combined with fallback key-values else only current config key-values + TBD + + + + Configure the current configuration with a secondary source. + + The configuration to use as a secondary source. + This exception is thrown if the given is a reference to this instance. + The current configuration configured with the specified fallback. + + + + Determine if a HOCON configuration element exists at the specified location + + The location to check for a configuration value. + This exception is thrown if the current node is undefined. + true if a value was found, false otherwise. + + + + Adds the supplied configuration string as a fallback to the supplied configuration. + + The configuration used as the source. + The string used as the fallback configuration. + The supplied configuration configured with the supplied fallback. + + + + Adds the supplied configuration as a fallback to the supplied configuration string. + + The configuration string used as the source. + The configuration used as the fallback. + A configuration configured with the supplied fallback. + + + + Performs an implicit conversion from to . + + The string that contains a configuration. + A configuration based on the supplied string. + + + + Retrieves an enumerable key value pair representation of the current configuration. + + The current configuration represented as an enumerable key value pair. + + + + A static "Empty" configuration we can use instead of null in some key areas. + + + + + This class contains convenience methods for working with . + + + + + Retrieves the current configuration or the fallback + configuration if the current one is null. + + The configuration used as the source. + The configuration to use as a secondary source. + The current configuration or the fallback configuration if the current one is null. + + + + Determines if the supplied configuration has any usable content period. + + The configuration used as the source. + true> if the is null or ; otherwise false. + + + + The exception that is thrown when a configuration is invalid. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + This class contains methods used to retrieve configuration information + from a variety of sources including user-supplied strings, configuration + files and assembly resources. + + + + + Generates an empty configuration. + + + + + Generates a configuration defined in the supplied + HOCON (Human-Optimized Config Object Notation) string. + + A string that contains configuration options to use. + callback used to resolve includes + The configuration defined in the supplied HOCON string. + + + + Generates a configuration defined in the supplied + HOCON (Human-Optimized Config Object Notation) string. + + A string that contains configuration options to use. + The configuration defined in the supplied HOCON string. + + + + Loads a configuration defined in the current application's + configuration file, e.g. app.config or web.config + + The configuration defined in the configuration file. + + + + Retrieves the default configuration that Akka.NET uses + when no configuration has been defined. + + The configuration that contains default values for all options. + + + + Retrieves a configuration defined in a resource of the + current executing assembly. + + The name of the resource that contains the configuration. + The configuration defined in the current executing assembly. + + + + Retrieves a configuration defined in a resource of the + assembly containing the supplied instance object. + + The name of the resource that contains the configuration. + An instance object located in the assembly to search. + The configuration defined in the assembly that contains the instanced object. + + + + Retrieves a configuration defined in a resource of the assembly + containing the supplied type . + + A type located in the assembly to search. + The name of the resource that contains the configuration. + The configuration defined in the assembly that contains the type . + + + + Retrieves a configuration defined in a resource of the supplied assembly. + + The name of the resource that contains the configuration. + The assembly that contains the given resource. + The configuration defined in the assembly that contains the given resource. + + + + Creates a configuration based on the supplied source object + + The source object + The configuration created from the source object + + + + This class represents a custom akka node within a configuration file. + + + + +
+ + + ... + + + ]]> + +
+
+ + + Retrieves a from the contents of the + custom akka node within a configuration file. + + + + + Retrieves the HOCON (Human-Optimized Config Object Notation) + configuration string from the custom akka node. + + + + +
+ + + + ... + + + + ]]> + +
+
+ + + This class represents the base implementation for retrieving text from + an XML CDATA node within a configuration file. + + + + +
+ + + + <![CDATA[ + ... + ]]> + + + + ]]> + +
+
+ + + The name of the property that contains the content to deserialize. + + + + + Deserializes the text located in a CDATA node of the configuration file. + + The that reads from the configuration file. + true to serialize only the collection key properties; otherwise, false. + + + + This class represents an array element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + cluster { + seed-nodes = [ + "akka.tcp://ClusterSystem@127.0.0.1:2551", + "akka.tcp://ClusterSystem@127.0.0.1:2552"] + } + } + + + + + + Determines whether this element is a string. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an array and not a string. + + + + + Determines whether this element is an array. + + true + + + + Retrieves a list of elements associated with this element. + + + A list of elements associated with this element. + + + + + Returns a HOCON string representation of this element. + + A HOCON string representation of this element. + + + + This class represents a custom HOCON (Human-Optimized Config Object Notation) + node within a configuration file. + + + + +
+ + + + ... + + + + ]]> + +
+
+ + + Gets or sets the HOCON configuration string contained in the hocon node. + + + + + This class represents a string literal element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + actor { + provider = "Akka.Remote.RemoteActorRefProvider, Akka.Remote" + } + } + + + + + + Gets or sets the value of this element. + + + + + Determines whether this element is a string. + + true + + + + Retrieves the string representation of this element. + + The value of this element. + + + + Determines whether this element is an array. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is a string literal and not an array. + + + + + Returns the string representation of this element. + + The value of this element. + + + + This class represents an object element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + actor { + debug { + receive = on + autoreceive = on + lifecycle = on + event-stream = on + unhandled = on + } + } + } + + + + + + Initializes a new instance of the class. + + + + + Retrieves the underlying map that contains the barebones + object values. + + + + + Retrieves the underlying map that this element is based on. + + + + + Determines whether this element is a string. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an object and not a string. + + + + + Determines whether this element is an array. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an object and not an array. + + + + + Retrieves the value associated with the supplied key. + + The key associated with the value to retrieve. + + The value associated with the supplied key or null + if they key does not exist. + + + + + Retrieves the value associated with the supplied key. + If the supplied key is not found, then one is created + with a blank value. + + The key associated with the value to retrieve. + The value associated with the supplied key. + + + + Returns a HOCON string representation of this element. + + A HOCON string representation of this element. + + + + Returns a HOCON string representation of this element. + + The number of spaces to indent the string. + A HOCON string representation of this element. + + + + Merges the specified object into this instance. + + The object to merge into this instance. + + + + Merges the specified object with this instance producing new one. + + The object to merge into this instance. + + + + This class contains methods used to parse HOCON (Human-Optimized Config Object Notation) + configuration strings. + + + + + Parses the supplied HOCON configuration string into a root element. + + The string that contains a HOCON configuration string. + Callback used to resolve includes + This exception is thrown if an unresolved substitution or an unknown token is encountered. + This exception is thrown if the end of the file has been reached while trying to read a value. + The root element created from the supplied HOCON configuration string. + + + + Retrieves the next value token from the tokenizer and appends it + to the supplied element . + + The element to append the next token. + The location in the HOCON object hierarchy that the parser is currently reading. + This exception is thrown if the end of the file has been reached while trying to read a value. + + + + Retrieves the next array token from the tokenizer. + + The location in the HOCON object hierarchy that the parser is currently reading. + An array of elements retrieved from the token. + + + + This class represents the root element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value to associate with this element. + An enumeration of substitutions to associate with this element. + + + + Initializes a new instance of the class. + + The value to associate with this element. + + + + Retrieves the value associated with this element. + + + + + Retrieves an enumeration of substitutions associated with this element. + + + + + This class represents a substitution element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + defaultInstances = 10 + deployment{ + /user/time{ + nr-of-instances = $defaultInstances + } + } + } + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The path. + + + + The full path to the value which should substitute this instance. + + + + + The evaluated value from the Path property + + + + + Determines whether this element is a string. + + true if this element is a string; otherwise false + + + + Retrieves the string representation of this element. + + The string representation of this element. + + + + Determines whether this element is an array. + + true if this element is aan array; otherwise false + + + + Retrieves a list of elements associated with this element. + + A list of elements associated with this element. + + + + Determines whether this element is a HOCON object. + + true if this element is a HOCON object; otherwise false + + + + Retrieves the HOCON object representation of this element. + + The HOCON object representation of this element. + + + + This enumeration defines the different types of tokens found within + a HOCON (Human-Optimized Config Object Notation) configuration string. + + + + + This token type represents a comment. + + + + + This token type represents the key portion of a key-value pair. + + + + + This token type represents the value portion of a key-value pair. + + + + + This token type represents the assignment operator, = or : . + + + + + This token type represents the beginning of an object, { . + + + + + This token type represents the end of an object, } . + + + + + This token type represents a namespace separator, . . + + + + + This token type represents the end of the configuration string. + + + + + This token type represents the beginning of an array, [ . + + + + + This token type represents the end of an array, ] . + + + + + This token type represents the separator in an array, , . + + + + + This token type represents a replacement variable, $foo . + + + + + This token type represents an include statement. + + + + + This class represents a token within a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The type of token to associate with. + + + + Initializes a new instance of the class. + + The string literal value to associate with this token. + + + + The value associated with this token. If this token is + a , then this property + holds the string literal. + + + + + The type that represents this token. + + + + + Creates a key token with a given . + + The key to associate with this token. + A key token with the given key. + + + + Creates a substitution token with a given . + + The path to associate with this token. + A substitution token with the given path. + + + + Creates a string literal token with a given . + + The value to associate with this token. + A string literal token with the given value. + + + + This class contains methods used to tokenize a string. + + + + + Adds the current index to the tokenizer's bookkeeping stack. + + + + + Removes an index from the tokenizer's bookkeeping stack. + + + + + Initializes a new instance of the class. + + The string that contains the text to tokenize. + + + + A value indicating whether the tokenizer has reached the end of the string. + + + + + Determines whether the given pattern matches the value at the current + position of the tokenizer. + + The string that contains the characters to match. + true if the pattern matches, otherwise false. + + + + Retrieves a string of the given length from the current position of the tokenizer. + + The length of the string to return. + + The string of the given length. If the length exceeds where the + current index is located, then null is returned. + + + + + Determines whether any of the given patterns match the value at the current + position of the tokenizer. + + The string array that contains the characters to match. + true if any one of the patterns match, otherwise false. + + + + Retrieves the next character in the tokenizer without advancing its position. + + The character at the tokenizer's current position. + + + + Retrieves the next character in the tokenizer. + + The character at the tokenizer's current position. + + + + Advances the tokenizer to the next non-whitespace character. + + + + + This class contains methods used to tokenize HOCON (Human-Optimized Config Object Notation) + configuration strings. + + + + + Initializes a new instance of the class. + + The string that contains the text to tokenize. + + + + Advances the tokenizer to the next non-whitespace, non-comment token. + + + + + Retrieves the current line from where the current token + is located in the string. + + The current line from where the current token is located. + + + + Retrieves the next token from the string. + + This exception is thrown if an unknown token or escape code is encountered. + The next token contained in the string. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches the start of a quoted string. + + true if token matches; otherwise, false. + + + + Determines whether the current token matches the start of a triple quoted string. + + true if token matches; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves an unquoted token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token is an unquoted key. + + true if token is an unquoted key; otherwise, false. + + + + Determines whether the current token is the start of an unquoted key. + + true if token is the start of an unquoted key; otherwise, false. + + + + Determines whether the current token is whitespace. + + true if token is whitespace; otherwise, false. + + + + Determines whether the current token is whitespace or a comment. + + true if token is whitespace or a comment; otherwise, false. + + + + Retrieves a triple quoted token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a quoted token from the tokenizer's current position. + + This exception is thrown if an unknown escape code is encountered. + A token from the tokenizer's current position. + + + + Retrieves a quoted token from the tokenizer's current position. + + This exception is thrown if an unknown escape code is encountered. + A token from the tokenizer's current position. + + + + TBD + + This exception is thrown if an unknown escape code is encountered. + TBD + + + + Determines whether the current token is the start of a comment. + + true if token is the start of a comment; otherwise, false. + + + + Retrieves a value token from the tokenizer's current position. + + A value token from the tokenizer's current position. + + This exception is thrown if an unknown token is encountered. Expected values include the following: + Null literal, Array, Quoted Text, Unquoted Text, Triple quoted Text, Object or End of array. + + + + + Determines whether the current token is the start of a substitution. + + true if token is the start of a substitution; otherwise, false. + + + + Determines whether the current token is the start of an include directive. + + This exception is thrown if an unknown escape code is encountered. + true if token is the start of an include directive; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token is a space or a tab. + + true if token is the start of a space or a tab; otherwise, false. + + + + Determines whether the current token is the start of an unquoted string literal. + + true if token is the start of an unquoted string literal; otherwise, false. + + + + Retrieves the current token, including whitespace and tabs, as a string literal token. + + A token that contains the string literal value. + + + + Retrieves the current token as a string literal token. + + + This exception is thrown if the tokenizer cannot find a string literal value from the current token. + + A token that contains the string literal value. + + + + Determines whether the current token is a value. + + true if the current token is a value; otherwise, false. + + + + This class represents the root type for a HOCON (Human-Optimized Config Object Notation) + configuration object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The list of elements inside this HOCON value. + Indicates whether this instance was constructed during association with fallback . + + + + Returns true if this HOCON value doesn't contain any elements + + + + + The list of elements inside this HOCON value + + + + + Marker for values were merged during fallback attaching + serving exclusively to skip rendering such values in + + + + + Wraps this into a new object at the specified key. + + The key designated to be the new root element. + A with the given key as the root element. + + + + Retrieves the from this . + + The that represents this . + + + + Determines if this is a . + + true if this value is a , false otherwise. + + + + Adds the given element to the list of elements inside this . + + The element to add to the list. + + + + Clears the list of elements inside this . + + + + + Creates a fresh list of elements inside this + and adds the given value to the list. + + The element to add to the list. + + + + Determines whether all the elements inside this + are a string. + + + trueif all elements inside this are a string; otherwise false. + + + + + Retrieves the child object located at the given key. + + The key used to retrieve the child object. + The element at the given key. + + + + Retrieves the boolean value from this . + + The boolean value represented by this . + + This exception is thrown if the doesn't + conform to the standard boolean values: "on", "off", "true", or "false" + + + + + Retrieves the string value from this . + + The string value represented by this . + + + + Retrieves the decimal value from this . + + The decimal value represented by this . + + + + Retrieves the float value from this . + + The float value represented by this . + + + + Retrieves the double value from this . + + The double value represented by this . + + + + Retrieves the long value from this . + + The long value represented by this . + + + + Retrieves the integer value from this . + + The integer value represented by this . + + + + Retrieves the byte value from this . + + The byte value represented by this . + + + + Retrieves a list of byte values from this . + + A list of byte values represented by this . + + + + Retrieves a list of integer values from this . + + A list of integer values represented by this . + + + + Retrieves a list of long values from this . + + A list of long values represented by this . + + + + Retrieves a list of boolean values from this . + + A list of boolean values represented by this . + + + + Retrieves a list of float values from this . + + A list of float values represented by this . + + + + Retrieves a list of double values from this . + + A list of double values represented by this . + + + + Retrieves a list of decimal values from this . + + A list of decimal values represented by this . + + + + Retrieves a list of string values from this . + + A list of string values represented by this . + + + + Retrieves a list of values from this . + + A list of values represented by this . + + + + Determines whether this is an array. + + + true if this is an array; otherwise false. + + + + + Retrieves the time span value from this . + + A flag used to set infinite durations. + + This exception is thrown if the timespan given in the is negative. + + The time span value represented by this . + + + + Retrieves the long value, optionally suffixed with a 'b', from this . + + The long value represented by this . + + + + Returns a HOCON string representation of this . + + A HOCON string representation of this . + + + + Returns a HOCON string representation of this . + + The number of spaces to indent the string. + A HOCON string representation of this . + + + + Marker interface to make it easier to retrieve HOCON + (Human-Optimized Config Object Notation) objects for + substitutions. + + + + + Determines whether this element is a HOCON object. + + true if this element is a HOCON object; otherwise false + + + + Retrieves the HOCON object representation of this element. + + The HOCON object representation of this element. + + + + This interface defines the contract needed to implement + a HOCON (Human-Optimized Config Object Notation) element. + + + + + Determines whether this element is a string. + + true if this element is a string; otherwise false + + + + Retrieves the string representation of this element. + + The string representation of this element. + + + + Determines whether this element is an array. + + true if this element is aan array; otherwise false + + + + Retrieves a list of elements associated with this element. + + A list of elements associated with this element. + + + + Contextual information that's useful for dispatchers + + + + + The that belongs to the current . + + + + + The that belongs to the current . + + + + + The for the current . + + + + + The list of registered for the current . + + + + + The default set of contextual data needed for s + + + + + Default constructor... + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + INTERNAL API - used to configure the executor used by the + + + + + A configurable factory for producing instances. + + The configuration for this type of executor. + The prerequesites for this type of executor. + + + + Executor-specific configuration + + + + + The system prerequisites needed for this dispatcher to do its job + + + + + INTERNAL API + + Produces that dispatches messages using the default . + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + + + + Used by + + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if either 'dedicated-thread-pool' OR 'fork-join-executor' is not defined in . + + + + + TBD + + TBD + TBD + + + + Factory for producing types. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Base class used for hooking new types into + + + + + Takes a object, usually passed in via + + TBD + TBD + + + + System-wide configuration + + + + + The system prerequisites needed for this dispatcher to do its job + + + + + Returns a instance. + + Whether or not this returns a new instance + or returns a reference to an existing instance is an implementation detail of the + underlying implementation. + + TBD + + + + Configures the that will be used inside this dispatcher. + + + This exception is thrown if a custom ExecutorServiceConfiguration implementation cannot be loaded. + + The requested instance. + + + + Class responsible for pushing messages from an actor's mailbox into its + receive methods. Comes in many different flavors. + + + + + TBD + + + + + INTERNAL API - Debugging purposes only! Should be elided by compiler in release builds. + + + + + The default throughput + + + + + The configurator used to configure this message dispatcher. + + + + + Initializes a new instance of the class. + + TBD + + + + The for this dispatcher's actor system + + + + + The list of available for this dispatcher's actor system + + + + + The ID for this dispatcher. + + + + + Gets or sets the throughput deadline time. + + The throughput deadline time. + + + + Gets or sets the throughput. + + The throughput. + + + + INTERNAL API + + When the dispatcher no longer has any actors registered, the determines + how long it will wait until it shuts itself down, defaulting to your Akka.NET config's 'akka.actor.default-dispatcher.shutdown-timeout' + or the system default specified. + + + + + The number of actors attached to this + + + + + Used for executing arbitrary s on this . + + Not used for mailbox runs. + + + + + Schedules the specified delegate. + + The run. + + + + Schedules an arbitrary task to run. + + The run. + + + + Schedules the to be executed. + + The asynchronous task we're going to run + + + + Publish failure that occurred while inside the running + to the . + + The failure to publish. + + + + INTERNAL API + + Called one time every time an actor is detached from this dispatcher and this dispatcher has no actors left attached + + + MUST BE IDEMPOTENT + + + + + Creates and returns a for the given actor. + + Cell of the actor. + The mailbox configurator. + The configured for this actor. + + + + Dispatches a user-defined message from a mailbox to an + + TBD + TBD + + + + Dispatches a from a mailbox to an + + TBD + TBD + + + + Attaches the dispatcher to the + + + Practically, doesn't do very much right now - dispatchers aren't responsible for creating + mailboxes in Akka.NET + + + The ActorCell belonging to the actor who's attaching to this dispatcher. + + + + INTERNAL API + + If you override it, you must still call the base method. But only ever once. See for only invocation. + + The actor we're registering + + + + INTERNAL API + + Suggest to register the provided mailbox for execution + + The mailbox + Do we have any messages? + Do we have any system messages? + true if the was scheduled for execution, otherwise false. + + + + Detaches the dispatcher to the + + + Only really used in dispatchers with 1:1 relationship with dispatcher. + + + The ActorCell belonging to the actor who's detaching from this dispatcher. + + + + INTERNAL API + + If you override it, you must call it. But only ever once. See for the only invocation + + The actor who is unregistering + + + + After the call to this method, the dispatcher mustn't begin any new message processing for the specified reference + + The cell of the actor whose mailbox will be suspended. + + + + After the call to this method, the dispatcher must begin any new message processing for the specified reference + + The cell of the actor whose mailbox will be resumed. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if this method is called outside an actor context. + + + + + INTERNAL API + + A is a that wraps another and is used to + cache path lookup and string retrieval, which we happen to do in some critical paths of the actor creation + and mailbox selection code. + + All other operations are delegated to the wrapped . + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + Produces that dispatches messages on the current synchronization context, + e.g. WinForms or WPF GUI thread + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Used to create instances of the . + + Each actor created using the pinned dispatcher gets its own unique thread. + + Always returns a new instance. + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Behaves like a and always executes using + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the registering is not the owner. + + + + + TBD + + TBD + + + + The event-based binds a set of actors to a thread pool backed up + by a thread-safe queue. + + The preferred way of creating dispatchers is to define them in configuration and use the + method. + + + + + Used to create a default + + The configurator used. + The id of this dispatcher. + The throughput of this dispatcher. + The deadline for completing N (where N = throughput) operations on the mailbox.. + The factory for producing the executor who will do the work. + The graceful stop timeout period. + + + + Schedules the to be executed. + + The asynchronous task we're going to run + + + + INTERNAL API + + Called one time every time an actor is detached from this dispatcher and this dispatcher has no actors left attached + + + MUST BE IDEMPOTENT + + + + + INTERNAL API + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + INTERNAL API + + Executes its tasks using the + + + + + The scheduler + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + ForkJoinExecutorService - custom multi-threaded dispatcher that runs on top of a + , designed to be used for mission-critical actors + that can't afford starvation. + + Relevant configuration options: + + my-forkjoin-dispatcher { + type = ForkJoinDispatcher + throughput = 100 + dedicated-thread-pool { #settings for Helios.DedicatedThreadPool + thread-count = 3 #number of threads + #deadlock-timeout = 3s #optional timeout for deadlock detection + threadtype = background #values can be "background" or "foreground" + } + } + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if this method is called during the shutdown of this executor. + + + + + TBD + + + + + The registry of all instances available to this . + + + + + The default dispatcher identifier, also the full key of the configuration of the default dispatcher. + + + + + The identifier for synchronized dispatchers. + + + + + The list of all configurators used to create instances. + + Has to be thread-safe, as this collection can be accessed concurrently by many actors. + + + + Initializes a new instance of the class. + The system. + The prerequisites required for some instances. + + + Gets the one and only default dispatcher. + + + + The for the default dispatcher. + + + + + INTERNAL API + + Used when a plugin like Akka.Persistence needs to be able to load dispatcher configurations to the chain. + + TBD + + + + The prerequisites required for some instances. + + + + + Returns a dispatcher as specified in configuration. Please note that this method _MAY_ + create and return a new dispatcher on _EVERY_ call. + + TBD + + This exception is thrown if the specified dispatcher cannot be found in the configuration. + + TBD + + + + Checks that configuration provides a section for the given dispatcher. + This does not guarantee that no will be thrown + when using the dispatcher, because the details can only be checked by trying to + instantiate it, which might be undesirable when just checking. + + TBD + + + + INTERNAL API + + Creates a dispatcher from a . Internal test purpose only. + + From(Config.GetConfig(id)); + + + The Config must also contain an `id` property, which is the identifier of the dispatcher. + + The provided configuration section. + + This exception is thrown if the specified dispatcher cannot be found in . + It can also be thrown if the dispatcher path or type cannot be resolved. + + An instance of the , if valid. + + + + Register a that will be used by + and instead of looking up the configurator from the system + configuration. + + This enables dynamic addition of dispatchers. + + + A for a certain id can only be registered once, + i.e. it can not be replaced. It is safe to call this method multiple times, but only the + first registration will be used. + + + TBD + TBD + This method returns true if the specified configurator was successfully registered. + + + + INTERNAL API + + + + + The cached factory that gets looked up via configuration + inside + + + + + Used to configure and produce instances for use with actors. + + The configuration for this dispatcher. + System pre-reqs needed to run this dispatcher. + + + + Returns a instance. + + Whether or not this returns a new instance + or returns a reference to an existing instance is an implementation detail of the + underlying implementation. + + TBD + + + + Used by the to execute asynchronous invocations + + + + + TBD + + TBD + + + + The Id of the this executor is bound to + + + + + Queues or executes (depending on the implementation) the + + The asynchronous task to be executed + Thrown when the service can't accept additional tasks. + + + + Terminates this instance. + + + + + INTERNAL API + + Used to produce instances for use inside s + + + + + TBD + + TBD + TBD + + + + Thrown when a implementation rejects + + + + + TBD + + TBD + TBD + + + + Class FutureActor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The completion source. + The respond to. + + + + Processor for user defined messages. + + The message. + TBD + + + + Used to help give hints to the as to what types of this + actor requires. Used mostly for system actors. + + The type of required + + + + An asynchronous opreation will be executed by a . + + + + + TBD + + + + + which executes an + + + + + TBD + + TBD + + + + TBD + + + + + which executes an and an representing the state. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Semantics for message queues that support multiple consumers + + + + + Semantics for message queues that have an unbounded size + + + + + Semantics for message queues that have a bounded size + + + + + The enqueue time to wait until message is dropped to deadletters if the message queue is full + + + + + Semantics for message queues that are blocking + + + + + The time to wait on a lock before throwing an timeout exception. + + + + + Semantics for message queues that are Double-Ended. + + + + + TBD + + TBD + + + + Semantics for message queues that are Double-Ended and unbounded + + + + + Semantics for message queues that are Double-Ended and bounded + + + + + Mailbox base class + + + + + Status codes for the state of the mailbox + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The queue used for user-defined messages inside this mailbox + + + + + Creates a new mailbox + + The used by this mailbox. + + + + Posts the specified envelope to the mailbox. + + TBD + The envelope. + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Atomic reader for the system message queue + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + The for the underlying mailbox. + + + + + INTERNAL API + + must not be visible to user-defined implementations + + + + + Attaches an ActorCell to the Mailbox. + + TBD + + + + TBD + + + + + TBD + + + + + Returns the number of times this mailbox is currently suspended. + + + + + Returns true if the mailbox is currently suspended from processing. false otherwise. + + + + + Returns true if the mailbox is closed. false otherwise. + + + + + Returns true if the mailbox is scheduled for execution on a . false otherwise. + + + + + Updates the status of the current mailbox. + + + + + Forcefully sets the status of the current mailbox. + + + + + Reduce the suspend count by one. Caller does not need to worry about whether + status was or not. + + true if the suspend count reached zero. + + + + Increment the suspend count by one. Caller does not need to worry about whether + status was or not. + + true if the previous suspend count was zero. + + + + Set the new primary status to . + + true if we were able to successfully close the mailbox. false otherwise. + + + + Set scheduled status, keeping primary status as-is. + + Returns true if the set operation succeeded. false otherwise. + + + + Reset Scheduled status, keeping primary status as-is + + Returns true if the set operation succeeded. false otherwise. + + + + Processes the contents of the mailbox + + + + + Will at least try to process all queued system messages: in case of + failure simply drop and go on to the next, because there is nothing to + restart here (failure is in somewhere …). In case the mailbox + becomes closed (because of processing a message), dump all + already dequeued message to deadLetters. + + + + + Overrideable callback to clean up the mailbox, called + when an actor is unregistered. + + By default it dequeues all system messages + messages and ships them to the owning actor's systems' . + + + + + Enqueues a new into the for a given actor. + + The actor who will receive the system message. + The system message. + + + + Drains from this mailbox. + + The replacement queue for the system messages inside this mailbox. + + + + Returns true if there are instances inside this mailbox. + false otherwise. + + + + + Prints a message tosStandard out if the Compile symbol "MAILBOXDEBUG" has been set. + If the symbol is not set all invocations to this method will be removed by the compiler. + + TBD + TBD + + + + A factory to create s for an optionally provided . + + + Possibily important notice. + + When implementing a custom MailboxType, be aware that there is special semantics attached to + in that sending the returned may, for a short + period of time, enqueue the messages first in a dummy queue. Top-level actors are created in two steps, and only + after the guardian actor ahs performed that second step will all previously sent messages be transferred from the + dummy queue to the real mailbox. + + Implemented as an abstract class in order to enforce constructor requirements. + + + + + The settings for the given . + + + + + The configuration for this mailbox. + + + + + Constructor used for creating a + + The for this system. + The for this mailbox. + + + + Creates a new from the specified parameters. + + Optional. + Optional. + The resulting + + + + Compilment to + + The type of produced by this class. + + + + UnboundedMailbox is the default used by Akka.NET Actors + + + + + + + + Default constructor for an unbounded mailbox. + + + + + + + + The default bounded mailbox implementation + + + + + The capacity of this mailbox. + + + + + The push timeout value. Will throw a timeout error after this period of time + + + + + + This exception is thrown if the 'mailbox-capacity' in + or the 'mailbox-push-timeout-time' in is negative. + + + + + + + + Priority mailbox base class; unbounded mailbox that allows for prioritization of its contents. + Extend this class and implement the method with your own prioritization. + The value returned by the method will be used to order the message in the mailbox. + Lower values will be delivered first. Messages ordered by the same number will remain in delivery order. + + + + + Function responsible for generating the priority value of a message based on its type and content. + + The message to inspect. + An integer. The lower the value, the higher the priority. + + + + The initial capacity of the unbounded mailbox. + + + + + The default capacity of an unbounded priority mailbox. + + + + + + + + + + + UnboundedDequeBasedMailbox is an unbounded backed by a double-ended queue. Used for stashing. + + + + + + + + + + + BoundedDequeBasedMailbox is an bounded backed by a double-ended queue. Used for stashing. + + + + + The capacity of this mailbox. + + + + + The push timeout. Fires a if it takes longer than this to add a message to + a full bounded mailbox. + + + + + + This exception is thrown if the 'mailbox-capacity' in + or the 'mailbox-push-timeout-time' in is negative. + + + + + + + + Contains the directory of all s registered and configured with a given . + + + + + The system + + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + The system. + + + + TBD + + + + + Check if this actor class can have a required message queue type. + + The type to check. + true if this actor has a message queue type requirement. false otherwise. + + + + Check if this implements the interface. + + The type of the to check. + true if this mailboxtype produces queues. false otherwise. + + + + Returns a as specified in configuration, based on the type, or if not defined null. + + The mailbox we need given the queue requirements. + This exception is thrown if a mapping is not configured for the given . + A as specified in configuration, based on the type, or if not defined null. + + + + Returns a as specified in configuration, based on the id, or if not defined null. + + The ID of the mailbox to lookup + + This exception is thrown if the mailbox type is not configured or the system could not load or find the type specified. + + + This exception is thrown if the mailbox type could not be instantiated. + + The specified in configuration or if not defined null. + + + + INTERNAL API + + The id of the mailbox whose config we're going to generate. + A object for the mailbox with + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the 'mailbox-requirement' in the given isn't met. + + TBD + + + + Creates a mailbox from a configuration path. + + The path. + Mailbox. + + + + Base class for blocking message queues. Allows non thread safe data structures to be used as message queues. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + An Bounded mailbox message queue. + + + + Creates a new bounded message queue. + + The configuration for this mailbox. + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if the given is negative. + + + + + + + + + + + + + + + + + + + + The push timeout for this bounded queue. + + + + + Message queue for supporting within instances. + + Uses a internally - each individual + + + + + The underlying . + + + + + Takes another as an argument - wraps + in order to provide it with prepend () semantics. + + The underlying message queue wrapped by this one. + + + + Returns true if there are any messages inside the queue. + + + + + Returns the number of messages in both the internal message queue + and the prepend buffer. + + + + + + + + Attempt to dequeue a message from the front of the prepend buffer. + + If the prepend buffer is empty, dequeue a message from the normal + wrapped but this wrapper. + + The message to return, if any + true if a message was available, false otherwise. + + + + + + + Add a message to the front of the queue via the prepend buffer. + + The message we wish to append to the front of the queue. + + + + Interface to be implemented by all mailbox message queues + + + + + Tests if the message queue contains any messages + + + + + Returns the count of messages currently in the message queue + + + + + Enqueues an mailbox envelope onto the message queue + + + The receiver of the messages. + + This field is only used in a couple of places, but it should not be removed. + + The envelope to enqueue + + + + Tries to pull an envelope of the message queue + + The envelope that was dequeued + TBD + + + + Called when the this queue belongs to is disposed of. Normally + it is expected to transfer all remaining messages into the deadletter queue which is passed in. The owner + of this is passed in if available (e.g. for creating s), + "/deadletters" otherwise. + + The owner of this message queue if available, "/deadletters" otherwise. + The dead letters message queue. + + + + An unbounded double-ended queue. Used in combination with . + + + + + TBD + + + + + A bounded double-ended queue. Used in combination with . + + + + + TBD + + TBD + TBD + + + + Gets the underlying + + + This method is never called, but had to be implemented to support the interface. + + + + An unbounded mailbox message queue. + + + + + + + + + + + + + + + + + + + Base class for a message queue that uses a priority generator for messages + + + + + DEPRECATED. Use UnboundedPriorityMessageQueue(Func{object, int} priorityGenerator, int initialCapacity) instead. + + The initial capacity of the priority queue. + + + + Creates a new unbounded priority message queue. + + The calculator function for determining the priority of inbound messages. + The initial capacity of the queue. + + + + Unsafe method for computing the underlying message count. + + + Called from within a synchronization mechanism. + + + + + Unsafe method for enquing a new message to the queue. + + The message to enqueue. + + Called from within a synchronization mechanism. + + + + + Unsafe method for attempting to dequeue a message. + + The message that might be dequed. + true if a message was available to be dequeued, false otherwise. + + Called from within a synchronization mechanism. + + + + + Used to create instances of the . + + Each actor created using the pinned dispatcher gets its own unique thread. + + Always returns a new instance. + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Dedicates a unique thread for each actor passed in as reference. Served through its . + + The preferred way of creating dispatcher is to define them in configuration and then use the + method. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the registering is not the owner. + + + + + TBD + + TBD + + + + INTERNAL API + + Value class supporting list operations on instances. The + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + INTERNAL API + + Value type supporting list operations on system messages. The `next` field of + is hidden, and can only accessed through the value classes and + , abstracting over the fact that system messages are the + list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead. + + This list is mutable. + + The type of the list also encodes that the messages contained are in reverse order, i.e. the head of the list is the + latest appended element. + + + + + The front of the list. + + + + + TBD + + TBD + + + + Indicates if the list is empty or not. This operation has constant cost. + + + + + Indicates if the list has at least one element. This operation has a constant cost. + + + + + Indicates the number of elements contained within this list. O(N) operation time. + + + + + Gives back the list containing all the elements except the first. This operation has constant cost. + + ***Warning:*** as the underlying list nodes (the instances) are mutable, care + should be taken when passing the tail to other methods. should be + called on the head if one wants to detach the tail permanently. + + + + + Reverses the list. This operation mutates the underlying list. The cost of the call is O(N), where N is the number of elements. + + The type of the returned list ios the opposite order: . + + + + + Attaches a message to the current head of the list. This operation has constant cost. + + The list being modified. + The new item to add to the head of the list. + A new with appended to the front. + + + + INTERNAL API + + Value type supporting list operations on system messages. The `next` field of + is hidden, and can only accessed through the value classes and + , abstracting over the fact that system messages are the + list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead. + + This list is mutable. + + The type of the list also encodes that the messages contained are in reverse order, i.e. the head of the list is the + latest appended element. + + + + + The front of the list. + + + + + TBD + + TBD + + + + Indicates if the list is empty or not. This operation has constant cost. + + + + + Indicates if the list has at least one element. This operation has a constant cost. + + + + + Indicates the number of elements contained within this list. O(N) operation time. + + + + + Gives back the list containing all the elements except the first. This operation has constant cost. + + ***Warning:*** as the underlying list nodes (the instances) are mutable, care + should be taken when passing the tail to other methods. should be + called on the head if one wants to detach the tail permanently. + + + + + Reverses the list. This operation mutates the underlying list. The cost of the call is O(N), where N is the number of elements. + + The type of the returned list ios the opposite order: . + + + + + Attaches a message to the current head of the list. This operation has constant cost. + + The list being modified. + The new item to add to the head of the list. + A new with appended to the front. + + + + Prepends a list in a reversed order to the head of this list. The prepended list will be reversed during the process. + + The original list. + The list to be reversed and prepended. + A new list with reversed and prepended to the front of . + + Example: (3, 4, 5) reversePrepend (2, 1, 0) == (0, 1, 2, 3, 4, 5) + + + The cost of this operation is O(N) in the size of the list that is to be prepended. + + + + + INTERNAL API + + Signals to Akka.NET actors that we need to wait until children + have completed some operation (usually, shutting down) before we + can process this stashed . + + + + + INTERNAL API + + Stash this when the actor is in a failed state. + + + + + Class ISystemMessage. + + + + + INTERNAL API + + is an interface and too basic to express + all of the capabilities needed to express a full-fledged system message. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Switched into the mailbox to signal termination + + + + + TBD + + TBD + + + + Class DeathWatchNotification. + + + + + Initializes a new instance of the class. + + The actor. + if set to true [existence confirmed]. + if set to true [address terminated]. + + + + Gets the actor. + + The actor. + + + + Gets a value indicating whether [existence confirmed]. + + true if [existence confirmed]; otherwise, false. + + + + Gets a value indicating whether [address terminated]. + + true if [address terminated]; otherwise, false. + + + + TBD + + TBD + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + The child. + The cause. + The uid + + + + Gets the child. + + The child. + + + + Gets the cause. + + The cause. + + + + TBD + + + + + TBD + + TBD + + + + Class Supervise. + + + + + Initializes a new instance of the class. + + The child. + if set to true [asynchronous]. + + + + Gets a value indicating whether this is asynchronous. + + true if asynchronous; otherwise, false. + + + + Gets the child. + + The child. + + + + TBD + + TBD + + + + Creates a deathwatch subscription between and . + + will be notified via a message when + is stopped. In the case of a remote actor references, a may also be produced in + the event that the association between the two remote actor systems fails. + + + + + Initializes a new instance of the class. + + The watchee. + The watcher. + + + + Gets the watchee. + + The watchee. + + + + Gets the watcher. + + The watcher. + + + + TBD + + TBD + + + + Unsubscribes from any death watch notifications for . + + + + + Initializes a new instance of the class. + + The watchee. + The watcher. + + + + Gets the watchee. + + The watchee. + + + + Gets the watcher. + + The watcher. + + + + TBD + + TBD + + + + Class ActorTask. + + + + + Initializes a new instance of the class. + + The task. + + + + Gets the task. + + The task. + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + + + + Initializes a new instance of the class. + + The exception. + The message causing the exception + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + The cause. + + + + Gets the cause. + + The cause. + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + The caused by failure. + + + + Gets or sets the caused by failure. + + The caused by failure. + + + + TBD + + TBD + + + + Sent to self from + + + + + TBD + + TBD + + + + Class Stop. + + + + + TBD + + TBD + + + + INTERNAL + + + + + Initializes a new instance of the class. + + The child. + + + + Gets the child. + + The child. + + + + TBD + + TBD + + + + Class Escalate. + + + + + Initializes a new instance of the class. + + The reason. + + + + Gets the reason. + + The reason. + + + + TBD + + TBD + + + + Class Terminate. + + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Class Terminate. + + + + + TBD + + + + + TBD + + TBD + + + + helper class for configuring + instances who depend on the Helios . + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Default settings for instances. + + + + + Used inside Akka.Remote for constructing the low-level Helios threadpool, but inside + vanilla Akka it's also used for constructing custom fixed-size-threadpool dispatchers. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Used with instances to signal completion, + but there is no actual value completed. + + + + + The singleton instance of + + + + + This class represents an where the subscriber type is an . + + The type of event published to the bus. + The type of classifier used to classify events. + + + + This class represents an provider used to create the extension. + + + + + Creates the extension using a given actor system. + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + This class represents an extension used by remote and cluster death watchers + to publish notifications when a remote system is deemed dead. + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Retrieves the extension from the specified actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Registers the specified actor to receive notifications. + + The actor that is registering for notifications. + + + + Unregisters the specified actor from receiving notifications. + + The actor that is unregistering for notifications. + + + + Sends alls registered subscribers an notification. + + The message that is sent to all subscribers. + + + + A logging adapter implementation publishing log events to the event stream. + + + + + Initializes a new instance of the class. + + The logging bus instance that messages will be published to. + The log source. + The log class. + The log message formatter. + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Publishes the error message onto the LoggingBus. + + The error message. + + + + Publishes the error message and exception onto the LoggingBus. + + The exception that caused this error. + The error message. + + + + Publishes the warning message onto the LoggingBus. + + The warning message. + + + + Publishes the info message onto the LoggingBus. + + The info message. + + + + Publishes the debug message onto the LoggingBus. + + The debug message. + + + + Use with caution: Messages extending this trait will not be logged by the default dead-letters listener. + Instead they will be wrapped as and may be subscribed for explicitly. + + + + + Represents a message that could not be delivered to it's recipient. + This message wraps the original message, the sender and the intended recipient of the message. + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + + + The original message that could not be delivered. + + + + + The actor that was to receive the message. + + + + + The actor that sent the message. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + When a message is sent to an Actor that is terminated before receiving the message, it will be sent as a DeadLetter + to the ActorSystem's EventStream + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + This exception is thrown when either the sender or the recipient is undefined. + + + + + Similar to with the slight twist of NOT being logged by the default dead letters listener. + Messages which end up being suppressed dead letters are internal messages for which ending up as dead-letter is both expected and harmless. + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + This exception is thrown when either the sender or the recipient is undefined. + + + + + This class represents an actor responsible for listening to messages and logging them using the . + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + This class represents a Debug log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + Default logger implementation that outputs logs to the Console. + + + + + TBD + + TBD + TBD + + + + Print the specified log event. + + The log event that is to be output. + + + + This class represents an implementation that uses to format log messages. + + + + + Formats a specified composite string using an optional list of item substitutions. + + The string that is being formatted. + An optional list of items used to format the string. + The given string that has been correctly formatted. + + + + This class represents a Error log event. + + + + + Initializes a new instance of the class. + + The exception that caused the log event. + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + The exception that caused the log event. + + + + + Retrieves the used to classify this event. + + The used to classify this event. + + + + Returns a that represents this instance. + + A that represents this instance. + + + + This class provides base publish/subscribe functionality for working with events inside the system. + + The type of event published to the bus. + The type of classifier used to classify events. + The type of the subscriber that listens for events. + + + + Retrieves the simplified type name (the class name without the namespace) of a given object. + + The object that is being queried. + The simplified type name of the given object. + + + + Retrieves the simplified type name (the class name without the namespace) of a given type. + + The object that is being queried. + The simplified type name of the given type. + + + + Adds the specified subscriber to the list of subscribers that listen for particular events on the bus. + + The subscriber that is being added. + The classifier of the event that the subscriber wants. + true if the subscription succeeds; otherwise false. + + + + Removes the specified subscriber from the list of subscribers that listen for particular events on the bus. + + The subscriber that is being removed. + true if the subscription cancellation succeeds; otherwise false. + + + + Removes the specified subscriber from the list of subscribers that listen for particular events on the bus. + + The subscriber that is being removed. + The classifier of the event that the subscriber wants. + true if the subscription cancellation succeeds; otherwise false. + + + + Determines whether a specified classifier, , is a subclass of another classifier, . + + The potential parent of the classifier that is being checked. + The classifier that is being checked. + true if the classifier is a subclass of ; otherwise false. + + + + Publishes the specified event directly to the specified subscriber. + + The event that is being published. + The subscriber that receives the event. + + + + Classifies the specified event using the specified classifier. + + The event that is being classified. + The classifier used to classify the event. + true if the classification succeeds; otherwise false. + + + + Retrieves the classifier used to classify the specified event. + + The event for which to retrieve the classifier. + The classifier used to classify the event. + + + + Publishes the specified event to the bus. + + The event that is being published. + + + + INTERNAL API + + Watches all actors which subscribe on the given eventStream, and unsubscribes them from it when they are Terminated. + + Assumptions note: + We do not guarantee happens-before in the EventStream when 2 threads subscribe(a) / unsubscribe(a) on the same actor, + thus the messages sent to this actor may appear to be reordered - this is fine, because the worst-case is starting to + needlessly watch the actor which will not cause trouble for the stream. This is a trade-off between slowing down + subscribe calls * because of the need of linearizing the history message sequence and the possibility of sometimes + watching a few actors too much - we opt for the 2nd choice here. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + Provides factory for Akka.Event.EventStreamUnsubscriber actors with unique names. + This is needed if someone spins up more EventStreams using the same ActorSystem, + each stream gets it's own unsubscriber. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + The EventStream is a pub-sub stream of events that can be both system and user generated. + + The subscribers are IActorRef instances and events can be any object. Subscriptions are hierarchical meaning that if you listen to + an event for a particular type you will receive events for that type and any sub types. + + If the debug flag is activated any operations on the event stream will be published as debug level events. + + + + + Initializes a new instance of the class. + + if set to true [debug]. + + + + Subscribes the specified subscriber. + + The subscriber. + The channel. + + This exception is thrown if the given is undefined. + + true if subscription was successful, false otherwise. + + + + Unsubscribes the specified subscriber. + + The subscriber. + The channel. + + This exception is thrown if the given is undefined. + + true if unsubscription was successful, false otherwise. + + + + Unsubscribes the specified subscriber. + + The subscriber. + + This exception is thrown if the given is undefined. + + true if unsubscription was successful, false otherwise. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + Extension methods for the EventStream class. + + + + + Subscribes the specified subscriber. + + The channel. + The event stream. + The subscriber. + true if subscription was successful, false otherwise. + subscriber + + + + Unsubscribes the specified subscriber. + + The channel. + The event stream. + The subscriber. + true if unsubscription was successful, false otherwise. + subscriber + + + + Semantics needed for loggers + + + + + This interface describes the methods used to log events within the system. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Determines whether a specific log level is enabled. + + The log level that is being checked. + true if the specified level is enabled; otherwise false. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This class represents an implementation used when messages are to be dropped instead of logged. + + + + + Retrieves a singleton instance of the class. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Determines whether a specific log level is enabled. + + The log level that is being checked. + + true if the specified level is enabled; otherwise false. + + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Obsolete. Use instead! + + N/A + N/A + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This interface describes the methods used to format log messages. + + + + + Formats a specified composite string using an optional list of item substitutions. + + The string that is being formatted. + An optional list of items used to format the string. + The given string that has been correctly formatted. + + + + This class represents an Info log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + This class represents a message used to initialize a logger. + + + + + Initializes a new instance of the message. + + The bus used by the logger to log events. + + + + The bus used by the logger to log events. + + + + + This class represents a logging event in the system. + + + + + Initializes a new instance of the class. + + + + + The timestamp that this event occurred. + + + + + The thread where this event occurred. + + + + + The source that generated this event. + + + + + The type that generated this event. + + + + + The message associated with this event. + + + + + Retrieves the used to classify this event. + + The used to classify this event. + + + + Returns a that represents this LogEvent. + + A that represents this LogEvent. + + + + This class represents a message used to notify subscribers that a logger has been initialized. + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given or is undefined. + + TBD + + + + Mailbox type used by loggers + + + + + TBD + + TBD + TBD + + + + This class represents a marker which is inserted as originator class into + when the string representation was supplied directly. + + + + + This class provides the functionality for creating logger instances and helpers for converting to/from values. + + + + + Returns a singleton instance of the standard out logger. + + + + + Retrieves the log event class associated with the specified log level. + + The log level used to lookup the associated class. + The exception is thrown if the given is unknown. + The log event class associated with the specified log level. + + + + Retrieves the log event class name associated with the specified log level. + + The log level used to lookup the associated class. + The exception is thrown if the given is unknown. + The log event class name associated with the specified log level. + + + + Creates a new logging adapter using the specified context's event stream. + + The context used to configure the logging adapter. + The formatter used to format log messages. + The newly created logging adapter. + + + + Creates a new logging adapter using the specified system's event stream. + + The system used to configure the logging adapter. + The source that produces the log events. + The formatter used to format log messages. + The newly created logging adapter. + + + + Creates a new logging adapter that writes to the specified logging bus. + + The bus on which this logger writes. + The source that produces the log events. + The formatter used to format log messages. + The newly created logging adapter. + + + + Retrieves the log level from the specified string. + + The string representation of the log level to lookup. + The exception is thrown if the given is unknown. + The log level that matches the specified string. + + + + Retrieves the log level associated with the specified log event. + + The type of the log event. + The exception is thrown if the given is unknown. + The log level associated with the specified type. + + + + This class represents the base logging adapter implementation used to log events within the system. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The exception that caused the log event. + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Creates an instance of the LoggingAdapterBase. + + The log message formatter used by this logging adapter. + This exception is thrown when the given is undefined. + + + + Checks the logging adapter to see if the supplied is enabled. + + The log level to check if it is enabled in this logging adapter. + This exception is thrown when the given is unknown. + true if the supplied log level is enabled; otherwise false + + + + Notifies all subscribers that a log event occurred for a particular level. + + The log level associated with the log event. + The message related to the log event. + This exception is thrown when the given is unknown. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Obsolete. Use instead! + + N/A + N/A + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This class represents an event bus which subscribes loggers to system LogEvents. + + + + + The minimum log level that this bus will subscribe to, any LogEvents with a log level below will not be subscribed to. + + + + + Determines whether a specified classifier, , is a subclass of another classifier, . + + The potential parent of the classifier that is being checked. + The classifier that is being checked. + true if the classifier is a subclass of ; otherwise false. + + + + Publishes the specified event directly to the specified subscriber. + + The event that is being published. + The subscriber that receives the event. + + + + Classifies the specified event using the specified classifier. + + The event that is being classified. + The classifier used to classify the event. + true if the classification succeeds; otherwise false. + + + + Retrieves the classifier used to classify the specified event. + + The event for which to retrieve the classifier. + The classifier used to classify the event. + + + + Starts the loggers defined in the system configuration. + + The system that the loggers need to start monitoring. + + This exception is thrown if the logger specified in the configuration could not be found or loaded. + + + This exception is thrown if the logger doesn't respond with a message when initialized. + + + + + Stops the loggers defined in the system configuration. + + The system that the loggers need to stop monitoring. + + + + Starts the logger. + + The configuration used to configure the . + + + + Sets the minimum log level for this bus, any LogEvents below this level are ignored. + + The new log level in which to listen. + + + + Enumeration representing the various log levels in the system. + + + + + The debug log level. + + + + + The information log level. + + + + + The warning log level. + + + + + The error log level. + + + + + Represents a log message which is composed of a format string and format args. + + + + + Gets the format string of this log message. + + + + + Gets the format args of this log message. + + + + + Initializes an instance of the LogMessage with the specified formatter, format and args. + + The formatter for the LogMessage. + The string format of the LogMessage. + The format args of the LogMessage. + + + + TBD + + TBD + + + + This class represents an event logger that logs its messages to standard output (e.g. the console). + + + This logger is always attached first in order to be able to log failures during application start-up, + even before normal logging is started. + + + + + + Initializes the class. + + + + + N/A + + This exception is automatically thrown since does not support this property. + + + + The path where this logger currently resides. + + + + + Handles incoming log events by printing them to the console. + + The message to print + The actor that sent the message. + + This exception is thrown if the given is undefined. + + + + + The foreground color to use when printing Debug events to the console. + + + + + The foreground color to use when printing Info events to the console. + + + + + The foreground color to use when printing Warning events to the console. + + + + + The foreground color to use when printing Error events to the console. + + + + + Determines whether colors are used when printing events to the console. + + + + + Prints a specified event to the console. + + The event to print + + + + Represents a Subscription to the EventBus. + + The type of the subscriber. + The type of the classifier. + + + + Initializes a new instance of the class. + + The subscriber. + The unsubscriptions. + + + + Initializes a new instance of the class. + + The subscriber. + + + + Gets the subscriber attached to this subscription. + + The subscriber. + + + + Gets the unsubscriptions of this particular subscription. + + The unsubscriptions. + + + + This class represents an event logger that logs its messages using a configured trace listener. + + + To use activate this logger, modify the loggers section in your Akka.NET configuration like so, + + + akka { + ... + loggers = [""Akka.Event.TraceLogger, Akka""] + ... + } + + + Further configuration may be required in your main configuration (e.g. app.config or web.config) + to properly set up the trace. See here + for more information regarding .NET tracing. + + + + + + TBD + + TBD + + + + This class represents a message that was not handled by the recipient. + + + + + Initializes a new instance of the class. + + The original message that could not be handled. + The actor that sent the message. + The actor that was to receive the message. + + + + The original message that could not be handled. + + + + + The actor that sent the message. + + + + + The actor that was to receive the message. + + + + + This class represents a Warning log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + INTERNAL API + + A buffer pool which keeps a free list of direct buffers of a specified default + size in a simple fixed size stack. + + If the stack is full the buffer is de-referenced and available to be + freed by normal garbage collection. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The Connect message is sent to the TCP manager actor, which is obtained via + . Either the manager replies with a + or the actor handling the new connection replies with a + message. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The Bind message is send to the TCP manager actor, which is obtained via + in order to bind to a listening socket. The manager + replies either with a or the actor handling the listen + socket replies with a message. If the local port is set to 0 in + the Bind message, then the message should be inspected to find + the actual port which was bound to. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + This message must be sent to a TCP connection actor after receiving the + message. The connection will not read any data from the + socket until this message is received, because this message defines the + actor which will receive all inbound data. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + In order to close down a listening socket, send this message to that socket’s + actor (that is the actor which previously had sent the message). The + listener socket actor will reply with a message. + + + + + TBD + + + + + Common interface for all commands which aim to close down an open connection. + + + + + TBD + + + + + A normal close operation will first flush pending writes and then close the + socket. The sender of this command and the registered handler for incoming + data will both be notified once the socket is closed using a + message. + + + + + TBD + + + + + TBD + + + + + A confirmed close operation will flush pending writes and half-close the + connection, waiting for the peer to close the other half. The sender of this + command and the registered handler for incoming data will both be notified + once the socket is closed using a message. + + + + + TBD + + + + + TBD + + + + + An abort operation will not flush pending writes and will issue a TCP ABORT + command to the O/S kernel which should result in a TCP_RST packet being sent + to the peer. The sender of this command and the registered handler for + incoming data will both be notified once the socket is closed using a + message. + + + + + TBD + + + + + TBD + + + + + Each can optionally request a positive acknowledgment to be sent + to the commanding actor. If such notification is not desired the + must be set to an instance of this class. The token contained within can be used + to recognize which write failed when receiving a message. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + Write data to the TCP connection. If no ack is needed use the special + `NoAck` object. The connection actor will reply with a + message if the write could not be enqueued. If + returns true, the connection actor will reply with the supplied + token once the write has been successfully enqueued to the O/S kernel. + Note that this does not in any way guarantee that the data will be + or have been sent! Unfortunately there is no way to determine whether + a particular write has been sent by the O/S. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TbD + TBD + + + + TBD + + + + + Write `count` bytes starting at `position` from file at `filePath` to the connection. + The count must be > 0. The connection actor will reply with a + message if the write could not be enqueued. If + returns true, the connection actor will reply with the supplied + token once the write has been successfully enqueued to the O/S kernel. + Note that this does not in any way guarantee that the data will be + or have been sent! Unfortunately there is no way to determine whether + a particular write has been sent by the O/S. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + A write command which aggregates two other write commands. Using this construct + you can chain a number of and/or commands together in a way + that allows them to be handled as a single write which gets written out to the + network as quickly as possible. + If the sub commands contain `ack` requests they will be honored as soon as the + respective write has been written completely. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + When `useResumeWriting` is in effect as was indicated in the message + then this command needs to be sent to the connection actor in order to re-enable + writing after a event. All processed by the + connection actor between the first and subsequent reception of + this message will also be rejected with . + + + + + TBD + + + + + Sending this command to the connection actor will disable reading from the TCP + socket. TCP flow-control will then propagate backpressure to the sender side + as buffers fill up on either end. To re-enable reading send . + + + + + TBD + + + + + This command needs to be sent to the connection actor after a + command in order to resume reading from the socket. + + + + + TBD + + + + + This message enables the accepting of the next connection if read throttling is enabled + for connection actors. + + + + + TBD + + + + + TBD + + TBD + + + + Common interface for all events generated by the TCP layer actors. + + + + + Whenever data are read from a socket they will be transferred within this + class to the handler actor which was designated in the message. + + + + + TBD + + TBD + + + + TBD + + + + + The connection actor sends this message either to the sender of a + command (for outbound) or to the handler for incoming connections designated + in the message. The connection is characterized by the `remoteAddress` + and `localAddress` TCP endpoints. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Whenever a command cannot be completed, the queried actor will reply with + this message, wrapping the original command which failed. + + + + + TBD + + TBD + + + + TBD + + + + + When `useResumeWriting` is in effect as indicated in the message, + the command will be acknowledged by this message type, upon + which it is safe to send at least one write. This means that all writes preceding + the first message have been enqueued to the O/S kernel at this + point. + + + + + TBD + + + + + The sender of a command will—in case of success—receive confirmation + in this form. If the bind address indicated a 0 port number, then the contained + `localAddress` can be used to find out which port was automatically assigned. + + + + + TBD + + + + + TBD + + TBD + + + + The sender of an command will receive confirmation through this + message once the listening socket has been closed. + + + + + TBD + + + + + This is the common interface for all events which indicate that a connection + has been closed or half-closed. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The connection has been closed normally in response to a command. + + + + + TBD + + + + + The connection has been aborted in response to an command. + + + + + TBD + + + + + TBD + + + + + The connection has been half-closed by us and then half-close by the peer + in response to a command. + + + + + TBD + + + + + TBD + + + + + The peer has closed its writing half of the connection. + + + + + TBD + + + + + TBD + + + + + The connection has been closed due to an IO error. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TDB + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + Base class for TcpIncomingConnection and TcpOutgoingConnection. + + INTERNAL API + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + connection established, waiting for registration from user handler + + + normal connected state + + + the peer sent EOF first, but we may still want to send + + + connection is closing but a write has to be finished first + + + connection is closed on our side and we're waiting from confirmation from the other side + + + used in subclasses to start the common machinery above once a channel is connected + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + Used to transport information to the postStop method to notify + interested party about a connection close. + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + Groups required connection-related data that are only available once the connection has been fully established. + + + An actor handling the connection state machine for an incoming, already connected + SocketChannel. + + INTERNAL API + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + TODO: CLRify comment + + INTERNAL API + + TcpManager is a facade for accepting commands () to open client or server TCP connections. + + TcpManager is obtainable by calling {{{ IO(Tcp) }}} (see [[akka.io.IO]] and [[akka.io.Tcp]]) + + == Bind == + + To bind and listen to a local address, a command must be sent to this actor. If the binding + was successful, the sender of the will be notified with a + message. The sender() of the message is the Listener actor (an internal actor responsible for + listening to server events). To unbind the port an message must be sent to the Listener actor. + + If the bind request is rejected because the Tcp system is not able to register more channels (see the nr-of-selectors + and max-channels configuration options in the akka.io.tcp section of the configuration) the sender will be notified + with a message. This message contains the original command for reference. + + When an inbound TCP connection is established, the handler will be notified by a message. + The sender of this message is the Connection actor (an internal actor representing the TCP connection). At this point + the procedure is the same as for outbound connections (see section below). + + == Connect == + + To initiate a connection to a remote server, a message must be sent to this actor. If the + connection succeeds, the sender() will be notified with a message. The sender of the + message is the Connection actor (an internal actor representing the TCP connection). Before + starting to use the connection, a handler must be registered to the Connection actor by sending a + command message. After a handler has been registered, all incoming data will be sent to the handler in the form of + messages. To write data to the connection, a message must be sent + to the Connection actor. + + If the connect request is rejected because the Tcp system is not able to register more channels (see the nr-of-selectors + and max-channels configuration options in the akka.io.tcp section of the configuration) the sender will be notified + with a message. This message contains the original command for reference. + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + UDP Extension for Akka’s IO layer. + + This extension implements the connectionless UDP protocol without + calling `connect` on the underlying sockets, i.e. without restricting + from whom data can be received. For "connected" UDP mode see . + + For a full description of the design and philosophy behind this IO + implementation please refer to the Akka online documentation. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + The common interface for and . + + + The common type of all commands supported by the UDP implementation. + + + + TBD + + + + + Each can optionally request a positive acknowledgment to be sent + to the commanding actor. If such notification is not desired the + must be set to an instance of this class. The token contained within can be used + to recognize which write failed when receiving a message. + + + + + Default instance which is used when no acknowledgment information is + explicitly provided. Its "token" is . + + + + + TBD + + TBD + + + + TBD + + + + + This message is understood by the "simple sender" which can be obtained by + sending the query to the as well as by + the listener actors which are created in response to . It will send + the given payload data as one UDP datagram to the given target address. The + UDP actor will respond with if the send could not be + enqueued to the O/S kernel because the send buffer was full. If the given + `ack` is not of type the UDP actor will reply with the given + object as soon as the datagram has been successfully enqueued to the O/S + kernel. + + The sending UDP socket’s address belongs to the "simple sender" which does + not handle inbound datagrams and sends from an ephemeral port; therefore + sending using this mechanism is not suitable if replies are expected, use + in that case. + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + Send this message to the in order to bind to the given + local port (or an automatically assigned one if the port number is zero). + The listener actor for the newly bound port will reply with a + message, or the manager will reply with a message. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Send this message to the listener actor that previously sent a + message in order to close the listening socket. The recipient will reply + with an message. + + + + + TBD + + + + + Retrieve a reference to a "simple sender" actor of the UDP extension. + The newly created "simple sender" will reply with the notification. + + The "simple sender" is a convenient service for being able to send datagrams + when the originating address is meaningless, i.e. when no reply is expected. + + The "simple sender" will not stop itself, you will have to send it a + when you want to close the socket. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + Send this message to a listener actor (which sent a message) to + have it stop reading datagrams from the network. If the O/S kernel’s receive + buffer runs full then subsequent datagrams will be silently discarded. + Re-enable reading from the socket using the `ResumeReading` command. + + + + + TBD + + + + + This message must be sent to the listener actor to re-enable reading from + the socket after a `SuspendReading` command. + + + + + TBD + + + + The common type of all events emitted by the UDP implementation. + + + + When a listener actor receives a datagram from its socket it will send + it to the handler designated in the message using this message type. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + When a command fails it will be replied to with this message type, + wrapping the failing command object. + + + + + TBD + + TBD + + + + TBD + + + + + This message is sent by the listener actor in response to a command. + If the address to bind to specified a port number of zero, then this message + can be inspected to find out which port was automatically assigned. + + + + + TBD + + TBD + + + + TBD + + + + The "simple sender" sends this message type in response to a query. + + + + TBD + + + + + This message is sent by the listener actor in response to an `Unbind` command + after the socket has been closed. + + + + + TBD + + + + + TBD + + + + + to set the SO_BROADCAST option + + For more information see cref="System.Net.Sockets.Socket.EnableBroadcast"/> + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + UDP Extension for Akka’s IO layer. + + This extension implements the connectionless UDP protocol with + calling `connect` on the underlying sockets, i.e. with restricting + from whom data can be received. For "unconnected" UDP mode see . + + For a full description of the design and philosophy behind this IO + implementation please refer to the Akka online documentation. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + The common interface for and . + + + + + The common type of all commands supported by the UDP implementation. + + + + + TBD + + + + + TBD + + + + + Each can optionally request a positive acknowledgment to be sent + to the commanding actor. If such notification is not desired the + must be set to an instance of this class. The token contained within can be used + to recognize which write failed when receiving a message. + + + + + Default instance which is used when no acknowledgment information is + explicitly provided. Its "token" is . + + + + + TBD + + TBD + + + + TBD + + + + + This message is understood by the connection actors to send data to their + designated destination. The connection actor will respond with + if the send could not be enqueued to the O/S kernel + because the send buffer was full. If the given `ack` is not of type + the connection actor will reply with the given object as soon as the datagram + has been successfully enqueued to the O/S kernel. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + Send this message to the in order to bind to a local + port (optionally with the chosen `localAddress`) and create a UDP socket + which is restricted to sending to and receiving from the given `remoteAddress`. + All received datagrams will be sent to the designated `handler` actor. + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Send this message to a connection actor (which had previously sent the + message) in order to close the socket. The connection actor + will reply with a message. + + + + + TBD + + + + + Send this message to a listener actor (which sent a message) to + have it stop reading datagrams from the network. If the O/S kernel’s receive + buffer runs full then subsequent datagrams will be silently discarded. + Re-enable reading from the socket using the `ResumeReading` command. + + + + + TBD + + + + + This message must be sent to the listener actor to re-enable reading from + the socket after a `SuspendReading` command. + + + + + TBD + + + + + The common type of all events emitted by the UDP implementation. + + + + + When a connection actor receives a datagram from its socket it will send + it to the handler designated in the message using this message type. + + + + + TBD + + TBD + + + + TBD + + + + + When a command fails it will be replied to with this message type, + wrapping the failing command object. + + + + + TBD + + TBD + + + + TBD + + + + + This message is sent by the connection actor to the actor which sent the + message when the UDP socket has been bound to the local and + remote addresses given. + + + + + TBD + + + + + This message is sent by the connection actor to the actor which sent the + `Disconnect` message when the UDP socket has been closed. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + TODO: CLRify comment + + INTERNAL API + + UdpManager is a facade for simple fire-and-forget style UDP operations + + UdpManager is obtainable by calling {{{ IO(Udp) }}} (see [[akka.io.IO]] and [[akka.io.Udp]]) + + *Warning!* Udp uses [[java.nio.channels.DatagramChannel#send]] to deliver datagrams, and as a consequence if a + security manager has been installed then for each datagram it will verify if the target address and port number are + permitted. If this performance overhead is undesirable use the connection style Udp extension. + + == Bind and send == + + To bind and listen to a local address, a command must be sent to this actor. If the binding + was successful, the sender of the will be notified with a + message. The sender of the message is the Listener actor (an internal actor responsible for + listening to server events). To unbind the port an message must be sent to the Listener actor. + + If the bind request is rejected because the Udp system is not able to register more channels (see the nr-of-selectors + and max-channels configuration options in the akka.io.udp section of the configuration) the sender will be notified + with a message. This message contains the original command for reference. + + The handler provided in the message will receive inbound datagrams to the bound port + wrapped in messages which contain the payload of the datagram and the sender address. + + UDP datagrams can be sent by sending messages to the Listener actor. The sender port of the + outbound datagram will be the port to which the Listener is bound. + + == Simple send == + + Udp provides a simple method of sending UDP datagrams if no reply is expected. To acquire the Sender actor + a SimpleSend message has to be sent to the manager. The sender of the command will be notified by a SimpleSenderReady + message that the service is available. UDP datagrams can be sent by sending messages to the + sender of SimpleSenderReady. All the datagrams will contain an ephemeral local port as sender and answers will be + discarded. + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + A rope-like immutable data structure containing bytes. + The goal of this structure is to reduce copying of arrays + when concatenating and slicing sequences of bytes, + and also providing a thread safe way of working with bytes. + + + + + Creates a new ByteString by copying a byte array. + + TBD + TBD + + + + Creates a new ByteString by copying length bytes starting at offset from + an Array. + + TBD + TBD + TBD + TBD + + + + Creates a new ByteString which will contain the UTF-8 representation of the given String + + TBD + TBD + + + + Creates a new ByteString which will contain the representation of the given String in the given charset + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if this cannot be concatenated with . + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + N/A + + + This exception is thrown automatically since iterators aren't supported in . + + N/A + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + This type is used in generic type signatures wherever the actual value is of no importance. + It is a combination of F#’s 'unit' and C#’s 'void', which both have different issues when + used from the other language. An example use-case is the materialized value of an Akka Stream for cases + where no result shall be returned from materialization. + + + + + The singleton instance of . + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Class PatternMatch. + + + + + Matches the specified target. + + The target. + Case. + + + + Matches the specified target and return a result of target processing. + + The target. + Case. + + + + Interface IMatchResult + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Class Case. + + + + + The _message + + + + + The _handled + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Initializes a new instance of the class. + + The message. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Defaults the specified action. + + The action. + IMatchResult. + + + + Class AlwaysHandled. + + + + + The instance + + + + + Prevents a default instance of the class from being created. + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Class Case with returning result. + + The type of return value + + + + The _message + + + + + The _handled + + + + + The final result of execution + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Initializes a new instance of the class. + + The message. + + + + Withes the specified action. + + The type of the t message. + The function. + Case. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Defaults the specified action. + + The default function. + The result of the matching + + + + Builds back-off options for creating a back-off supervisor. You can pass to . + + + + + Back-off options for creating a back-off supervisor actor that expects a child actor to restart on failure. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Back-off options for creating a back-off supervisor actor that expects a child actor to stop on failure. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Returns a new with automatic back-off reset. The back-off algorithm is reset if the child does not crash within the specified `resetBackoff`. + + The back-off is reset if the child does not crash within this duration + + + + Returns a new with manual back-off reset. The back-off is only reset if the child sends a `BackoffSupervisor.Reset` to its parent(the backoff-supervisor actor). + + + + + Returns a new with the supervisorStrategy. + + The that the back-off supervisor will use. The default supervisor strategy is used as fallback if the specified SupervisorStrategy (its decider) does not explicitly handle an exception + + + + Returns a new with a default . The default supervisor strategy is used as fallback for throwables not handled by . + + + + + Returns the props to create the back-off supervisor. + + + + + Actor used to supervise actors with ability to restart them after back-off timeout occurred. + It's designed for cases when i.e. persistent actor stops due to journal unavailability or failure. + In this case it better to wait before restart. + + + + + Send this message to the and it will reply with containing the `ActorRef` of the current child, if any. + + + + + TBD + + + + + Send this message to the and it will reply with containing the `ActorRef` of the current child, if any. + + + + + TBD + + TBD + + + + Send this message to the and it will reset the back-off. This should be used in conjunction with `withManualReset` in . + + + + + TBD + + + + + Props for creating a actor. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Props for creating a actor from . + + The that specify how to construct a backoff-supervisor. + + + + + Props for creating a actor with a custom supervision strategy. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + The supervision strategy to use for handling exceptions in the child + + + + TBD + + + + + Provides circuit breaker functionality to provide stability when working with + "dangerous" operations, e.g. calls to remote systems + + + + Transitions through three states: + + + In *Closed* state, + calls pass through until the maxFailures count is reached. + This causes the circuit breaker to open. Both exceptions and calls exceeding + callTimeout are considered failures. + + + In *Open* state, + calls fail-fast with an exception. After resetTimeout, + circuit breaker transitions to half-open state. + + + In *Half-Open* state, + the first call will be allowed through, if it succeeds + the circuit breaker will reset to closed state. If it fails, the circuit + breaker will re-open to open state. All calls beyond the first that execute + while the first is running will fail-fast with an exception. + + + + + + + The current state of the breaker -- Closed, Half-Open, or Closed -- *access only via helper methods* + + + + + Helper method for access to the underlying state via Interlocked + + Previous state on transition + Next state on transition + Whether the previous state matched correctly + + + + Helper method for access to the underlying state via Interlocked + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Create a new CircuitBreaker + + Maximum number of failures before opening the circuit + of time after which to consider a call a failure + of time after which to attempt to close the circuit + TBD + + + + Create a new CircuitBreaker + + Maximum number of failures before opening the circuit + of time after which to consider a call a failure + of time after which to attempt to close the circuit + TBD + + + + Retrieves current failure count. + + + + + Wraps invocation of asynchronous calls that need to be protected + + TBD + Call needing protected + containing the call result + + + + Wraps invocation of asynchronous calls that need to be protected + + Call needing protected + + + + + The failure will be recorded farther down. + + TBD + + + + Wraps invocations of asynchronous calls that need to be protected + If this does not complete within the time allotted, it should return default() + + + Await.result( + withCircuitBreaker(try Future.successful(body) catch { case NonFatal(t) ⇒ Future.failed(t) }), + callTimeout) + + + + TBD + TBD + or default() + + + + Adds a callback to execute when circuit breaker opens + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Adds a callback to execute when circuit breaker transitions to half-open + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Adds a callback to execute when circuit breaker state closes + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Implements consistent transition between states. Throws IllegalStateException if an invalid transition is attempted. + + State being transitioning from + State being transitioned to + + This exception is thrown if an invalid transition is attempted from to . + + + + + Trips breaker to an open state. This is valid from Closed or Half-Open states + + State we're coming from (Closed or Half-Open) + + + + Resets breaker to a closed state. This is valid from an Half-Open state only. + + + + + Attempts to reset breaker by transitioning to a half-open state. This is valid from an Open state only. + + + + + Concrete implementation of Open state + + + + + TBD + + TBD + + + + N/A + + N/A + N/A + This exception is thrown automatically since the circuit is open. + N/A + + + + N/A + + N/A + This exception is thrown automatically since the circuit is open. + N/A + + + + No-op for open, calls are never executed so cannot succeed or fail + + + + + No-op for open, calls are never executed so cannot succeed or fail + + + + + On entering this state, schedule an attempted reset and store the entry time to + calculate remaining time before attempted reset. + + + + + Concrete implementation of half-open state + + + + + TBD + + TBD + + + + Allows a single call through, during which all other callers fail-fast. If the call fails, the breaker reopens. + If the call succeeds, the breaker closes. + + TBD + Implementation of the call that needs protected + TBD + containing result of protected call + + + + Allows a single call through, during which all other callers fail-fast. If the call fails, the breaker reopens. + If the call succeeds, the breaker closes. + + Implementation of the call that needs protected + TBD + containing result of protected call + + + + Reopen breaker on failed call. + + + + + Reset breaker on successful call. + + + + + On entry, guard should be reset for that first call to get in + + + + + Override for more descriptive toString + + TBD + + + + Concrete implementation of Closed state + + + + + TBD + + TBD + + + + Implementation of invoke, which simply attempts the call + + TBD + Implementation of the call that needs protected + containing result of protected call + + + + Implementation of invoke, which simply attempts the call + + Implementation of the call that needs protected + containing result of protected call + + + + On failed call, the failure count is incremented. The count is checked against the configured maxFailures, and + the breaker is tripped if we have reached maxFailures. + + + + + On successful call, the failure count is reset to 0 + + + + + On entry of this state, failure count is reset. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Used to help make it easier to schedule timeouts in conjunction + with the built-in + + + + + Returns a that will be completed with the success or failure + of the provided value after the specified duration. + + The return type of task. + The duration to wait. + The scheduler instance to use. + The task we're going to wrap. + a that will be completed with the success or failure + of the provided value after the specified duration + + + + This exception is thrown when a method has been invoked at an illegal or inappropriate time. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The inner that was thrown. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the CircuitBreaker is open. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This class contains logic used by a to route a message to multiple routees. + + + + + Picks all the routees in to receive the . + + The message that is being routed. + A collection of routees that receives the . + A that contains all the given that receives the . + + + + This class represents a router that sends messages it receives to all of its routees. + + + + + Initializes a new instance of the class. + + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages it receives to all of its routees. + + + + + Initializes a new instance of the class. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + The configuration to use to lookup paths used by the group router. + + + + Initializes a new instance of the class. + + A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + + + + Obsolete. Use instead. + + new BroadcastGroup(actorRefs.Select(c => c.Path.ToString())) + + + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The dispatcher to use when passing messages to the routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Consistent Hashing node ring implementation. + + A good explanation of Consistent Hashing: + http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html + + Note that toString of the ring nodes are used for the node + hash, i.e. make sure it is different for different nodes. + + The type of objects to store in the hash. + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if the given is less than one. + + + + + Adds a node to the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The node to add to the hash ring + A new instance of this hash ring with the given node added. + + + + Removes a node from the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The node to remove from the hash ring + A new instance of this hash ring with the given node removed. + + + + Retrieves the node associated with the data key. + + The data key used for lookup. + + This exception is thrown if the node ring is empty. + + The node associated with the data key + + + + Retrieves the node associated with the data key. + + The data key used for lookup. + + This exception is thrown if the node ring is empty. + + The node associated with the data key + + + + Check to determine if the node ring is empty (i.e. no nodes added or all removed) + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + Adds a node to the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The hash ring used to derive a new ring with the given node added. + The node to add to the hash ring + A new instance of this hash ring with the given node added. + + + + Removes a node from the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The hash ring used to derive a new ring with the given node removed. + The node to remove from the hash ring + A new instance of this hash ring with the given node removed. + + + + Static helper class for creating instances. + + + + + Factory method to create a instance. + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Translate the offered object into a byte array, or returns the original object + if it needs to be serialized first. + + An arbitrary .NET object + The object encoded into bytes - in the case of custom classes, the hashcode may be used. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Static class for assisting with instances + + + + + Default empty implementation + + + + + This interface marks a given class as consistently hashable, for use with + or + routers. + + + + + The consistent hash key of the marked class. + + + + + This class represents a that can be wrapped around a message in order to make + it hashable for use with or routers. + + + + + Initializes a new instance of the class. + + The message that is being wrapped in the envelope. + The key used as the consistent hash key for the envelope. + + + + The key used as the consistent hash key. + + + This is the same as the + + + + + + The consistent hash key of the envelope. + + + + + Delegate for computing the hashkey from any given type of message. Extracts the property / data + that is going to be used for a given hash, but doesn't actually return the hash values themselves. + + If returning a byte[] or string it will be used as is, otherwise the configured + will be applied to the returned data. + + + + + This class contains logic used by a to route a message to a + determined using consistent-hashing. This process has the router select a routee based on a message's + consistent hash key. There are 3 ways to define the key, which can be used individually or combined + to form the key. The is tried first. + +
    +
  1. + You can define a or use + of the router to map incoming messages to their consistent hash key. + This makes the decision transparent for the sender. +
  2. +
  3. + Messages may implement . The hash key is part + of the message and it's convenient to define it together with the message + definition. +
  4. +
  5. + The message can be wrapped in a to + define what data to use for the consistent hash key. The sender knows what key + to use. +
  6. +
+
+
+ + + Initializes a new instance of the class. + + + A configured in this way uses the + as the hash + mapping function with a virtual node factor of 0 (zero). + + + The actor system that owns the router with this logic. + + + + Initializes a new instance of the class. + + The actor system that owns the router with this logic. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + + + + Picks a to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + Creates a new router logic with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + + This exception is thrown if the given is undefined. + + A new router logic with the provided . + + + + INTERNAL API + + Important to use ActorRef with full address, with host and port, in the hash ring, + so that same ring is produced on different nodes. + The ConsistentHash uses toString of the ring nodes, and the ActorRef itself + isn't a good representation, because LocalActorRef doesn't include the + host and port. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + This class represents a router that sends messages to a determined using consistent-hashing. + Please refer to for more information on consistent hashing. + + + Using with is potentially harmful, as hash ranges + might change radically during live message processing. This router works best with fixed-sized pools or fixed + number of routees per node in the event of clustered deployments. + + + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + + 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. + + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The consistent hash mapping function to use on incoming messages. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + + + + Virtual nodes used in the . + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + Using with is potentially harmful, as hash ranges + might change radically during live message processing. This router works best with fixed-sized pools or fixed + number of routees per node in the event of clustered deployments. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Setting the number of virtual nodes per node, used in . + + A new router with the provided dispatcher id. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + + This exception is thrown if the given is not a . + + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using consistent-hashing. + Please refer to for more information on consistent hashing. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. + + + + + + Initializes a new instance of the class. + + >A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + A list of actor paths used by the group router. + + + + Obsolete. Use instead. + + new ConsistentHashingGroup(actorRefs.Select(c => c.Path.ToString())) + + + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The consistent hash mapping function to use on incoming messages. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + The dispatcher to use when passing messages to the routees. + + + + Virtual nodes used in the . + + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + + This exception is thrown if the given is not a . + + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This interface is needed to implement listening capabilities on an actor. + + +
    +
  • Use the method to send a message to the listeners.
  • +
  • Send Listen(Self) to another Actor to start listening.
  • +
  • Send Deafen(Self) to another Actor to stop listening.
  • +
  • Send WithListeners(delegate) to traverse the current listeners.
  • +
+
+
+
+ + + Retrieves the support needed to interact with an actor's listeners. + + + + + This class represents a message sent by an actor to another actor that is listening to it. + + + + + The class represents a sent by an to another + instructing the second actor to start listening for messages sent by the first actor. + + + + + Initializes a new instance of the class. + + The actor that receives the message. + + + + The actor that receives the message. + + + + + The class represents a sent by an to another + instructing the second actor to stop listening for messages sent by the first actor. + + + + + Initializes a new instance of the class. + + The actor that no longer receives the message. + + + + The actor that no longer receives the message. + + + + + This class represents a instructing an + to perform a supplied for all of its listeners. + + + + + Initializes a new instance of the class. + + The action to perform for all of an actor's listeners. + + + + The action to perform for all of an actor's listeners. + + + + + This class adds capabilities to an actor. + + + must be wired manually into the actor's + method. + + + + + + The collection of registered listeners that is listening for messages from an actor. + + + + + Retrieves the wiring needed to implement listening functionality. + + + This needs to be chained into the actor's method. + + + + + + Adds the specified actor to the collection of registered listeners. + + The actor to add to the collection of registered listeners. + + + + Removes the specified actor from the collection of registered listeners. + + The actor to remove from the collection of registered listeners. + + + + Sends the supplied message to all registered listeners. + + + Messages sent this way use as the sender. + + + The message sent to all registered listeners. + + + + Sends the supplied message to all registered listeners. + + The message sent to all registered listeners. + The actor that sends the message. + + + + This class contains logic used by a to route a message to a random . + + + + + Picks a random to receive the . + + The message that is being routed. + A collection of routees to randomly choose from when receiving the . + A that receives the . + + + + This class represents a router that sends messages to a random . + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + This class represents a router that sends messages to a random . + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + + + + Initializes a new instance of the class. + + >A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of paths used by the group router. + The dispatcher to use when passing messages to the routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + INTERNAL API. + + Defines routers who can resize the number of routees + they use based on a defined + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Command used to resize a + + + + + INTERNAL API + + + + + must always use ResizeInProgressState static class to compare or assign values + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if pool's resizer is undefined. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + routers with dynamically resizable number of routees are implemented by providing a Resizer + implementation in the configuration + + + + + Is it time for resizing. Typically implemented with modulo of nth message, but + could be based on elapsed time or something else. The messageCounter starts with 0 + for the initial resize and continues with 1 for the first message. Make sure to perform + initial resize before first message (messageCounter == 0), because there is no guarantee + that resize will be done when concurrent messages are in play. + + CAUTION: this method is invoked from the thread which tries to send a + message to the pool, i.e. the ActorRef.!() method, hence it may be called + concurrently. + + TBD + TBD + + + + Decide if the capacity of the router need to be changed. Will be invoked when `isTimeForResize` + returns true and no other resize is in progress. + + Return the number of routees to add or remove. Negative value will remove that number of routees. + Positive value will add that number of routess. 0 will not change the routees. + + This method is invoked only in the context of the Router actor. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Implementation of that adjust the based on specified thresholds. + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception can be thrown for a number of reasons. These include: +
    +
  • The given bound was negative.
  • +
  • The given bound was negative.
  • +
  • The given bound was below the bound.
  • +
  • The given was negative.
  • +
  • The given was greater than one.
  • +
  • The given was negative.
  • +
  • The given was less than one.
  • +
+
+
+ + + TBD + + TBD + TBD + + + + Creates a new DefaultResizer from the given configuration + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Returns the overall desired change in resizer capacity. Positive value will + add routees to the resizer. Negative value will remove routees from the + resizer + + The current actor in the resizer + the number of routees by which the resizer should be adjusted (positive, negative or zero) + + + + Number of routees considered busy, or above 'pressure level'. + + Implementation depends on the value of `pressureThreshold` + (default is 1). +
    +
  • 0: number of routees currently processing a message.
  • +
  • 1: number of routees currently processing a message has + some messages in mailbox.
  • +
  • > 1: number of routees with at least the configured `pressureThreshold` + messages in their mailbox. Note that estimating mailbox size of + default UnboundedMailbox is O(N) operation.
  • +
+
+ An enumeration of the current routees + The number of routees considered to be above pressure level. +
+ + + This method can be used to smooth the capacity delta by considering + the current pressure and current capacity. + + pressure current number of busy routees + capacity current number of routees + proposed change in the capacity + + + + Computes a proposed positive (or zero) capacity delta using + the configured `rampupRate`. + + the current number of busy routees + the current number of total routees + proposed increase in capacity + + + + Computes a proposed negative (or zero) capacity delta using + the configured `backoffThreshold` and `backoffRate` + + pressure current number of busy routees + capacity current number of routees + proposed decrease in capacity (as a negative number) + + + + The fewest number of routees the router should ever have. + + + + + The most number of routees the router should ever have. + Must be greater than or equal to `lowerBound`. + + + + + * Threshold to evaluate if routee is considered to be busy (under pressure). + Implementation depends on this value (default is 1). +
    +
  • 0: number of routees currently processing a message.
  • +
  • 1: number of routees currently processing a message has + some messages in mailbox.
  • +
  • > 1: number of routees with at least the configured `pressureThreshold` + messages in their mailbox. Note that estimating mailbox size of + default UnboundedMailbox is O(N) operation.
  • +
+
+
+ + + Percentage to increase capacity whenever all routees are busy. + For example, 0.2 would increase 20% (rounded up), i.e. if current + capacity is 6 it will request an increase of 2 more routees. + + + + + Minimum fraction of busy routees before backing off. + For example, if this is 0.3, then we'll remove some routees only when + less than 30% of routees are busy, i.e. if current capacity is 10 and + 3 are busy then the capacity is unchanged, but if 2 or less are busy + the capacity is decreased. + + Use 0.0 or negative to avoid removal of routees. + + + + + Fraction of routees to be removed when the resizer reaches the + backoffThreshold. + For example, 0.1 would decrease 10% (rounded up), i.e. if current + capacity is 9 it will request an decrease of 1 routee. + + + + + Number of messages between resize operation. + Use 1 to resize before each message. + + + + + Determines whether the specified resizer, is equal to this instance. + + The resizer to compare. + true if the specified router is equal to this instance; otherwise, false. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + This class contains logic used by a to route a message to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router iterates + again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The index to use when starting the selection process. Note that it will start at (next + 1). + + + + Picks the next in the collection to receive the . + + The message that is being routed. + A collection of routees to choose from when receiving the . + A that is receives the . + + + + This class represents a router that sends messages to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router + iterates again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router + iterates again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + The configuration parameter trumps the constructor arguments. This means that + if you provide `paths` during instantiation they will be ignored if + the router is defined in the configuration file for the actor being used. + + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + + + + Initializes a new instance of the class. + + A list of paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + + + + Obsolete. Use instead. + + N/A + + + + Initializes a new instance of the class. + + A list of paths used by the group router. + The dispatcher to use when passing messages to routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Remove routees from . Messages in flight may still + be routed to the old instance containing the old routees. + + TBD + TBD + + + + Used to stop child routees - typically used in resizable routers + + TBD + + + + TBD + + + + + Called when is initialized but before the base class' to + be able to do extra initialization in a subclass. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + This class contains logic used by a to route messages to one or more actors. + These actors are known in the system as a . + + + + + Picks a to receive the . + + Normally it picks one of the passed routees, but it is up to the implementation + to return whatever to use for sending a specific message. + + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Create a new instance with the specified routees and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + This class provides base functionality used in the creation and configuration of the various routers in the system. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + This method defaults to setting the dispatcher to use the . + + + The dispatcher to use when passing messages to routees. + + + + A configuration that specifies that no router is to be used. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The ActorSystem this router belongs to. + The newly created router tied to the given system. + + + + Dispatcher ID to use for running the "head" actor, which handles supervision, death watch and router management messages. + + + + + Possibility to define an actor for controlling the routing + logic from external stimuli(e.g.monitoring metrics). + This actor will be a child of the router "head" actor. + Management messages not handled by the "head" actor are + delegated to this controller actor. + + + + + Determines whether a provided message is handled by the router. + + The message to inspect. + true if this message is handled by the router; otherwise false. + + + + Specify that this router should stop itself when all routees have terminated (been removed). + By Default it is `true`, unless a `resizer` is used. + + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Check that everything is there which is needed. Called in constructor of RoutedActorRef to fail early. + + TBD + + + + The router "head" actor. + + + + + Creates a surrogate representation of the current router. + + The actor system that owns this router. + The surrogate representation of the current router. + + + + + + + + + + This class provides base functionality for all group routers in the system. + Group routers are routers that use already created routees. These routees + are supplied to the router and are addressed through + paths. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Adds the current router to an empty . + + An empty configured to use the current router. + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + + + + + + + + + + This class provides base functionality for all pool routers in the system. + Pool routers are routers that create their own routees based on the provided + configuration. + + + + + Initializes a new instance of the class. + + If a is not provided, this constructor sets up + the pool to use the default dispatcher . + + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Retrieves the current number of routees in the pool. + + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Retrieve whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + Creates a new configured to use the provided + and the pool dispatcher if enabled. + + The to configure with the pool dispatcher. + The context for the provided . + + A new configured to use the provided + and the pool dispatcher if enabled. + + + + + TBD + + TBD + TBD + TBD + + + + Retrieve the resizer to use when dynamically allocating routees to the pool. + + + + + Retrieve the strategy to use when supervising the pool. + + + + + Adds the current router to the provided . + + The to configure with the current router. + The provided configured to use the current router. + + + + Specify that this router should stop itself when all routees have terminated (been removed). + + + + + TBD + + TBD + + + + TBD + + + + + + + + + + + + + + If a custom router implementation is not a nor + a it may extend this base class. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Router configuration which has no default, i.e. external configuration is required. + This can be used when the dispatcher to be used for the head Router needs to be configured + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + + + + Retrieves a based on what's stored in the configuration. + + This router is set to use the default dispatcher . + + + + + + N/A + + N/A + + This exception is automatically thrown since cannot create routers. + + N/A + + + + N/A + + + This exception is automatically thrown since cannot create router actors. + + N/A + + + + N/A + + N/A + + This exception is automatically thrown since 'akka.actor.dispatch' is missing router configuration for . + + N/A + + + + Setting the supervisor strategy to be used for the "head" Router actor + + TBD + TBD + + + + Setting the resizer to be used. + + TBD + TBD + + + + Setting the dispatcher to be used for the router head actor, which handles + supervision, death watch and router management messages. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Enriches a with what what's stored in the router configuration. + + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Routing configuration that indicates no routing; this is also the default + value which hence overrides the merge strategy in order to accept values + from lower-precedence sources. The decision whether or not to create a + router is taken in the based on . + + + + + TBD + + + + + N/A + + N/A + + This exception is automatically thrown since cannot create routers. + + N/A + + + + N/A + + + This exception is automatically thrown since cannot create router actors. + + N/A + + + + N/A + + + This exception is automatically thrown since does not have a dispatcher. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class contains convenience methods used to send messages to a . + + + + + Sends a to a + to retrieve a list of routees that the router is currently using. + + + + + This class represents a non-routed message that is processed by the . + These types of messages are for managing the router itself, like adding routees, deleting + routees, etc. + + + + + This class represents a sent to a instructing + it to send a message back to the requestor that lists the routees that the router + is currently using. + + + + + This class represents a message used to carry information about what routees a is currently using. + + + + + Initializes a new instance of the class. + + The routees that a is currently using. + + + + An enumeration of routees that a is currently using. + + + + + This class represents a sent to a instructing + it to remove a specific routee from the router's collection of routees. It may be handled after other messages. + + + For a pool with child routees the routee is stopped by sending a + to the routee. Precautions are taken to reduce the risk of dropping messages that are concurrently + being routed to the remove routee, but there are no guarantees. + + + + + + Initializes a new instance of the class. + + The routee to remove from the router's collection of routees. + + + + The routee removed from the router's collection of routees. + + + + + This class represents a sent to a instructing + it to add a specific routee to the router's collection of routees. It may be handled after other messages. + + + + + Initializes a new instance of the class. + + The routee added to the router's collection of routees. + + + + The routee added to the router's collection of routees. + + + + + This class represents a sent to a router instructing + it to increase or decrease the number of alloted routees the router can use. It may be handled after other messages. + + + Positive will add that number of routees to the . + Negative will remove that number of routees from the . + + + Routees are stopped by sending a to the routee. + Precautions are taken to reduce the risk of dropping messages that are concurrently + being routed to the remove routee, but there are no guarantees. + + + + + + Initializes a new instance of the class. + + The number of routees to add or subtract from the . + + + + The number of routees added or subtracted from the . + + + + + INTERNAL API + + Actor implementation for routers. + + + + + TBD + + + + + Initializes a new instance of the class. + + The supervisor strategy. + TBD + + + + TBD + + TBD + + + + Called when [receive]. + + The message. + + + + This class contains logic used by a to route a message to a determined + using scatter-gather-first-completed. This process has the router send a message to all of its routees. The first + response is used and the remaining are discarded. If the none of the routees respond within a specified time + limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The amount of time to wait for a response. + + + + Picks all the provided to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + This class represents a single point that sends messages to a determined + using scatter-gather-first-completed. This process has the router send a message to all of its routees. The first + response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The list of routees that the router uses to send messages. + The time within which at least one response is expected. + + + + Sends a message to the collection of routees. + + The message that is being sent. + The actor sending the message. + + + + This class represents a router that sends messages to a determined using scatter-gather-first-completed. + This process has the router send a message to all of its routees. The first response is used and the remaining are discarded. If the none of the + routees respond within a specified time limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + 'within' must be defined in the provided configuration. + + + + + + Initializes a new instance of the class. + + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The amount of time to wait for a response. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + The amount of time to wait for a response. + true to use the pool dispatcher; otherwise false. + + + + The amount of time to wait for a response. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The amount of time to wait for a response. + + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using scatter-gather-first-completed. + This process has the router send a message to all of its routees. The first response is used and the remaining are discarded. If the none of the + routees respond within a specified time limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + If 'within' is defined in the provided configuration then that will be used as the interval. + + + + + + Initializes a new instance of the class. + + The amount of time to wait for a response. + A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The amount of time to wait for a response. + + + + Obsolete. Use instead. + + new ScatterGatherFirstCompletedGroup(actorRefs.Select(c => c.Path.ToString()), within) + + + N/A + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The amount of time to wait for a response. + The dispatcher to use when passing messages to the routees. + + + + The amount of time to wait for a response. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The amount of time to wait for a response. + + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class contains logic used by a to route a message to a + determined using smallest-mailbox. This process has the router select a routee based on the fewest number + of messages in its routees' mailbox. The selection is done in the following order: + +
    +
  • Pick any routee with an empty mailbox.
  • +
  • Pick a routee with the fewest pending messages in its mailbox.
  • +
  • Pick any remaining routees.
  • +
+ + Remote routees are consider lowest priority, since their mailbox size is unknown. + + + For the case, when all routees are of unpredictable size, the selection process fails back to round-robin. + +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Seed value used in the fallback selection process. + + + + Picks a to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + This class represents a router that sends messages to a determined using smallest-mailbox. + Please refer to for more information on the selection process. + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class contains logic used by a to route a message to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The time within which at least one response is expected. + The duration after which the next routee will be picked. + The used to force deadlines. + + + + Picks all of the provided to receive the . + + The message that is being routed + A collection of routees used when receiving the . + A that receives the . + + + + This class represents a single point that sends messages to a determined using tail-chopping. + This process has the routee select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The list of routees that the router uses to send messages. + The time within which at least one response is expected. + The duration after which the next routee will be picked. + The used to force deadlines. + + + + Sends a message to the collection of routees. + + The message that is being sent. + The actor sending the message. + + + + This class represents a router that sends messages to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + 'nr-of-instances', 'within', and 'tail-chopping-router.interval' + must be defined in the provided configuration. + + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + true to use the pool dispatcher; otherwise false. + + + + The amount of time to wait for a response. + + + + + The amount of time to wait before sending to the next routee. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + The interval to wait before sending to the next routee. + + + The amount of time to wait for a response. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + If 'within' is defined in the provided configuration then that will be used as the timeout. + If 'tail-chopping-router.interval' is defined in the provided configuration then that will be used as the interval. + + + + + + Initializes a new instance of the class. + + The actor paths used by this router during routee selection. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + + + + Initializes a new instance of the class. + + The actor paths used by this router during routee selection. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + The dispatcher to use when passing messages to the routees. + + + + The amount of time to wait for a response. + + + + + The amount of time to wait before sending to the next routee. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The amount of time to wait for a response. + + + + + The interval to wait before sending to the next routee. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This is a special that serializes and deserializes byte arrays only + (just returns the byte array unchanged/uncopied). + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + + This exception is thrown if the given is not a byte array. + + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + A typed settings for a class. + + + + + A default instance of used when no custom configuration has been provided. + + + + + Creates a new instance of the based on a provided . + Config may define several key-values: +
    +
  • `encode-type-names` (boolean) mapped to
  • +
  • `preserve-object-references` (boolean) mapped to
  • +
  • `converters` (type list) mapped to . They must implement and define either default constructor or constructor taking as its only parameter.
  • +
+
+ Raised when no was provided. + Raised when types defined in `converters` list didn't inherit . +
+ + + When true, serializer will encode a type names into serialized json $type field. This must be true + if is a default serializer in order to support polymorphic + deserialization. + + + + + When true, serializer will track a reference dependencies in serialized object graph. This must be + true if . + + + + + A collection of an additional converter types to be applied to a . + Converters must inherit from class and implement a default constructor. + + + + + Creates a new instance of the . + + Determines if a special `$type` field should be emitted into serialized JSON. Must be true if corresponding serializer is used as default. + Determines if object references should be tracked within serialized object graph. Must be true if corresponding serialize is used as default. + A list of types implementing a to support custom types serialization. + + + + This is a special that serializes and deserializes javascript objects only. + These objects need to be in the JavaScript Object Notation (JSON) format. + + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + TBD + + + + + TBD + + TBD + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + true if this instance can convert the specified object type; otherwise, false. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + This is a special that serializes and deserializes nulls only + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Completely unique value to identify this implementation of the used to optimize network traffic + + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Serialization information needed for serializing local actor refs. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Deserializes the given array of bytes using the specified serializer id, using the optional type hint to the Serializer. + + TBD + TBD + TBD + + This exception is thrown if the system cannot find the serializer with the given . + + The resulting object + + + + Deserializes the given array of bytes using the specified serializer id, using the optional type hint to the Serializer. + + TBD + TBD + TBD + + This exception is thrown if the system cannot find the serializer with the given + or it couldn't find the given with the given . + + The resulting object + + + + Returns the Serializer configured for the given object, returns the NullSerializer if it's null. + + TBD + TBD + + + + Returns the configured Serializer for the given Class. The configured Serializer + is used if the configured class `IsAssignableFrom` from the type, i.e. + the configured class is a super class or implemented interface. In case of + ambiguity it is primarily using the most specific configured class, + and secondly the entry configured first. + + TBD + + This exception is thrown if the serializer of the given could not be found. + + TBD + + + + TBD + + TBD + TBD + + + + A Serializer represents a bimap between an object and an array of bytes representing that object. + + Serializers are loaded using reflection during + start-up, where two constructors are tried in order: + +
    +
  • taking exactly one argument of type ; + this should be the preferred one because all reflective loading of classes + during deserialization should use ExtendedActorSystem.dynamicAccess (see + [[akka.actor.DynamicAccess]]), and
  • +
  • without arguments, which is only an option if the serializer does not + load classes using reflection.
  • +
+ + Be sure to always use the PropertyManager for loading classes! This is necessary to + avoid strange match errors and inequalities which arise from different class loaders loading + the same class. +
+
+ + + The actor system to associate with this serializer. + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Completely unique value to identify this implementation of Serializer, used to optimize network traffic + Values from 0 to 16 is reserved for Akka internal usage + + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Serializes the given object into a byte array and uses the given address to decorate serialized ActorRef's + + The address to use when serializing local ActorRef´s + The object to serialize + TBD + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Deserializes a byte array into an object. + + The array containing the serialized object + The object contained in the array + + + + TBD + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Deserializes a byte array into an object using an optional (type hint). + + The array containing the serialized object + The type hint used to deserialize the object contained in the array. + The object contained in the array + + + + Returns the manifest (type hint) that will be provided in the method. + + + This method returns if a manifest is not needed. + + + The object for which the manifest is needed. + The manifest needed for the deserialization of the specified . + + + + INTERNAL API. + + + + + TBD + + + + + TBD + + TBD + TBD + + This exception is thrown if the system couldn't find the given serializer id in the configuration. + + TBD + + + + Implementation of the java.concurrent.util.AtomicBoolean type. + + Uses internally to enforce ordering of writes + without any explicit locking. .NET's strong memory on write guarantees might already enforce + this ordering, but the addition of the MemoryBarrier guarantees it. + + + + + Sets the initial value of this to . + + TBD + + + + The current value of this + + + + + If equals , then set the Value to + . + + TBD + TBD + true if was set + + + + Atomically sets the to and returns the old . + + The new value + The old value + + + + Performs an implicit conversion from to . + + The boolean to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The boolean to convert + The result of the conversion. + + + + Implementation of the java.concurrent.util AtomicReference type. + + Uses internally to enforce ordering of writes + without any explicit locking. .NET's strong memory on write guarantees might already enforce + this ordering, but the addition of the Volatile guarantees it. + + TBD + + + + Sets the initial value of this to . + + TBD + + + + Default constructor + + + + + TBD + + + + + The current value of this + + + + + If equals , then set the Value to + . + + TBD + TBD + true if was set + + + + Atomically sets the to and returns the old . + + The new value + The old value + + + + Performs an implicit conversion from to . + + The reference to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The reference to convert + The result of the conversion. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + N/A + + TBD + N/A + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + N/A + + N/A + TBD + N/A + + + + N/A + + N/A + TBD + N/A + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + Get a single Byte from this iterator. Identical to next(). + + TBD + + + + Get a single Short from this iterator. + + TBD + TBD + + + + Get a single Int from this iterator. + + TBD + TBD + + + + Get a single Long from this iterator. + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Retrieves an enumerator that iterates through the collection. + + An enumerator that can be used to iterate through the collection. + + + + Performs an implicit conversion from to . + + The array to convert + The result of the conversion. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Implements a circular around an existing . + + This allows for continuous read-only iteration over a set. + + The type of objects to enumerate + + + + Initializes a new instance of the class. + + The raw iterator from some object + + + + + + + + + + + + + + + + Extension method class for adding support to any + instance within Akka.NET + + + + + Provides a instance for . + + Internally, it just wraps 's internal iterator with circular iteration behavior. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Performs an implicit conversion from to . + + The object to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The object to convert + The result of the conversion. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + A fast, atomic lazy that only allows a single publish operation to happen, + but allows executions to occur concurrently. + + Does not cache exceptions. Designed for use with types that are + or are otherwise considered to be expensive to allocate. + + Read the full explanation here: https://github.com/Aaronontheweb/FastAtomicLazy#rationale + + TBD + + + + Initializes a new instance of the class. + + + This exception is thrown if the given is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + A fast, atomic lazy that only allows a single publish operation to happen, + but allows executions to occur concurrently. + + Does not cache exceptions. Designed for use with types that are + or are otherwise considered to be expensive to allocate. + + Read the full explanation here: https://github.com/Aaronontheweb/FastAtomicLazy#rationale + + State type + Value type + + + + Initializes a new instance of the class. + + + This exception is thrown if the given or is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + An implementation of a ConcurrentMultiMap - in CLR that would be something like + where TValue is another . + + Add/remove is serialized over the specified key. + Reads are fully concurrent. + + TBD + TBD + + + + TBD + + + + + Associates the value of with key of type . + + The key to add. + The value to add. + true if the value didn't exist for the key previously, and false otherwise. + + + + Find some for the first matching value where the supplied + returns true for the given key. + + The key to use. + The predicate to filter values associated with . + The first matching . default(TValue) otherwise. + + + + TBD + + TBD + + + + Applies the supplied to all keys and their values. + + The function to apply. + + + + Returns the union of all value sets. + + + + + Returns the key set. + + + + + Disassociates the value of from + the key of . + + The key. + The value. + true if was removed. false otherwise. + + + + Remove the given from all keys. + + The value we're going to remove, if it exists for any key. + + + + Disassociates all values for the specified key. + + The key we're going to remove. + An enumerable collection of if the key exists. An empty collection otherwise. + + + + Returns true if the index is empty. + + + + + Removes all keys and values + + + + + Provides extension utilities to arrays. + + + + + Determines if an array is null or empty. + + The array to check. + True if null or empty, false otherwise. + + + + Determines if an array is not null or empty. + + The array to check. + True if not null or empty, false otherwise. + + + + Shuffles an array of objects. + + The type of the array to sort. + The array to sort. + + + + Implementation of Scala's ZipWithIndex method. + + Folds a collection into a Dictionary where the original value (of type T) acts as the key + and the index of the item in the array acts as the value. + + TBD + TBD + TBD + + + + Grabs a subset of an IEnumerable based on a starting index and position + + TBD + The array of items to slice + The starting position to begin the slice + The number of items to take + A slice of size beginning from position in . + + + + Select all the items in this array beginning with and up until the end of the array. + + + If is not found in the array, From will return an empty set. + If is found at the end of the array, From will return the entire original array. + + + TBD + TBD + TBD + TBD + + + + Select all the items in this array from the beginning until (but not including) + + If is not found in the array, Until will select all items. + If is the first item in the array, an empty array will be returned. + + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + An atomic 32 bit integer counter. + + + + + Creates an instance of an AtomicCounter. + + The initial value of this counter. + + + + Creates an instance of an AtomicCounter with a starting value of -1. + + + + + The current value of the atomic counter. + + + + + Retrieves the current value of the counter + + + + + Increments the counter and returns the next value + + TBD + + + + Decrements the counter and returns the next value + + TBD + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Atomically decrements the counter by one. + + The original value. + + + + Atomically decrements the counter by one. + + The new value. + + + + Returns the current value and adds the specified value to the counter. + + The amount to add to the counter. + The original value before additions. + + + + Adds the specified value to the counter and returns the new value. + + The amount to add to the counter. + The new value after additions. + + + + Resets the counter to zero. + + + + + Returns current counter value and sets a new value on it's place in one operation. + + TBD + TBD + + + + Compares current counter value with provided value, + and sets it to if compared values where equal. + Returns true if replacement has succeed. + + TBD + TBD + TBD + + + + An atomic 64 bit integer counter. + + + + + Creates an instance of an AtomicCounterLong. + + The initial value of this counter. + + + + Creates an instance of an AtomicCounterLong with a starting value of -1. + + + + + The current value for this counter. + + + + + Retrieves the current value of the counter + + + + + Increments the counter and returns the next value. + + TBD + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Atomically decrements the counter by one + + The new value + + + + Gets the current value of the counter and adds an amount to it. + + This uses a CAS loop as Interlocked.Increment is not atomic for longs on 32bit systems. + The amount to add to the counter. + The original value. + + + + Adds an amount to the counter and returns the new value. + + This uses a CAS loop as Interlocked.Increment is not atomic for longs on 32bit systems. + The amount to add to the counter. + The new counter value. + + + + Resets the counter to zero. + + + + + Returns current counter value and sets a new value on it's place in one operation. + + TBD + TBD + + + + Compares current counter value with provided value, + and sets it to if compared values where equal. + Returns true if replacement has succeed. + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Internal state abstraction + + + + + TBD + + TBD + TBD + + + + Add a listener function which is invoked on state entry + + listener implementation + + + + Test for whether listeners exist + + + + + Notifies the listeners of the transition event via a + + TBD + + + + Shared implementation of call across all states. Thrown exception or execution of the call beyond the allowed + call timeout is counted as a failed call, otherwise a successful call + + NOTE: In .Net there is no way to cancel an uncancellable task. We are merely cancelling the wait and marking this + as a failure. + + see http://blogs.msdn.com/b/pfxteam/archive/2011/11/10/10235834.aspx + + TBD + Implementation of the call + result of the call + + + + Shared implementation of call across all states. Thrown exception or execution of the call beyond the allowed + call timeout is counted as a failed call, otherwise a successful call + + NOTE: In .Net there is no way to cancel an uncancellable task. We are merely cancelling the wait and marking this + as a failure. + + see http://blogs.msdn.com/b/pfxteam/archive/2011/11/10/10235834.aspx + + Implementation of the call + + + + + Abstract entry point for all states + + TBD + Implementation of the call that needs protected + containing result of protected call + + + + Abstract entry point for all states + + Implementation of the call that needs protected + containing result of protected call + + + + Invoked when call fails + + + + + Invoked when call succeeds + + + + + Invoked on the transitioned-to state during transition. Notifies listeners after invoking subclass template method _enter + + + + + Enter the state. NotifyTransitionListeners is not awaited -- its "fire and forget". + It is up to the user to handle any errors that occur in this state. + + + + + This interface represents the parts of the internal circuit breaker state; the behavior stack, watched by, watching and termination queue + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + Scala alias for Skip + + TBD + TBD + TBD + TBD + + + + Scala alias for FirstOrDefault + + TBD + TBD + TBD + + + + Splits a 'dotted path' in its elements, honouring quotes (not splitting by dots between quotes) + + The input path + The path elements + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + Dictionary helper that allows for idempotent updates. You don't need to care whether or not + this item is already in the collection in order to update it. + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + Applies a delegate to all elements of this enumerable. + + The type of the elements of . + An to iterate. + The function that is applied for its side-effect to every element. The result of function is discarded. + + + + Selects last n elements. + + TBD + TBD + TBD + TBD + + + + An interface that describes a numeric counter. + + The type of the numeric. + + + + The current value of this counter. + + + + + Increments the counter and gets the next value. This is exactly the same as calling . + + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Returns the current value and adds the specified value to the counter. + + The amount to add to the counter. + The original value before additions. + + + + Adds the specified value to the counter and returns the new value. + + The amount to add to the counter. + The new value after additions. + + + + Resets the counter to zero. + + + + + Utility class for adding some basic immutable behaviors + to specific types of collections without having to reference + the entire BCL.Immutability NuGet package. + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is undefined. + + TBD + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is undefined. + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + INTERNAL! + Implements helpers for performing Compare-and-swap operations using + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL! + Atomically updates the object by calling to get the new value. + Note that may be called many times so it should be idempotent. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + The updated value. + + + INTERNAL! + Atomically updates the int by calling to get the new value. + returns a Tuple<should update, the new int value, the return value> + If the first item in the tuple is true, the value is updated, and the third value of the tuple is returned. + Note that may be called many times so it should be idempotent. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + TBD + The third value from the tuple return by . + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + INTERNAL API. + + Renamed from so it doesn't colide + with a helper class in the same namespace defined in System.Threadin.Tasks. + + + + + A completed task + + + + + Creates a failed + + The exception to use to fail the task. + A failed task. + + + + Creates a failed + + The exception to use to fail the task. + A failed task. + The type of + + + + INTERNAL API + + Extensions for working with types + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Returns the task which completes with result of original task if cancellation token not canceled it before completion. + + The original task. + The cancellation token. + The task which completes with result of original task or with cancelled state. + + + + TBD + + + + + TBD + + TBD + TBD + + + + Used for surrogate serialization. + + + + + TBD + + TBD + TBD + + + + Priority queue implemented using a simple list with binary search for inserts. + This specific implementation is cheap in terms of memory but weak in terms of performance. + See http://visualstudiomagazine.com/articles/2012/11/01/priority-queues-with-c.aspx for original implementation + This specific version is adapted for Envelopes only and calculates a priority of envelope.Message + + + + + The default priority generator. + + + + + DEPRECATED. Should always specify priority calculator instead. + + The current capacity of the priority queue. + + + + Creates a new priority queue. + + The initial capacity of the queue. + The calculator function for assigning message priorities. + + + + DEPRECATED. Sets a new priority calculator. + + The calculator function for assigning message priorities. + + WARNING: SHOULD NOT BE USED. Use the constructor to set priority instead. + + + + + Enqueues a message into the priority queue. + + The item to enqueue. + + + + Dequeues the highest priority message at the front of the priority queue. + + The highest priority message . + + + + Peek at the message at the front of the priority queue. + + The highest priority message . + + + + Counts the number of items in the priority queue. + + The total number of items in the queue. + + + + Converts the queue to a string representation. + + A string representation of the queue. + + + + TBD + + TBD + + + + INTERNAL API + + A Monotonic clock implementation based on total uptime. + Used for keeping accurate time internally. + + + + + Time as measured by the current system up-time. + + + + + High resolution elapsed time as determined by a + running continuously in the background. + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Ticks represent 100 nanos. https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx + + This extension method converts a Ticks value to nano seconds. + + TBD + TBD + + + + Ticks represent 100 nanos. https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx + + This extension method converts a nano seconds value to Ticks. + + TBD + TBD + + + + Murmur3 Hash implementation + + + + The first 23 magic integers from the first stream are stored here + + + The first 23 magic integers from the second stream are stored here + + + + The initial magic integer in the first stream. + + + + + The initial magic integer in the second stream. + + + + + TBD + + + + + Begin a new hash with a seed value. + + TBD + TBD + + + + Given a magic integer from the first stream, compute the next + + TBD + TBD + + + + Given a magic integer from the second stream, compute the next + + TBD + TBD + + + + Incorporates a new value into an existing hash + + The prior hash value + The new value to incorporate + A magic integer from the left of the stream + A magic integer from a different stream + The updated hash value + + + + Once all hashes have been incorporated, this performs a final mixing. + + TBD + TBD + + + + Rotate a 32-bit unsigned integer to the left by bits + + Original value + The shift value + The rotated 32-bit integer + + + + Rotate a 64-bit unsigned integer to the left by bits + + Original value + The shift value + The rotated 64-bit integer + + + + Compute a high-quality hash of a byte array + + TBD + TBD + + + + Compute a high-quality hash of an array + + TBD + TBD + + + + Compute high-quality hash of a string + + TBD + TBD + + + + Compute a hash that is symmetric in its arguments--that is, + where the order of appearance of elements does not matter. + This is useful for hashing sets, for example. + + TBD + TBD + TBD + + + + Extension method class to make it easier to work with instances + + + + + Converts a into an array of + + TBD + + This exception is thrown if there aren't enough bits in the given to make a byte. + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Gets the with the specified name, performing a case-sensitive search and throw an exception if the type is not found. + + + + The type with the specified name. If the type is not found, an exception is thrown. + + + The assembly-qualified name of the type to get. See . + If the type is in Akka.dll or in Mscorlib.dll, it is sufficient to supply the type name qualified by its namespace. + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + This exception is thrown if the current is undefined. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares two specified for equality. + + The first used for comparison + The second used for comparison + true if both are equal; otherwise false + + + + Compares two specified for inequality. + + The first used for comparison + The second used for comparison + true if both are not equal; otherwise false + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Used to detect specific .NET runtimes, to make it easier to adjust for platform specific + differences. + + + Mostly used for detecting Mono right now because certain features, i.e. IPV6 support, aren't + fully supported on it. Can also be used for picking platform-specific implementations of things + such as Akka.Cluster.Metrics implementations. + + + + + Is true if we're running on a Mono VM. false otherwise. + + + + + This class contains methods for thread safe writing to the standard output stream. + + + + + Writes the specified value to the standard output stream. Optionally + you may specify which colors should be used. + + The value to write + Optional: The foreground color + Optional: The background color + + + + Writes the specified value, followed by the current line terminator, + to the standard output stream. Optionally you may specify which colors should be used. + + The value to write + Optional: The foreground color + Optional: The background color + + + + TBD + + + + + Concatenates the values, using the specified separator between the elements. + This method is similar to except it + formats null values as <null> + + The separator. + The arguments. + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + An atomic switch that can be either on or off + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + Executes the provided action if the lock is on. This is done under a lock so be _very_ careful with longrunning/blocking operations in it. + Only executes the action if the switch is on, and switches it off immediately after obtaining the lock. + Will switch it back on if the provided action throws an exception. + + TBD + Returns true if the switch was switched off + + + + Executes the provided action if the lock is off. This is done under a lock so be _very_ careful with longrunning/blocking operations in it. + Only executes the action if the switch is off, and switches it on immediately after obtaining the lock. + Will switch it back off if the provided action throws an exception. + + TBD + Returns true if the switch was switched on + + + + Switches the switch off (if on). Uses locking. + + Returns true if the switch was switched off + + + + Switches the switch on (if off). Uses locking. + + Returns true if the switch was switched on + + + + Executes the provided action and returns if the action was executed or not, if the switch is IMMEDIATELY on (i.e. no lock involved) + + The action. + Return true if the switch was on + + + + Executes the provided action and returns if the action was executed or not, if the switch is IMMEDIATELY off (i.e. no lock involved) + + The action. + Return true if the switch was off + + + + Executes the provided action and returns if the action was executed or not, if the switch is on, waiting for any pending changes to happen before (locking) + Be careful of longrunning or blocking within the provided action as it can lead to deadlocks or bad performance + + TBD + TBD + + + + Executes the provided action and returns if the action was executed or not, if the switch is off, waiting for any pending changes to happen before (locking) + Be careful of longrunning or blocking within the provided action as it can lead to deadlocks or bad performance + + TBD + TBD + + + + Gets a value indicating whether this switch is on. No locking. + + + true if this instance is on; otherwise, false. + + + + + Gets a value indicating whether this switch is off. No locking. + + + true if this instance is off; otherwise, false. + + + + + TBD + + TBD + + + + Create random numbers with Thread-specific seeds. + + Borrowed form Jon Skeet's brilliant C# in Depth: http://csharpindepth.com/Articles/Chapter12/Random.aspx + + + + + The current random number seed available to this thread + + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown when either the specified is less than zero + or the specified is less than or equal to zero. + + + + + This method must be called before the token bucket can be used. + + + + + The current time in ticks. The returned value is monotonic, might wrap over and has no relationship with wall-clock. + + The current time in ticks as Long + + + + Call this (side-effecting) method whenever an element should be passed through the token-bucket. This method + will return the number of nanoseconds the element needs to be delayed to conform with the token bucket parameters. + Returns zero if the element can be emitted immediately. The method does not handle overflow, if an element is to + be delayed longer in nanoseconds than what can be represented as a positive Long then an undefined value is returned. + + If a non-zero value is returned, it is the responsibility of the caller to not call this method before the + returned delay has been elapsed (but can be called later). This class does not check or protect against early + calls. + + How many tokens the element costs. Can be larger than the capacity of the bucket. + + This exception is thrown when the specified is less than zero. + + TBD + + + + Default implementation of that uses as the time source. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + Class TypeExtensions. + + + + + Returns true if implements/inherits . + typeof(object[]).Implements<IEnumerable>() --> true + + TBD + The type. + true if XXXX, false otherwise. + + + + Returns true if implements/inherits . + typeof(object[]).Implements(typeof(IEnumerable)) --> true + + The type. + Type of the more general. + true if XXXX, false otherwise. + + + + Utility to be used by implementors to create a manifest from the type. + The manifest is used to look up the type on deserialization. + + TBD + Returns the type qualified name including namespace and assembly, but not assembly version. + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + A searchable nested dictionary, represents a searchable tree structure underneath + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + The handler is a Action<T> + + + The handler is a Action<T> and a Predicate<T> is specified + + + The handler is a Func<T, bool> + + + + TBD + + + + + Produces a delegate that represents the lambda expression. + + The expression to compile + A delegate containing the compiled version of the lambda. + + + + Compiles the lambda into a method definition. + + The expression to compile + A which will be used to hold the lambda's IL. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Builds the specified delegate and arguments to a + If the number of arguments are 0, the delegate should be a Func<,bool> + If the number of arguments are 1, the delegate should be a Func<,T1,bool> + ... + If the number of arguments are n, the delegate should be a Func<,T1,...,Tn,bool> + The maximum number of arguments i.e. n in the above example is therefore =14 + Given a delegate deleg of type Func<,T1,...,Tn,bool> and args [a_1,...a_n] then + the delegate corresponding to this code is returned: + (value) => deleg(value,a_1, ..., a_n) + + + The type of the value parameter in to the returned + The handler, i.e. a Func<,T1,...,Tn,bool> and arguments [a_1,...a_n]. + Returns a that calls the delegate with the arguments. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + TBD + + + + TBD + + TBD + + + + Initializes a new instance of the class. + + TBD + + This exception is thrown if the given is undefined. + + + + + Adds a handler that is called if the item being matched is of type + and , if it has been specified, returns true. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked when everything matches. + An optional predicate to test if the item matches. If it returns true the is invoked. + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + This exception is thrown if the current state is unknown. + + + + + Adds a handler that is called if the item being matched is of type + and , if it has been specified, returns true. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked when everything matches. + An optional predicate to test if the item matches. If it returns true the is invoked. + + This exception is thrown if the given cannot handle the given . + + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is called if the item being matched is of type . + The handler should return true if the item sent in matched and was handled. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked. It should return true if the item sent in matched and was handled. + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is called if the item being matched is of type . + The handler should return true if the item sent in matched and was handled. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked. It should return true if the item sent in matched and was handled. + + This exception is thrown if the given cannot handle the given . + + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is invoked no matter the type the item being matched is. + Note that since this matches all items, no more handlers may be added after this one. + Note that if a previous added handler handled the item, this will not be invoked. + + + + + Builds all added handlers and returns a . + + Returns a + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + This class contains the handled Types and HandlerKinds + that has been added to a . + Two signatures are equal if they contain the same Types and HandlerKinds + in the same order. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if the an unknown is contained + in a in the given . + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + An action that returns true if the was handled. + + The type of the argument + The argument. + Returns true if the was handled + + + + TBD + + + + + The maximum number of arguments=15 not including the obligatory first value argument in a partial action. + 16 is the maximum number of args in a Func, see + + + + + Builds the specified delegate and arguments to a If the number of arguments are 0, the delegate should be a Func<,bool>If the number of arguments are 1, the delegate should be a Func<,T1,bool>...If the number of arguments are n, the delegate should be a Func<,T1,...,Tn,bool>The maximum number of arguments i.e. n in the above example is therefore =14Given a delegate deleg of type Func<,T1,...,Tn,bool> and args [a_1,...a_n] then + the delegate corresponding to this code is returned: + (value) => deleg(value,a_1, ..., a_n) + + The type of the value parameter in to the returned + The handler, i.e. a Func<,T1,...,Tn,bool> and arguments [a_1,...a_n]. + + Returns a that calls the delegate with the arguments. + + + This exception is thrown if the number of arguments in the given exceeds the configured . + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + + This exception is thrown if the given is undefined. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + The type of threads to use - either foreground or background threads. + + + + + Provides settings for a dedicated thread pool + + + + + Background threads are the default thread type + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if the given is set to less than 1ms. + It can also be thrown if the given is set to less than one. + + + + + The total number of threads to run in this thread pool. + + + + + The type of threads to run in this thread pool. + + + + + Apartment state for threads to run in this thread pool + + + + + Interval to check for thread deadlocks. + + If a thread takes longer than it will be aborted + and replaced. + + + + + TBD + + + + + TBD + + + + + Gets the thread stack size, 0 represents the default stack size. + + + + + TaskScheduler for working with a instance + + + + + Number of tasks currently running + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Level of concurrency is directly equal to the number of threads + in the . + + + + + TBD + + + This exception is thrown if can't ensure a thread-safe return of the list of tasks. + + TBD + + + + An instanced, dedicated thread pool. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + This exception is thrown if the given item is undefined. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + +
+
diff --git a/tests/dependencies/Akka/net45/Newtonsoft.Json.dll b/tests/dependencies/Akka/net45/Newtonsoft.Json.dll new file mode 100644 index 00000000..be6558d2 Binary files /dev/null and b/tests/dependencies/Akka/net45/Newtonsoft.Json.dll differ diff --git a/tests/dependencies/Akka/net45/System.Collections.Immutable.dll b/tests/dependencies/Akka/net45/System.Collections.Immutable.dll new file mode 100644 index 00000000..ce6fc0e8 Binary files /dev/null and b/tests/dependencies/Akka/net45/System.Collections.Immutable.dll differ diff --git a/tests/dependencies/Akka/netstandard1.6/Akka.deps.json b/tests/dependencies/Akka/netstandard1.6/Akka.deps.json new file mode 100644 index 00000000..82e207d0 --- /dev/null +++ b/tests/dependencies/Akka/netstandard1.6/Akka.deps.json @@ -0,0 +1,1553 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v1.6/", + "signature": "068547c5ec80054a4739dd0fb727b5d9f61a7204" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v1.6": {}, + ".NETStandard,Version=v1.6/": { + "akka/1.3.0": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "9.0.1", + "System.Collections.Immutable": "1.3.1", + "System.Diagnostics.TraceSource": "4.3.0", + "System.Net.NameResolution": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.Threading.ThreadPool": "4.3.0" + }, + "runtime": { + "Akka.dll": {} + } + }, + "microsoft.csharp/4.0.1": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.0.11", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.CSharp.dll": {} + } + }, + "microsoft.netcore.platforms/1.1.0": {}, + "microsoft.netcore.targets/1.1.0": {}, + "microsoft.win32.primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "netstandard.library/1.6.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.Compression.ZipFile": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Net.Http": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Sockets": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0" + } + }, + "newtonsoft.json/9.0.1": { + "dependencies": { + "Microsoft.CSharp": "4.0.1", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.0.11", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/Newtonsoft.Json.dll": {} + } + }, + "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.native.system/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.system.io.compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.system.net.http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.system.security.cryptography.apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.system.security.cryptography.openssl/4.3.0": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0": {}, + "system.appcontext/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.AppContext.dll": {} + } + }, + "system.buffers/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.1/System.Buffers.dll": {} + } + }, + "system.collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.collections.concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": {} + } + }, + "system.collections.immutable/1.3.1": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Collections.Immutable.dll": {} + } + }, + "system.console/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "system.diagnostics.debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.diagnostics.diagnosticsource/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} + } + }, + "system.diagnostics.tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.diagnostics.tracesource/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "system.diagnostics.tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.dynamic.runtime/4.0.11": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": {} + } + }, + "system.globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.globalization.calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "system.globalization.extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "system.io/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "system.io.compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + } + }, + "system.io.compression.zipfile/4.3.0": { + "dependencies": { + "System.Buffers": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": {} + } + }, + "system.io.filesystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "system.io.filesystem.primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} + } + }, + "system.linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": {} + } + }, + "system.linq.expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": {} + } + }, + "system.net.http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.DiagnosticSource": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "system.net.nameresolution/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Principal.Windows": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "system.net.primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "system.net.sockets/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "system.objectmodel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": {} + } + }, + "system.reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "system.reflection.emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": {} + } + }, + "system.reflection.emit.ilgeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} + } + }, + "system.reflection.emit.lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": {} + } + }, + "system.reflection.extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "system.reflection.primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.reflection.typeextensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": {} + } + }, + "system.resources.resourcemanager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "system.runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "system.runtime.extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.runtime.handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.runtime.interopservices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "system.runtime.interopservices.runtimeinformation/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + }, + "runtime": { + "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} + } + }, + "system.runtime.numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": {} + } + }, + "system.runtime.serialization.primitives/4.1.1": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} + } + }, + "system.security.claims/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Principal": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Claims.dll": {} + } + }, + "system.security.cryptography.algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "system.security.cryptography.cng/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "system.security.cryptography.csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "system.security.cryptography.encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "system.security.cryptography.openssl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": {} + } + }, + "system.security.cryptography.primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} + } + }, + "system.security.cryptography.x509certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "system.security.principal/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Security.Principal.dll": {} + } + }, + "system.security.principal.windows/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "system.text.encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.text.encoding.extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "system.text.regularexpressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": {} + } + }, + "system.threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": {} + } + }, + "system.threading.tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.threading.tasks.extensions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} + } + }, + "system.threading.thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": {} + } + }, + "system.threading.threadpool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": {} + } + }, + "system.threading.timer/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "system.xml.readerwriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} + } + }, + "system.xml.xdocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": {} + } + } + } + }, + "libraries": { + "akka/1.3.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "microsoft.csharp/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-17h8b5mXa87XYKrrVqdgZ38JefSUqLChUQpXgSnpzsM0nDOhE40FTeNWOJ/YmySGV6tG6T8+hjz6vxbknHJr6A==", + "path": "microsoft.csharp/4.0.1", + "hashPath": "microsoft.csharp.4.0.1.nupkg.sha512" + }, + "microsoft.netcore.platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "microsoft.netcore.targets/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "path": "microsoft.netcore.targets/1.1.0", + "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" + }, + "microsoft.win32.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "netstandard.library/1.6.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "path": "netstandard.library/1.6.1", + "hashPath": "netstandard.library.1.6.1.nupkg.sha512" + }, + "newtonsoft.json/9.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==", + "path": "newtonsoft.json/9.0.1", + "hashPath": "newtonsoft.json.9.0.1.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.native.system/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.system.io.compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "path": "runtime.native.system.io.compression/4.3.0", + "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" + }, + "runtime.native.system.net.http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.system.security.cryptography.apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "system.appcontext/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "path": "system.appcontext/4.3.0", + "hashPath": "system.appcontext.4.3.0.nupkg.sha512" + }, + "system.buffers/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", + "path": "system.buffers/4.3.0", + "hashPath": "system.buffers.4.3.0.nupkg.sha512" + }, + "system.collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "system.collections.concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "system.collections.immutable/1.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-n+AGX7zmiZumW9aggOkXaHzUeAS3EfeTErnkKCusyONUozbTv+kMb8VE36m+ldV6kF9g57G2c641KCdgH9E0pg==", + "path": "system.collections.immutable/1.3.1", + "hashPath": "system.collections.immutable.1.3.1.nupkg.sha512" + }, + "system.console/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "path": "system.console/4.3.0", + "hashPath": "system.console.4.3.0.nupkg.sha512" + }, + "system.diagnostics.debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "system.diagnostics.diagnosticsource/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", + "path": "system.diagnostics.diagnosticsource/4.3.0", + "hashPath": "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512" + }, + "system.diagnostics.tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "system.diagnostics.tracesource/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VnYp1NxGx8Ww731y2LJ1vpfb/DKVNKEZ8Jsh5SgQTZREL/YpWRArgh9pI8CDLmgHspZmLL697CaLvH85qQpRiw==", + "path": "system.diagnostics.tracesource/4.3.0", + "hashPath": "system.diagnostics.tracesource.4.3.0.nupkg.sha512" + }, + "system.diagnostics.tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "system.dynamic.runtime/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", + "path": "system.dynamic.runtime/4.0.11", + "hashPath": "system.dynamic.runtime.4.0.11.nupkg.sha512" + }, + "system.globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "system.globalization.calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "system.globalization.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "system.io/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "system.io.compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "path": "system.io.compression/4.3.0", + "hashPath": "system.io.compression.4.3.0.nupkg.sha512" + }, + "system.io.compression.zipfile/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "path": "system.io.compression.zipfile/4.3.0", + "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512" + }, + "system.io.filesystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "system.io.filesystem.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "system.linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "system.linq.expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "system.net.http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "path": "system.net.http/4.3.0", + "hashPath": "system.net.http.4.3.0.nupkg.sha512" + }, + "system.net.nameresolution/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AFYl08R7MrsrEjqpQWTZWBadqXyTzNDaWpMqyxhb0d6sGhV6xMDKueuBXlLL30gz+DIRY6MpdgnHWlCh5wmq9w==", + "path": "system.net.nameresolution/4.3.0", + "hashPath": "system.net.nameresolution.4.3.0.nupkg.sha512" + }, + "system.net.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "path": "system.net.primitives/4.3.0", + "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" + }, + "system.net.sockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "path": "system.net.sockets/4.3.0", + "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" + }, + "system.objectmodel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "system.reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "system.reflection.emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "system.reflection.emit.ilgeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "system.reflection.emit.lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "system.reflection.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "system.reflection.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "system.reflection.typeextensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "system.resources.resourcemanager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "system.runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "system.runtime.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "system.runtime.handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "system.runtime.interopservices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "system.runtime.interopservices.runtimeinformation/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "path": "system.runtime.interopservices.runtimeinformation/4.3.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512" + }, + "system.runtime.numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "system.runtime.serialization.primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "path": "system.runtime.serialization.primitives/4.1.1", + "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" + }, + "system.security.claims/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "path": "system.security.claims/4.3.0", + "hashPath": "system.security.claims.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.cng/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "path": "system.security.cryptography.cng/4.3.0", + "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.openssl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "system.security.cryptography.x509certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "system.security.principal/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", + "path": "system.security.principal/4.3.0", + "hashPath": "system.security.principal.4.3.0.nupkg.sha512" + }, + "system.security.principal.windows/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HVL1rvqYtnRCxFsYag/2le/ZfKLK4yMw79+s6FmKXbSCNN0JeAhrYxnRAHFoWRa0dEojsDcbBSpH3l22QxAVyw==", + "path": "system.security.principal.windows/4.3.0", + "hashPath": "system.security.principal.windows.4.3.0.nupkg.sha512" + }, + "system.text.encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "system.text.encoding.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "system.text.regularexpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "system.threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "system.threading.tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "system.threading.tasks.extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "path": "system.threading.tasks.extensions/4.3.0", + "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512" + }, + "system.threading.thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "system.threading.threadpool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "system.threading.timer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "path": "system.threading.timer/4.3.0", + "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" + }, + "system.xml.readerwriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "system.xml.xdocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/tests/dependencies/Akka/netstandard1.6/Akka.dll b/tests/dependencies/Akka/netstandard1.6/Akka.dll new file mode 100644 index 00000000..ac5b90a1 Binary files /dev/null and b/tests/dependencies/Akka/netstandard1.6/Akka.dll differ diff --git a/tests/dependencies/Akka/netstandard1.6/Akka.xml b/tests/dependencies/Akka/netstandard1.6/Akka.xml new file mode 100644 index 00000000..dcaea096 --- /dev/null +++ b/tests/dependencies/Akka/netstandard1.6/Akka.xml @@ -0,0 +1,26577 @@ + + + + Akka + + + + + This interface represents the parts of the internal actor state; the behavior stack, watched by, watching and termination queue + + + + + Removes the provided from the `Watching` set + + The to be removed + TBD + + + + Removes the provided from the `WatchedBy` set + + The to be removed + TBD + + + + Removes the provided from the `Termination queue` set + + The to be removed + TBD + + + + Adds the provided to the `Watching` set + + The to be added + TBD + + + + Adds the provided to the `WatchedBy` set + + The to be added + TBD + + + + Adds the provided to the `Termination queue` set + + The to be added + TBD + + + + Clears the `Watching` set + + TBD + + + + Clears the `Termination queue` set + + TBD + + + + Clears the `Behavior` stack + + TBD + + + + Replaces the current receive behavior with a new behavior + + The new behavior + TBD + + + + Pushes a new receive behavior onto the `Behavior` stack + + The new top level behavior + TBD + + + + Removes the top level receive behavior from the `Behavior` stack + + TBD + + + + Determines whether the provided is present in the `Watching` set + + The to locate in the `Watching` set + TBD + + + + Determines whether the provided is present in the `WatchedBy` set + + The to locate in the `WatchedBy` set + TBD + + + + Determines whether the provided is present in the `Termination queue` set + + The to locate in the `Termination queue` set + TBD + + + + Returns an over the `Watching` set + + TBD + + + + Returns an over the `WatchedBy` set + + TBD + + + + Returns an over the `Termination queue` set + + TBD + + + + Returns the top level receive behavior from the behavior stack + + TBD + + + + Represents the default start up state for any actor. + This state provides capacity for one `WatchedBy` and one `Receive` behavior + As soon as this container is no longer enough to contain the current state + The state container will escalate into a `FullActorState` instance + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Represents the full state of an actor, this is used whenever an actor need more state than the `DefaultActorState` container can contain + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Classes for passing status back to the sender. + Used for internal ACKing protocol, but also exposed as a utility class for user-specific ACKing if needed. + + + + + Indicates the success of some operation which has been performed + + + + + TBD + + + + + TBD + + TBD + + + + Indicates the failure of some operation that was requested and includes an + describing the underlying cause of the problem. + + + + + The cause of the failure + + + + + Initializes a new instance of the class. + + The cause of the failure + + + + + + + Interface ILogReceive + + + + + Contains things needed by the framework + + + + Gets the context for this instance. + The context. + + This exception is thrown if there is no active Context. The most likely cause is due to use of async operations from within this actor. + + + + + Class ActorBase. + + + + + Initializes a new instance of the class. + + + This exception is thrown when an actor is created using new. Always create actors using an ActorContext/System. + + + + + Gets the sending ActorRef of the current message + + The sender ActorRef + + + + Gets the self ActorRef + + Self ActorRef + + + + Gets the context. + + The context. + + This exception is thrown if there is no active ActorContext. The most likely cause is due to use of async operations from within this actor. + + + + + Gets the context. + + The context. + + This exception is thrown if there is no active Context. The most likely cause is due to use of async operations from within this actor. + + + + + TBD + + TBD + TBD + TBD + + + + Processor for user defined messages. + + The message. + TBD + + + + EmptyReceive is a Receive-delegate that matches no messages at all, ever. + + + + + Is called when a message isn't handled by the current behavior of the actor + by default it fails with either a (in + case of an unhandled message) or publishes an + to the actor's system's + + The unhandled message. + + This exception is thrown if the given is a message. + + + + + Changes the actor's command behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + Reverts the Actor behavior to the previous one on the behavior stack. + + + + + TBD + + TBD + + + + TBD + + + + + + Defines the inactivity timeout after which the sending of a message is triggered. + When specified, the receive function should be able to handle a message. + + + + Please note that the receive timeout might fire and enqueue the message right after + another message was enqueued; hence it is not guaranteed that upon reception of the receive + timeout there must have been an idle period beforehand as configured via this method. + + + + Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity + periods). Pass in null to switch off this feature. + + + The timeout. Pass in null to switch off this feature. + + + + Can be overridden to intercept calls to `PreRestart`. Calls `PreRestart` by default. + + The cause. + The message. + + + + Can be overridden to intercept calls to `PreStart`. Calls `PreStart` by default. + + + + + User overridable callback. +

+ Is called when an Actor is started. + Actors are automatically started asynchronously when created. + Empty default implementation. +

+
+ + + Can be overridden to intercept calls to `PostRestart`. Calls `PostRestart` by default. + + The cause. + The message. + + + + User overridable callback: '''By default it disposes of all children and then calls `postStop()`.''' +

+ Is called on a crashed Actor right BEFORE it is restarted to allow clean + up of resources before Actor is terminated. +

+ the Exception that caused the restart to happen. + optionally the current message the actor processed when failing, if applicable. +
+ + + User overridable callback: By default it calls `PreStart()`. +

+ Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash. +

+ the Exception that caused the restart to happen. +
+ + + Can be overridden to intercept calls to `PostStop`. Calls `PostStop` by default.. + + + + + User overridable callback. +

+ Is called asynchronously after 'actor.stop()' is invoked. + Empty default implementation. +

+
+ + + Gets or sets a . + When getting, if a previously has been set it's returned; otherwise calls + SupervisorStrategy(), stores and returns it. + + + + + TBD + + TBD + + + + TBD + + + Class ActorCell. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is an invalid actor name. + + + This exception is thrown if a pre-creation serialization occurred. + + + This exception is thrown if the actor tries to create a child while it is terminating or is terminated. + + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given is an invalid actor name. + + + This exception is thrown if a pre-creation serialization occurred. + + + This exception is thrown if the actor tries to create a child while it is terminating or is terminated. + + TBD + + + + Stops the specified child. + + The child. + + + + Swaps out the children container, by calling to produce the new container. + If the underlying container has been updated while was called, + will be called again with the new container. This will repeat until the + container can be swapped out, or until contains false. + The returned tuple should contain: + Item1: true if the container should be updated; false to not update and return Item3 + Item2: The new container (will only be used if Item1=true) + Item3: The return value + + A function that returns a new container. + The third value of the tuple that returned. + + + + Swaps out the children container, by calling to produce the new container. + If the underlying container has been updated while was called, + will be called again with the new container. This will repeat until the + container can be swapped out. + + A function that returns a new container. + The new updated + + + + TBD + + TBD + + + + TBD + + TBD + + + + This should only be used privately or when creating the root actor. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Suspends the children. + + + + + Resumes the children. + + + + + Tries to get the stats for the child with the specified name. The stats can be either + indicating that only a name has been reserved for the child, or a for a child that + has been initialized/created. + + TBD + TBD + TBD + + + + Tries to get the stats for the child with the specified name. This ignores children for whom only names have been reserved. + + + + + Tries to get the stats for the specified child. + Since the child exists is the only valid . + + TBD + TBD + TBD + + + + Obsolete. Use instead. + + N/A + N/A + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + NOTE! Only constructor and ClearActorFields is allowed to update this + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Initialize this cell, i.e. set up mailboxes and supervision. The UID must be + reasonably different from the previous UID of a possible actor with the same path, + which can be achieved by using + + TBD + TBD + + + + Obsolete. Use instead. + + N/A + N/A + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + When this actor is watching the subject of message + it will be propagated to user's receive. + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Starts subscription to AddressTerminated if not already subscribing and the + block adds a non-local ref to watching or watchedBy. + Ends subscription to AddressTerminated if subscribing and the + block removes the last non-local ref from watching and watchedBy. + + TBD + TBD + + + + Gets the type of the actor. + + The type of the actor. + + + + TBD + + + + + Invokes the specified envelope. + + The envelope. + + This exception is thrown if a message is included in the given . + > + + + + If the envelope.Sender property is null, then we'll substitute + Deadletters as the of this message. + + The envelope we received + An IActorRef that corresponds to a Sender + + + + TBD + + TBD + + This exception is thrown if a message is included in the given . + + + + + This is only intended to be called from TestKit's TestActorRef + + TBD + + + + TBD + + TBD + + + + Receives the selection. + + The m. + + + + Used to invoke system messages. + + The envelope. + + This exception is thrown if a system message is included in the given . + + + This exception is thrown if an unknown message type is included in the given . + + + + + TBD + + TBD + TBD + + + + Publishes the specified event. + + The event. + + + + Handles the identity. + + The m. + + + + Handles the poison pill. + + + + + Restarts the specified cause. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + The cause. + + + + Starts this instance. + + + + + Allow extra pre-start initialization in derived classes + + + + + Resumes the specified caused by failure. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + The caused by failure. + + + + Async stop this actor + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + + + + Suspends this instance. + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + + + + TBD + + ➡➡➡ NEVER SEND THE SAME SYSTEM MESSAGE OBJECT TO TWO ACTORS ⬅⬅⬅ + TBD + + + Re-create the actor in response to a failure. + + + + Suspends the actor in response to a failure of a parent (i.e. the "recursive suspend" feature). + + + + + Resumes the actor in response to a failure + + The exception that caused the failure. signifies if it was our own failure + which prompted this action. + + + + Create the actor in response to a failure + + + + Terminates this instance. + + + + Handles the non fatal or interrupted exception. + + The action. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Actor path is a unique path to an actor that shows the creation path + up through the actor tree to the root actor. + ActorPath defines a natural ordering (so that ActorRefs can be put into + collections with this requirement); this ordering is intended to be as fast + as possible, which owing to the bottom-up recursive nature of ActorPath + is sorted by path elements FROM RIGHT TO LEFT, where RootActorPath > + ChildActorPath in case the number of elements is different. + Two actor paths are compared equal when they have the same name and parent + elements, including the root address information. That does not necessarily + mean that they point to the same incarnation of the actor if the actor is + re-created with the same path. In other words, in contrast to how actor + references are compared the unique id of the actor is not taken into account + when comparing actor paths. + + + + + This class represents a surrogate of an . + Its main use is to help during the serialization process. + + + + + Initializes a new instance of the class. + + The string representation of the actor path. + + + + The string representation of the actor path + + + + + Creates an encapsulated by this surrogate. + + The actor system that contains this actor path. + The encapsulated by this surrogate. + + + + + + + + + + + + + + + INTERNAL API + + TBD + + + + + Method that checks if actor name conforms to RFC 2396, http://www.ietf.org/rfc/rfc2396.txt + Note that AKKA JVM does not allow parenthesis ( ) but, according to RFC 2396 those are allowed, and + since we use URL Encode to create valid actor names, we must allow them. + + TBD + TBD + + + + Initializes a new instance of the class. + + The address. + The name. + + + + Initializes a new instance of the class. + + The parent path. + The name. + The uid. + + + + Gets the uid. + + The uid. + + + + This method pursuits optimization goals mostly in terms of allocations. + We're computing elements chain only once and storing it in . + Computed chain meant to be reused not only by calls to + but also during chain computation of children actors. + + + + + Gets the elements. + + The elements. + + + + INTERNAL API. + + Used in Akka.Remote - when resolving deserialized local actor references + we need to be able to include the UID at the tail end of the elements. + + It's implemented in this class because we don't have an ActorPathExtractor equivalent. + + + + + Gets the name. + + The name. + + + + The Address under which this path can be reached; walks up the tree to + the RootActorPath. + + The address. + + + + TBD + + + + + TBD + + + + + + + + + + + Withes the uid. + + The uid. + ActorPath. + + + + Creates a new with the specified parent + and the specified . + + The parent path of the newly created actor path + The name of child actor path + A newly created + + + + Creates a new by appending all the names in + to the specified . + + The base path of the newly created actor path. + The names being appended to the specified . + A newly created + + + + Creates an from the specified . + + The string representing a possible + + This exception is thrown if the given cannot be parsed into an . + + A newly created + + + + Tries to parse the uri, which should be a full uri, i.e containing protocol. + For example "akka://System/user/my-actor" + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Joins this instance. + + System.String. + + + + String representation of the path elements, excluding the address + information. The elements are separated with "/" and starts with "/", + e.g. "/user/a/b". + + System.String. + + + + + + + Returns a string representation of this instance including uid. + + TBD + + + + Creates a child with the specified name + + Name of the child. + ActorPath. + + + + + + + + + + Compares two specified actor paths for equality. + + The first actor path used for comparison + The second actor path used for comparison + true if both actor paths are equal; otherwise false + + + + Compares two specified actor paths for inequality. + + The first actor path used for comparison + The second actor path used for comparison + true if both actor paths are not equal; otherwise false + + + + Generate String representation, with the address in the RootActorPath. + + System.String. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Generate String representation, replacing the Address in the RootActorPath + with the given one unless this path’s address includes host and port + information. + + The address. + System.String. + + + + TBD + + TBD + TBD + + + + Creates a surrogate representation of the current . + + The actor system that references this actor path. + The surrogate representation of the current . + + + + Class RootActorPath. + + + + + Initializes a new instance of the class. + + The address. + The name. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + This exception is thrown if the given is not equal to 0. + TBD + + + + TBD + + TBD + TBD + + + + Class ChildActorPath. + + + + + Initializes a new instance of the class. + + The parent path. + The name. + The uid. + + + + TBD + + + + + TBD + + + + + Creates a copy of the given ActorPath and applies a new Uid + + The uid. + ActorPath. + + + + + + + Plugin interface used to define + + + + + Determines if current plugin can be applied to provided actor based on it's type. + + TBD + TBD + + + + Plugin behavior applied to underlying instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to underlying instance before the actor is being recycled. + + TBD + TBD + + + + Base actor producer pipeline plugin class. + + + + + By default derivatives of this plugin will be applied to all actors. + + TBD + TBD + + + + Plugin behavior applied to instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to instance before the actor is being recycled. + + TBD + TBD + + + + Base generic actor producer pipeline plugin class. + + + + + By default derivatives of this plugin will be applied to all actors inheriting from actor generic type. + + TBD + TBD + + + + Plugin behavior applied to instance when the new one is being created. + + TBD + TBD + + + + Plugin behavior applied to instance before the actor is being recycled. + + TBD + TBD + + + + Class used to resolving actor producer pipelines depending on actor type. + + + + + Gets total number of unique plugins registered inside current resolver. + + + + + TBD + + TBD + + + + Register target at the end of producer pipeline. + + TBD + True if plugin was registered (it has not been found in pipeline already). False otherwise. + + + + Register target inside producer pipeline at specified . + + TBD + TBD + True if plugin was registered (it has not been found in pipeline already). False otherwise. + + + + Unregisters plugin from producer pipeline, returning false if plugin was not found. + + TBD + TBD + + + + Returns true if current actor producer pipeline already has registered provided plugin type. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Resolves and applies all plugins valid to specified underlying + registered in current producer pipeline to newly created actor. + + TBD + TBD + + + + Resolves and applies all plugins valid to specified underlying + registered in current producer pipeline before old actor would be recycled. + + TBD + TBD + + + + TBD + + TBD + + + + INTERNAL API + + All ActorRefs have a scope which describes where they live. Since it is often + necessary to distinguish between local and non-local references, this is the only + method provided on the scope. + + + + + Returns true if the actor is local to this . + Returns false if the actor is remote. + + + + + Marker interface for Actors that are deployed within local scope, + i.e. always returns true. + + + + + INTERNAL API + + RepointableActorRef (and potentially others) may change their locality at + runtime, meaning that isLocal might not be stable. RepointableActorRef has + the feature that it starts out "not fully started" (but you can send to it), + which is why features here; it is not improbable that cluster + actor refs will have the same behavior. + + + + + Retruns true if this actor has started yet. false otherwise. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + INTERNAL API. + + + + + Gets the current actor, if any. Otherwise . + + The current , if applicable. If not, . + + + + An actor reference. Acts as a handle to an actor. Used to send messages to an actor, whether an actor is local or remote. + If you receive a reference to an actor, that actor is guaranteed to have existed at some point + in the past. However, an actor can always be terminated in the future. + + If you want to be notified about an actor terminating, call + on this actor and you'll receive a message when the actor dies or if it + is already dead. + + Actor references can be serialized and passed over the network. + + + + The path of this actor. Can be used to extract information about whether or not this actor is local or remote. + + + + + Extension method class. Used to deliver messages to instances + via and and pass along information about the current sender. + + + + + Asynchronously tells a message to an . + + The actor who will receive the message. + The message. + Will automatically resolve the current sender using the current , if any. + + + + Forwards the message using the current Sender + + The actor that receives the forward + The message to forward + + + + TBD + + + + + TBD + + + + + Use this value as an argument to if there is not actor to + reply to (e.g. when sending from non-actor code). + + + + + TBD + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + TBD + + TBD + + + + TBD + + + + + Creates an encapsulated by this surrogate. + + The actor system that contains this . + The encapsulated by this surrogate. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + + + + + + + + + + + This exception is thrown if the given isn't an . + + + + + + + + + + + Creates a surrogate representation of the current . + + The actor system that references this . + The surrogate representation of the current . + + + + INTERNAL API. + + Used by built-in implementations for handling + internal operations that are not exposed directly to end-users. + + + + + The parent of this actor. + + + + + The used by the + to which this actor belongs. + + + + + Obsolete. Use or Receive<> + + + + + Obtain a child given the paths element to that actor, by possibly traversing the actor tree or + looking it up at some provider-specific location. + A path element of ".." signifies the parent, a trailing "" element must be disregarded. + If the requested path does not exist, returns . + + The path elements. + The , or if the requested path does not exist, returns . + + + + Resumes an actor if it has been suspended. + + Optional. Passed in if the actor is resuming as a result of recovering from failure. + + + + Start a newly created actor. + + + + + Stop the actor. Terminates it permanently. + + + + + Restart the actor. + + The exception that caused the actor to fail in the first place. + + + + Suspend the actor. Actor will not process any more messages until is called. + + + + + Obsolete. Use instead. + + N/A + N/A + + + + Sends an to the underlying actor. + + The system message we're sending. + + + + INTERNAL API. + + Abstract implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INTERNAL API. + + Barebones with no backing actor or . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is an internal look-up failure token, not useful for anything else. + + + + A surrogate for serializing . + + + + + Converts the into a . + + The actor system. + TBD + + + + Singleton instance of . + + + + + + + N/A + + This exception is automatically thrown since this actor doesn't have a provider. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Returns true if the contains any children, + false otherwise. + + + + + Executes an action for each child in the current collection. + + A lambda which takes a reference to the internal child actor as an argument. + + + + An enumerable that continues where the supplied enumerator is positioned + + + + + + + + An extension method class for working with ActorRefs + + + + + If we call a method such as Context.Child(name) + and don't receive a valid result in return, this method will indicate + whether or not the actor we received is valid. + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Construct an from the given string representing a path + relative to the given target. This operation has to create all the + matching magic, so it is preferable to cache its result if the + intention is to send messages frequently. + + TBD + TBD + TBD + TBD + + + + This class contains implementations originally found in Akka´s trait ActorRefFactory in ActorRefProvider.scala + https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorRefProvider.scala#L180 + corresponds to that trait, but since it is an interface it + cannot contain any code, hence this class. + + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + TBD + TBD + TBD + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + TBD + TBD + TBD + TBD + + + + Construct an from the given string representing a path + relative to the given target. This operation has to create all the + matching magic, so it is preferable to cache its result if the + intention is to send messages frequently. + + TBD + TBD + TBD + + + + TBD + + + + + Reference to the supervisor of guardian and systemGuardian; this is + exposed so that the ActorSystemImpl can use it as lookupRoot, i.e. + for anchoring absolute actor look-ups. + + + + Reference to the supervisor of guardian and systemGuardian at the specified address; + this is exposed so that the ActorRefFactory can use it as lookupRoot, i.e. + for anchoring absolute actor selections. + + TBD + TBD + + + Gets the supervisor used for all top-level user actors. + + + Gets the supervisor used for all top-level system actors. + + + Gets the dead letters. + + + + Gets the root path for all actors within this actor system, not including any remote address information. + + + + Gets the settings. + + + + Initialization of an ActorRefProvider happens in two steps: first + construction of the object with settings, eventStream, etc. + and then—when the ActorSystem is constructed—the second phase during + which actors may be created (e.g. the guardians). + + TBD + + + Gets the deployer. + + + Generates and returns a unique actor path below "/temp". + TBD + + + Returns the actor reference representing the "/temp" path. + + + Registers an actorRef at a path returned by ; do NOT pass in any other path. + The actor reference. + A path returned by . Do NOT pass in any other path! + + + Unregister a temporary actor (i.e. obtained from ); do NOT pass in any other path. + A path returned by . Do NOT pass in any other path! + + + + Actor factory with create-only semantics: will create an actor as + described by with the given and (may be different + in case of remote supervision). If is true, deployment is + bypassed (local-only). If a value for is passed in, it should be + regarded as taking precedence over the nominally applicable settings, + but it should be overridable from external configuration; the lookup of + the latter can be suppressed by setting "lookupDeploy" to "false". + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + Get the actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference. + TBD + TBD + + + Get the actor reference for a specified path. If no such actor exists, it will be (equivalent to) a dead letter reference. + TBD + TBD + + + + This Future is completed upon termination of this , which + is usually initiated by stopping the guardian via . + + + + + Obtain the address which is to be used within sender references when + sending to the given other address or none if the other address cannot be + reached from this system (i.e. no means of communication known; no + attempt is made to verify actual reachability). + + TBD + TBD + + + Gets the external address of the default transport. + + + + Class LocalActorRefProvider. This class cannot be inherited. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Higher-level providers (or extensions) might want to register new synthetic + top-level paths for doing special stuff. This is the way to do just that. + Just be careful to complete all this before finishes, + or before you start your own auto-spawned actors. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Registers an actorRef at a path returned by ; do NOT pass in any other path. + + The actor reference. + A path returned by . Do NOT pass in any other path! + This exception is thrown if the given is not on the temp path. + + + + Unregister a temporary actor (i.e. obtained from ); do NOT pass in any other path. + + A path returned by . Do NOT pass in any other path! + This exception is thrown if the given is not on the temp path. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Resolves the actor reference. + + The actor path. + ActorRef. + + + + TBD + + TBD + TBD + TBD + + + + Actor factory with create-only semantics: will create an actor as + described by with the given and (may be different + in case of remote supervision). If is true, deployment is + bypassed (local-only). If a value for is passed in, it should be + regarded as taking precedence over the nominally applicable settings, + but it should be overridable from external configuration; the lookup of + the latter can be suppressed by setting "lookupDeploy" to "false". + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception can be thrown for a number of reasons. The following are some examples: +
+
non-routers
+
The dispatcher in the given is not configured for the given .
+
or
+
There was a configuration problem while creating the given with the dispatcher and mailbox from the given
+
routers
+
The dispatcher in the given is not configured for routees of the given
+
or
+
The dispatcher in the given is not configured for router of the given
+
or
+
$There was a configuration problem while creating the given with router dispatcher and mailbox and routee dispatcher and mailbox.
+
+
+ TBD +
+ + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + This class represents a logical view of a section of an ActorSystem's + tree of actors that allows for broadcasting of messages to that section. + + + + + Gets the anchor. + + + + + Gets the elements. + + + + + A string representation of all of the elements in the path, + starting with "/" and separated with "/". + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The anchor. + The path. + + + + Initializes a new instance of the class. + + The anchor. + The path. + + + + Initializes a new instance of the class. + + The anchor. + The elements. + + + + Sends a message to this ActorSelection. + + The message to send + The actor that sent the message + + + + Resolves the matching this selection. + The result is returned as a Task that is completed with the + if such an actor exists. It is completed with failure if + no such actor exists or the identification didn't complete within the supplied . + + Under the hood it talks to the actor to verify its existence and acquire its + + + The amount of time to wait while resolving the selection before terminating the operation and generating an error. + + + This exception is thrown if no such actor exists or the identification didn't complete within the supplied . + + TBD + + + + INTERNAL API + Convenience method used by remoting when receiving from a remote + actor. + + TBD + TBD + TBD + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified actor selection, is equal to this instance. + + The actor selection to compare. + true if the specified router is equal to this instance; otherwise, false. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class ActorSelectionMessage. + + + + + Initializes a new instance of the class. + + The message. + The elements. + TBD + + + + The message that should be delivered to this ActorSelection. + + + + + The elements, e.g. "foo/bar/baz". + + + + + TBD + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectionPathElement. + + + + + Class SelectChildName. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the actor name. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectChildPattern. + + + + + Initializes a new instance of the class. + + The pattern string. + + + + Gets the pattern string. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Class SelectParent. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + An actor system is a hierarchical group of actors which share common + configuration, e.g. dispatchers, deployments, remote capabilities and + addresses. It is also the entry point for creating or looking up actors. + There are several possibilities for creating actors (see + for details on `props`): + + system.ActorOf(props, "name"); + system.ActorOf(props); + system.ActorOf(Props.Create(typeof(MyActor)), "name"); + system.ActorOf(Props.Create(() => new MyActor(arg1, arg2), "name"); + + Where no name is given explicitly, one will be automatically generated. + + Important Notice: + + This class is not meant to be extended by user code. + + + + Gets the settings. + The settings. + + + Gets the name of this system. + The name. + + + Gets the serialization. + The serialization. + + + Gets the event stream. + The event stream. + + + + Gets the dead letters. + + The dead letters. + + + Gets the dispatchers. + The dispatchers. + + + Gets the mailboxes. + The mailboxes. + + + Gets the scheduler. + The scheduler. + + + Gets the log + + + + Start-up time since the epoch. + + + + + Up-time of this actor system. + + + + + Creates a new with the specified name and configuration. + + The name of the actor system to create. The name must be uri friendly. + Must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-' + + The configuration used to create the actor system + A newly created actor system with the given name and configuration. + + + + Creates a new with the specified name. + + The name of the actor system to create. The name must be uri friendly. + Must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-' + + A newly created actor system with the given name. + + + + Retrieves the specified extension that is registered to this actor system. + + The extension to retrieve + The specified extension registered to this actor system + + + + Retrieves an extension with the specified type that is registered to this actor system. + + The type of extension to retrieve + The specified extension registered to this actor system + + + + Determines whether this actor system has an extension with the specified type. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + Determines whether this actor system has the specified extension. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Tries to retrieve an extension with the specified type + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + + Registers a block of code (callback) to run after ActorSystem.shutdown has been issued and all actors + in this actor system have been stopped. Multiple code blocks may be registered by calling this method + multiple times. + + + The callbacks will be run sequentially in reverse order of registration, i.e. last registration is run first. + + + The code to run + + This exception is thrown if the system has already shut down or if shutdown has been initiated. + + + + + + Terminates this actor system. This will stop the guardian actor, which in turn will recursively stop + all its child actors, then the system guardian (below which the logging actors reside) and the execute + all registered termination handlers (). + + + Be careful to not schedule any operations on completion of the returned task using the `dispatcher` + of this actor system as it will have been shut down before the task completes. + + + + A that will complete once the actor system has finished terminating and all actors are stopped. + + + + + Returns a task which will be completed after the has been + terminated and termination hooks have been executed. Be careful to not schedule any + operations on the `dispatcher` of this actor system as it will have been shut down + before this task completes. + + + + + Stops the specified actor permanently. + + The actor to stop + + This method has no effect if the actor is already stopped. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + Registers the specified extension with this actor system. + + The extension to register with this actor system + The extension registered with this actor system + + + + + + + + + + + + + The address specifies the physical location under which an Actor can be + reached. Examples are local addresses, identified by the 's + name, and remote addresses, identified by protocol, host and port. + + This class is sealed to allow use as a case class (copy method etc.); if + for example a remote transport would want to associate additional + information with an address, then this must be done externally. + + + + + Pseudo address for all systems + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Returns true if this Address is only defined locally. It is not safe to send locally scoped addresses to remote + hosts. See also + + + + + Returns true if this Address is usable globally. Unlike locally defined addresses + addresses of global scope are safe to sent to other hosts, as they globally and uniquely identify an addressable + entity. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Creates a new copy with the same properties as the current address. + + A new copy of the current address + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The protocol used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The system used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The host used to configure the new address. + A new address with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of the address. + + The port used to configure the new address. + A new address with the provided . + + + + Compares two specified addresses for equality. + + The first address used for comparison + The second address used for comparison + true if both addresses are equal; otherwise false + + + + Compares two specified addresses for inequality. + + The first address used for comparison + The second address used for comparison + true if both addresses are not equal; otherwise false + + + + TBD + + TBD + + + + Parses a new from a given string + + The address to parse + A populated object with host and port included, if available + Thrown if the address is not able to be parsed + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Extractor class for so-called "relative actor paths" - as in "relative URI", not + "relative to some other actors." + + Examples: + + * "grand/child" + * "/user/hello/world" + + + + + TBD + + TBD + TBD + + + + Class EventStreamActor. + + + + + Processor for user defined messages. + + The message. + TBD + + + + Class GuardianActor. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + System guardian. + + Root actor for all actors under the /system path. + + + + + TBD + + TBD + + + + Processor for messages that are sent to the root system guardian + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Class DeadLetterActorRef. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + TBD + TBD + + + + A that is already canceled. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + A that wraps a . + When canceling this instance the underlying is canceled as well. + + + + + Initializes a new instance of the class that will be cancelled after the specified amount of time. + + The scheduler. + The delay before the cancelable is canceled. + + + + Initializes a new instance of the class that will be cancelled after the specified amount of time. + + The scheduler. + The delay before the cancelable is canceled. + + + + Initializes a new instance of the class that will be cancelled after the specified amount of milliseconds. + + The scheduler. + The delay in milliseconds. + + + + Initializes a new instance of the class. + + TBD + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. + + true if exceptions should immediately propagate; otherwise, false. + + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + If is true, an exception will immediately propagate out of + the call to Cancel, preventing the remaining callbacks and cancelable operations from being processed. + If is false, this overload will aggregate any exceptions + thrown into an , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will be reestablished when the callback is invoked. + + + This exception is thrown if this cancelable has already been disposed. + + + + + Schedules a cancel operation on this cancelable after the specified delay. + + The delay before this instance is canceled. + This exception is thrown if the given is less than or equal to 0. + This exception is thrown if this cancelable has already been disposed. + + + + Schedules a cancel operation on this cancelable after the specified number of milliseconds. + + The delay in milliseconds before this instance is canceled. + This exception is thrown if the given is less than or equal to 0. + This exception is thrown if this cancelable has already been disposed. + + + + Returns a that has already been canceled. + + TBD + + + + Creates a that will be in the canceled state + when any of the source cancelables are in the canceled state. + + The scheduler + The cancelables instances to observe. + A new that is linked to the source . + + + + Creates a that will be in the canceled state + when any of the source cancelables are in the canceled state. + + The scheduler + The cancelables instances to observe. + A new that is linked to the source . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + TBD + + + + + If is not null it's canceled. + + The cancelable. Will be canceled if it's not null + + + + Signifies something that can be canceled + + + + + Communicates a request for cancellation. + + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + However, this overload of Cancel will aggregate any exceptions thrown into an + , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will + be reestablished when the callback is invoked. + + + + Gets a value indicating whether cancellation has been requested + + + + + TBD + + + + + Schedules a cancel operation on this cancelable after the specified delay. + + The delay before this instance is canceled. + + + + Schedules a cancel operation on this cancelable after the specified number of milliseconds. + + The delay in milliseconds before this instance is canceled. + + + + Communicates a request for cancellation, and specifies whether remaining callbacks and cancelable operations should be processed. + + true if exceptions should immediately propagate; otherwise, false. + The associated cancelable will be notified of the cancellation and will transition to a state where + returns true. + Any callbacks or cancelable operations registered with the cancelable will be executed. + Cancelable operations and callbacks registered with the token should not throw exceptions. + If is true, an exception will immediately propagate out of + the call to Cancel, preventing the remaining callbacks and cancelable operations from being processed. + If is false, this overload will aggregate any exceptions + thrown into an , such that one callback throwing an exception will not + prevent other registered callbacks from being executed. + The that was captured when each callback was registered will be reestablished when the callback is invoked. + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + Gets the "self" reference which this Cell is attached to. + + + The system within which this Cell lives. + + + The system internals within which this Cell lives. + + + + Start the cell: enqueued message must not be processed before this has + been called. The usual action is to attach the mailbox to a dispatcher. + + + + Recursively suspend this actor and all its children. Is only allowed to throw fatal exceptions. + + + Recursively resume this actor and all its children. Is only allowed to throw fatal exceptions. + TBD + + + Restart this actor (will recursively restart or stop all children). Is only allowed to throw Fatal Throwables. + TBD + + + Recursively terminate this actor and all its children. Is only allowed to throw Fatal Throwables. + + + The supervisor of this actor. + + + Returns true if the actor is local. + + + The props for this actor cell. + + + + If the actor isLocal, returns whether "user messages" are currently queued, + falseotherwise. + + + + + If the actor isLocal, returns the number of "user messages" currently queued, + which may be a costly operation, 0 otherwise. + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + Method for looking up a single child beneath this actor. + It is racy if called from the outside. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Tries to get the stats for the child with the specified name. The stats can be either + indicating that only a name has been reserved for the child, or a for a child that + has been initialized/created. + + TBD + TBD + TBD + + + + Enqueue a message to be sent to the actor; may or may not actually + schedule the actor to run, depending on which type of cell it is. + + The system message we're passing along + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + ChildRestartStats is the statistics kept by every parent Actor for every child Actor + and is used for SupervisorStrategies to know how to deal with problems that occur for the children. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + This is the empty container, shared among all leaf actors. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Normal children container: we do have at least one child, but none of our + children are currently terminating (which is the time period between calling + context.stop(child) and processing the ChildTerminated() system message). + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + This exception is thrown if the given is not unique in the container. + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + This is the empty container which is installed after the last child has + terminated while stopping; it is necessary to distinguish from the normal + empty state while calling handleChildTerminated() for the last time. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + N/A + + N/A + N/A + This exception is automatically thrown since the name belongs to an actor that is already terminated. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Waiting state: there are outstanding termination requests (i.e. context.stop(child) + was called but the corresponding ChildTerminated() system message has not yet been + processed). There could be no specific reason (UserRequested), we could be Restarting + or Terminating. + Removing the last child which was supposed to be terminating will return a different + type of container, depending on whether or not children are left and whether or not + the reason was "Terminating". + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + This exception is thrown if the given belongs to an actor that is terminating. + This exception is thrown if the given is not unique in the container. + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Initializes a new instance of the class. + + The name given to the actor system. + + + + Initializes a new instance of the class. + + The name given to the actor system. + The configuration used to configure the actor system. + + This exception is thrown if the given is an invalid name for an actor system. + Note that the name must contain only word characters (i.e. [a-zA-Z0-9] plus non-leading '-'). + + This exception is thrown if the given is undefined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new system actor that lives under the "/system" guardian. + + The used to create the actor. + The name of the actor to create. The default value is . + + This exception is thrown when the given name is invalid or already in use. + + + This exception is thrown when deployment, dispatcher or mailbox configuration is incorrect. + + A reference to the underlying actor. + + + + Creates a new system actor that lives under the "/system" guardian. + + + The type of the actor to create. Must have a default constructor declared. + + The name of the actor to create. The default value is . + + This exception is thrown when the given name is invalid or already in use. + + + This exception is thrown when deployment, dispatcher or mailbox configuration is incorrect. + + A reference to the underlying actor. + + + + If true, then the is attempting to abort. + + + + + Shuts down the without all of the usual guarantees, + i.e. we may not guarantee that remotely deployed actors are properly shut down + when we abort. + + + + Starts this system + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Registers the specified extension with this actor system. + + The extension to register with this actor system + The extension registered with this actor system + + + + Retrieves the specified extension that is registered to this actor system. + + The extension to retrieve + The specified extension registered to this actor system + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Tries to retrieve an extension with the specified type. + + The type of extension to retrieve + The extension that is retrieved if successful + true if the retrieval was successful; otherwise false. + + + + Retrieves an extension with the specified type that is registered to this actor system. + + The type of extension to retrieve + The specified extension registered to this actor system + + + + Determines whether this actor system has an extension with the specified type. + + The type of the extension being queried. + true if this actor system has the extension; otherwise false. + + + + Determines whether this actor system has the specified extension. + + The type of the extension being queried + true if this actor system has the extension; otherwise false. + + + + + Registers a block of code (callback) to run after ActorSystem.shutdown has been issued and all actors + in this actor system have been stopped. Multiple code blocks may be registered by calling this method + multiple times. + + + The callbacks will be run sequentially in reverse order of registration, i.e. last registration is run first. + + + The code to run + + This exception is thrown if the system has already shut down or if shutdown has been initiated. + + + + + + Terminates this actor system. This will stop the guardian actor, which in turn will recursively stop + all its child actors, then the system guardian (below which the logging actors reside) and the execute + all registered termination handlers (). + + + Be careful to not schedule any operations on completion of the returned task using the `dispatcher` + of this actor system as it will have been shut down before the task completes. + + + + A that will complete once the actor system has finished terminating and all actors are stopped. + + + + + Returns a task which will be completed after the has been + terminated and termination hooks have been executed. Be careful to not schedule any + operations on the `dispatcher` of this actor system as it will have been shut down + before this task completes. + + + + + Stops the specified actor permanently. + + The actor to stop + + + + This class represents a callback used to run a task when the actor system is terminating. + + + + + Initializes a new instance of the class. + + The task to run when the actor system is terminating + + + + Adds a continuation to the current task being performed. + + The method to run as part of the continuation + This exception is thrown if the actor system has been terminated. + + + + The task that is currently being performed + + + + + Marks that the actor needs to be initialized directly after it has been created. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + + + + TBD + + INTERNAL! + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + INTERNAL! + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + This is used to let TestFSMRef in TestKit access to internal methods. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + INTERNAL API. Used for testing. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Abstract base class for stash support + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + Abstract base class for stash support + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + This exception is thrown if the actor's mailbox isn't deque-based (e.g. ). + + + + Stashes the current message in the actor's state. + + This exception is thrown if we attempt to stash the same message more than once. + + This exception is thrown in the event that we're using a for the and we've exceeded capacity. + + + + + Unstash the most recently stashed message (top of the message stack.) + + + + + Unstash all of the s in the Stash. + + + + + Unstash all of the s in the Stash. + + A predicate function to determine which messages to select. + + + + Eliminates the contents of the , and returns + the previous contents of the messages. + + Previously stashed messages. + + + + TBD + + TBD + + + + Enqueues at the first position in the mailbox. If the message contained in + the envelope is a message, it will be ensured that it can be re-received + by the actor. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + + + INTERNAL + A stash implementation that is unbounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL + A stash implementation that is bounded + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + + + + Used to register the extension with a given . + + + + + Creates a new instance of the extension. + + The extended actor system. + A coordinated shutdown plugin. + + + + INTERNAL API + + + + + Creates a new + + The list of other phases this phase depends upon. + A timeout value for any tasks running during this phase. + When set to true, this phase can recover from a faulted state during shutdown. + + + + The names of other s this phase depends upon. + + + + + The amount of time this phase is allowed to run. + + + + + If true, this phase has the ability to recover during a faulted state. + + + + + + + + + + + + + + An extension used to help coordinate and sequence shutdown activities + during graceful termination of actor systems, plugins, and so forth. + + + + + Initializes a new instance. + + Access to the . + The list of s provided by the HOCON configuration. + + + + Retreives the extension for the current + + The current actor system. + A instance. + + + + The + + + + + The set of named s that will be executed during coordinated shutdown. + + + + + INTERNAL API + + + + + INTERNAL API + + + + + INTERNAL API + + Signals when CLR shutdown hooks have been completed + + + + + Add a task to a phase. It doesn't remove previously added tasks. + + Tasks added to the same phase are executed in parallel without any + ordering assumptions. Next phase will not start until all tasks of + previous phase have completed. + + The phase to add this task to. + The name of the task to add to this phase. + The delegate that produces a that will be executed. + + Tasks should typically be registered as early as possible after system + startup. When running the tasks that have been + registered will be performed but tasks that are added too late will not be run. + + + It is possible to add a task to a later phase from within a task in an earlier phase + and it will be performed. + + + + + Add a shutdown hook that will execute when the CLR process begins + its shutdown sequence, invoked via . + + Added hooks may run in any order concurrently, but they are run before + the Akka.NET internal shutdown hooks execute. + + A task that will be executed during shutdown. + + + + INTERNAL API + + Should only be called directly by the event + in production. + + Safe to call multiple times, but hooks will only be run once. + + Returns a that will be completed once the process exits. + + + + Run tasks of all phases including and after the given phase. + + Optional. The phase to start the run from. + A task that is completed when all such tasks have been completed, or + there is failure when is disabled. + + It is safe to call this method multiple times. It will only run once. + + + + + The configured timeout for a given . + + The name of the phase. + Returns the timeout if ti exists. + Thrown if doesn't exist in the set of registered phases. + + + + The sum of timeouts of all phases that have some task. + + + + + INTERNAL API + + The HOCON configuration for the + A map of all of the phases of the shutdown. + + + + INTERNAL API: https://en.wikipedia.org/wiki/Topological_sorting + + The set of phases to sort. + A topologically sorted list of phases. + + + + INTERNAL API + + Primes the with the default phase for + + + The actor system for this extension. + The HOCON configuration. + The plugin instance. + + + + Initializes the CLR hook + + The actor system for this extension. + The HOCON configuration. + The plugin instance. + + + + INTERNAL API + + Message queue implementation used to funnel messages to + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + Mailbox for dead letters. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + This class represents a configuration object used in the deployment of an actor. + + + + + A deployment configuration that is bound to the scope. + + + + + This deployment does not have a dispatcher associated with it. + + + + + This deployment does not have a mailbox associated with it. + + + + + This deployment has an unspecified scope associated with it. + + + + + A deployment configuration where none of the options have been configured. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The actor path associated with this deployment. + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The router to use for this deployment. + The scope to bind to this deployment. + + + + Initializes a new instance of the class. + + The router to use for this deployment. + + + + Initializes a new instance of the class. + + The path to deploy the actor. + The configuration used when deploying the actor. + The router used in this deployment. + The scope to bind to this deployment. + The dispatcher used in this deployment. + + + + Initializes a new instance of the class. + + The path to deploy the actor. + The configuration used when deploying the actor. + The router used in this deployment. + The scope to bind to this deployment. + The dispatcher used in this deployment. + The mailbox configured for the actor used in this deployment. + + + + The path where the actor is deployed. + + + + + The configuration used for this deployment. + + + + + The router used for this deployment. + + + + + The scope bound to this deployment. + + + + + The mailbox configured for the actor used in this deployment. + + + + + The dispatcher used in this deployment. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Creates a new from this deployment using another + to backfill options that might be missing from this deployment. + + + This method is immutable and returns a new instance of . + + + The used for fallback configuration. + A new using for fallback configuration. + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The mailbox used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The dispatcher used to configure the new . + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The used to configure the new . + A new with the provided . + + + + This class represents a surrogate of a configuration object. + Its main use is to help during the serialization process. + + + + + The scope bound to this deployment. + + + + + The router used for this deployment. + + + + + The path where the actor is deployed. + + + + + The configuration used for this deployment. + + + + + The mailbox configured for the actor used in this deployment. + + + + + The dispatcher used in this deployment. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Used to configure and deploy actors. + + + + + TBD + + + + + Initializes a new instance of the class. + + The settings used to configure the deployer. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the actor name in the deployment path is empty or contains invalid ASCII. + Valid ASCII includes letters and anything from . Note that paths + cannot start with the $. + + + + + Creates an actor deployment to the supplied path, , using the supplied configuration, . + + The path used to deploy the actor. + The configuration used to configure the deployed actor. + A configured actor deployment to the given path. + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Registers an async handler for messages of the specified type + + the type of the message + the message handler invoked on the incoming message + when not null, determines whether this handler should handle the message + + + + Registers an async handler for messages of the specified type + + + determines whether this handler should handle the message + the message handler invoked on the incoming message + + + + Registers an asynchronous handler for any incoming message that has not already been handled. + + The message handler that is invoked for all + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Changes the actor's behavior and replaces the current handler with the specified handler. + + TBD + + + + Changes the actor's behavior and replaces the current handler with the specified handler without discarding the current. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + TBD + + + + Changes the actor's behavior and replaces the current handler with the previous one on the behavior stack. + In order to store an actor on the behavior stack, a call to must have been made + prior to this call + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Registers an async handler for messages of the specified type + + the type of the message + the message handler invoked on the incoming message + when not null, determines whether this handler should handle the message + + + + Registers an async handler for messages of the specified type + + + determines whether this handler should handle the message + the message handler invoked on the incoming message + + + + Registers an asynchronous handler for any incoming message that has not already been handled. + + The message handler that is invoked for all + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + This exception provides the base for all Akka.NET specific exceptions within the system. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + The exception that is the cause of the current exception. + + + + + This exception is thrown when the actor name is invalid. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception. + + + + This exception is thrown when an Ask operation times out. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + This exception is thrown when an actor is interrupted in the midst of processing messages. + + This is an exception typically thrown when the underlying dispatcher's threads are aborted. + + + + + TBD + + TBD + TBD + + + + This exception is thrown when the initialization logic for an Actor fails. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The actor whose initialization logic failed. + The message that describes the error. + The exception that is the cause of the current exception. + + + + Retrieves the actor whose initialization logic failed. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + This exception is thrown when there was a problem initializing a logger. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + This exception is thrown when a message has been sent to an Actor. + will by default stop the actor. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + This exception is thrown when a core invariant in the Actor implementation has been violated. + For instance, if you try to create an Actor that doesn't inherit from . + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + This exception is thrown when an Actor with an invalid name is deployed. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + This exception is thrown by an Actor that receives a Terminated(someActor) message + that it doesn't handle itself, effectively crashing the Actor and escalating to the supervisor. + + + + + Initializes a new instance of the class. + + The actor that has been terminated. + + + + Retrieves the actor that has been terminated. + + + + + This exception is thrown when the method fails during a restart attempt. + + + This exception is not propagated to the supervisor, as it originates from the already failed instance, + hence it is only visible as log entry on the event stream. + + + + + + Initializes a new instance of the class. + + The actor whose hook failed. + The exception thrown by the within . + The exception which caused the restart in the first place. + The message which was optionally passed into . + + + + This exception is thrown when the Actor constructor or method + fails during a restart attempt. + + + + + Initializes a new instance of the class. + + The actor whose constructor or hook failed. + The exception thrown by the within . + The original cause is the exception which caused the restart in the first place. + + + + Retrieves the exception which caused the restart in the first place. + + + + + This exception is thrown when an Actor can not be found. + + + + + Initializes a new instance of the class. + + + + + that takes a descriptive and optional . + + A user-defined error message. + An inner . + + + + This exception is thrown when an invalid message is sent to an Actor. + + + Currently only null is an invalid message. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + More powerful interface to the actor system’s implementation which is presented to + extensions (see ). + Important Notice: + This class is not meant to be extended by user code. If you want to + actually roll your own Akka, beware that you are completely on your own in + that case! + + + + Gets the provider. + The provider. + + + + Gets the top-level supervisor of all user actors created using + system.ActorOf(...) + + + + + The , used as the lookup for resolutions. + + + + + Gets the top-level supervisor of all system-internal services like logging. + + + + + Gets the actor producer pipeline resolver for current actor system. It may be used by + Akka plugins to inject custom behavior directly into actor creation chain. + + + + + Creates a new system actor in the "/system" namespace. This actor + will be shut down during system shutdown only after all user actors have + terminated. + + The used to create the actor + The name of the actor to create. The default value is . + A reference to the newly created actor + + + + Creates a new system actor in the "/system" namespace. This actor + will be shut down during system shutdown only after all user actors have + terminated. + + The type of actor to create + The name of the actor to create. The default value is . + A reference to the newly created actor + + + + Aggressively terminates an without waiting for the normal shutdown process to run as-is. + + + + + This interface is used to mark an object as an extension. + + + + + This interface is used to distinguish unique extensions. + + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + + Internal use only. + + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + Retrieves the underlying type for the current extension + + + + + This interface is used to distinguish unique extensions. + + The type associated with the current extension. + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + + Internal use only. + + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + This class contains extension methods used for resolving extensions. + + + + + Retrieves the extension specified by a given type, , from a given actor system. + + The type associated with the extension to retrieve. + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Retrieves the extension specified by a given type, , from a given actor system. + If the extension does not exist within the actor system, then the extension specified by + is registered to the actor system. + + The type associated with the extension to retrieve. + The actor system from which to retrieve the extension or to register with if it does not exist. + The type of the extension to register if it does not exist in the given actor system. + The extension retrieved from the given actor system. + + + + Retrieves the extension specified by a given type, , from a given actor system. + If the extension does not exist within the actor system, then the extension specified by + is registered to the actor system. + + The type associated with the extension to retrieve. + The type associated with the extension to retrieve if it does not exist within the system. + The actor system from which to retrieve the extension or to register with if it does not exist. + The extension retrieved from the given actor system. + + + + This class represents the base provider implementation for creating, registering and retrieving extensions within an . + + The type of the extension being provided. + + + + Registers the current extension to a given actor system. + + The actor system in which to register the extension. + The extension registered to the given actor system. + + + + Retrieves the underlying type for the current extension + + + + + Retrieves the current extension from a given actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Creates the current extension using a given actor system. + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + true if the specified is equal to this instance; otherwise, false. + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + TBD + + + + + Message type which is sent directly to the subscriber Actor in + before sending any messages. + + The type of the state being used in this finite state machine. + + + + Initializes a new instance of the CurrentState + + TBD + TBD + + + + TBD + + + + + TBD + + + + + + + + + + + + + + Message type which is used to communicate transitions between states to all subscribed listeners + (use ) + + The type of state used + + + + Initializes a new instance of the Transition + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + + + + + + + Send this to an to request first the + followed by a series of updates. Cancel the subscription using + . + + + + + Initializes a new instance of the SubscribeTransitionCallBack + + TBD + + + + TBD + + + + + Unsubscribe from notifications which were + initialized by sending the corresponding . + + + + + Initializes a new instance of the UnsubscribeTransitionCallBack + + TBD + + + + TBD + + + + + Reason why this is shutting down + + + + + Default if calling Stop(). + + + + + Obsolete. Use instead. + + + + + Singleton instance of Normal + + + + + Reason given when someone as calling from outside; + also applies to supervision directive. + + + + + Obsolete. Use instead. + + + + + Singleton instance of Shutdown + + + + + Signifies that the is shutting itself down because of an error, + e.g. if the state to transition into does not exist. You can use this to communicate a more + precise cause to the block. + + + + + Initializes a new instance of the Failure + + TBD + + + + TBD + + + + + + + + Used in the event of a timeout between transitions + + + + + Obsolete. Use instead. + + + + + Singleton instance of StateTimeout + + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Log entry of the - can be obtained by calling + + The name of the state + The data of the state + + + + Initializes a new instance of the LogEntry + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + This captures all of the managed state of the : the state name, + the state data, possibly custom timeout, stop reason, and replies accumulated while + processing the last message. + + The name of the state + The data of the state + + + + Initializes a new instance of the State + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Modify the state transition descriptor to include a state timeout for the + next state. This timeout overrides any default timeout set for the next state. + Use to cancel a timeout. + + TBD + TBD + + + + Send reply to sender of the current message, if available. + + TBD + TBD + + + + Modify state transition descriptor with new state data. The data will be set + when transitioning to the new state. + + TBD + TBD + + + + INTERNAL API + + TBD + TBD + + + + INTERNAL API + + + + + + + + + + + + + + + + + All messages sent to the will be wrapped inside an , + which allows pattern matching to extract both state and data. + + The state data for this event + + + + Initializes a new instance of the Event + + TBD + TBD + + + + TBD + + + + + TBD + + + + + + + + Class representing the state of the within the OnTermination block. + + TBD + TBD + + + + Initializes a new instance of the StopEvent + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + + + + Finite state machine (FSM) actor. + + The state name type + The state data type + + + + Initializes a new instance of the FSM class. + + + + + Delegate describing this state's response to input + + TBD + TBD + + + + Handler which is called upon each state transition + + State designator for the initial state + State designator for the next state + + + + Insert a new at the end of the processing chain for the + given state. If the stateTimeout parameter is set, entering this state without a + differing explicit timeout setting will trigger a . + + designator for the state + delegate describing this state's response to input + default timeout for this state + + + + Sets the initial state for this FSM. Call this method from the constructor before the method. + If different state is needed after a restart this method, followed by , can be used in the actor + life cycle hooks and . + + Initial state designator. + Initial state data. + State timeout for the initial state, overriding the default timeout for that state. + + + + Produce transition to other state. Return this from a state function + in order to effect the transition. + + State designator for the next state + State transition descriptor + + + + Obsolete. Use GoTo(nextStateName).Using(stateData) instead. + + N/A + N/A + N/A + + + + Produce "empty" transition descriptor. Return this from a state function + when no state change is to be effected. + + Descriptor for staying in the current state. + + + + Produce change descriptor to stop this FSM actor with + + Descriptor for stopping in the current state. + + + + Produce change descriptor to stop this FSM actor with the specified . + + Reason why this is shutting down. + Descriptor for stopping in the current state. + + + + Produce change descriptor to stop this FSM actor with the specified . + + Reason why this is shutting down. + State data. + Descriptor for stopping in the current state. + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Schedule named timer to deliver message after given delay, possibly repeating. + Any existing timer with the same name will automatically be canceled before adding + the new timer. + + identifier to be used with . + message to be delivered + delay of first message delivery and between subsequent messages. + send once if false, scheduleAtFixedRate if true + + + + Cancel a named , ensuring that the message is not subsequently delivered (no race.) + + The name of the timer to cancel. + + + + Determines whether the named timer is still active. Returns true + unless the timer does not exist, has previously been cancelled, or + if it was a single-shot timer whose message was already received. + + TBD + TBD + + + + Set the state timeout explicitly. This method can be safely used from + within a state handler. + + TBD + TBD + + + + Set handler which is called upon each state transition + + TBD + + + + Set the handler which is called upon termination of this FSM actor. Calling this + method again will overwrite the previous contents. + + TBD + + + + Set handler which is called upon reception of unhandled FSM messages. Calling + this method again will overwrite the previous contents. + + TBD + + + + Verify the existence of initial state and setup timers. This should be the + last call within the constructor or and + . + + + This exception is thrown when this method is called before is called. + + + + + Current state name + + + This exception is thrown if this property is accessed before was called. + + + + + Current state data + + + This exception is thrown if this property is accessed before was called. + + + + + Return next state data (available in handlers) + + + This exception is thrown if this property is accessed outside of an handler. + + + + + Retrieves the support needed to interact with an actor's listeners. + + + + + Can be set to enable debugging on certain actions taken by the FSM + + + + + FSM state data and current timeout handling + + + + + Timer handling + + + + + State definitions + + + + + Unhandled event handler + + + + + Termination handling + + + + + Transition handling + + + + + C# port of Scala's orElse method for partial function chaining. + + See http://scalachina.com/api/scala/PartialFunction.html + + The original to be called + The to be called if returns null + A which combines both the results of and + + + + + + + Call the hook if you want to retain this behavior. + When overriding make sure to call base.PostStop(); + + Please note that this method is called by default from so + override that one if shall not be called during restart. + + + + + By default, is logged at error level and other + reason types are not logged. It is possible to override this behavior. + + TBD + + + + Marker interface to let the setting "akka.actor.debug.fsm" control if logging should occur in + + + + + Extension method class designed to create Ask support for + non-ActorRef objects such as . + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if the system can't resolve the target provider. + + TBD + + + + TBD + + TBD + TBD + + + + Akka private optimized representation of the temporary actor spawned to + receive the reply to an "ask" operation. + + INTERNAL API + + + + + Can't access constructor directly - use instead. + + + + + TBD + + + + + This is necessary for weaving the PromiseActorRef into the asked message, i.e. the replyTo pattern. + + + + As an optimization for the common (local) case we only register this PromiseActorRef + with the provider when the `path` member is actually queried, which happens during + serialization (but also during a simple call to `ToString`, `Equals` or `GetHashCode`!). + + Defined states: + null => started, path not yet created + Registering => currently creating temp path and registering it + path: ActorPath => path is available and was registered + StoppedWithPath(path) => stopped, path available + Stopped => stopped, path not yet created + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + Returns false if the is already completed. + + + + + TBD + + + + + TBD + + + + + Contract of this method: + Must always return the same ActorPath, which must have + been registered if we haven't been stopped yet. + + + + + TBD + + TBD + TBD + + This exception is thrown if the given is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + Returns a that will be completed with success when existing messages + of the target actor have been processed and the actor has been terminated. + + Useful when you need to wait for termination or compose ordered termination of several actors, + which should only be done outside of the as blocking inside is discouraged. + + IMPORTANT: the actor being terminated and its supervisor being informed of the availability of the deceased actor's name + are two distinct operations, which do not obey any reliable ordering. + + If the target actor isn't terminated within the timeout the is completed with failure. + + If you want to invoke specialized stopping logic on your target actor instead of , you can pass your stop command as a parameter: + + GracefulStop(someChild, timeout, MyStopGracefullyMessage).ContinueWith(r => { + // Do something after someChild starts being stopped. + }); + + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the underlying task is . + + TBD + + + + TBD + + + + + Monitors the specified actor for termination. When the terminates + the instance watching will receive a message. + Note that if the message isn't handled by the actor, + by default the actor will crash by throwing a . To change + the default behavior, override . + + + The actor to monitor for termination. + Returns the provided subject + + + + Stops monitoring the for termination. + + The actor to stop monitor for termination. + Returns the provided subject + + + + TBD + + + + + Gets the belonging to the current actor. + + + + + The used to originally create this + + + + + The dispatcher this actor is running on + + + + + Gets the of the actor who sent the current message. + + If the message was not sent by an actor (i.e. some external non-actor code + sent this actor a message) then this value will default to . + + + + + Gets a reference to the to which this actor belongs. + + + This property is how you can get access to the and other parts + of Akka.NET from within an actor instance. + + + + + + Gets the of the parent of the current actor. + + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the previous one on the behavior stack. + In order to store an actor on the behavior stack, a call to must have been made + prior to this call + + + + + Retrieves a child actor with the specified name, if it exists. + + If the child with the given name cannot be found, + then will be returned instead. + + + The name of the child actor. + + e.g. "child1", "foo" + + Not the path, just the name of the child at the time it was created by this parent. + + The belonging to the child if found, otherwise. + + + + Gets all of the children that belong to this actor. + + If this actor has no children, + an empty collection of is returned instead. + + TBD + + + + + Defines the inactivity timeout after which the sending of a message is triggered. + When specified, the receive function should be able to handle a message. + + + + Please note that the receive timeout might fire and enqueue the message right after + another message was enqueued; hence it is not guaranteed that upon reception of the receive + timeout there must have been an idle period beforehand as configured via this method. + + + + Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity + periods). Pass in null to switch off this feature. + + + The timeout. Pass in null to switch off this feature. + + + + Gets the inactivity deadline timeout set using . + + + + + Issues a stop command to the provided , which will cause that actor + to terminate. + + The actor who will be stopped. + + + + Interface IActorRefFactory + + + + + Create new actor as child of this context with the given name, which must + not start with "$". If the given name is already in use, + and is thrown. + + See for details on how to obtain a object. + + The props used to create this actor. + Optional. The name of this actor. + A reference to the underlying actor. + Thrown if the given name is + invalid or already in use + Thrown if deployment, dispatcher + or mailbox configuration is wrong + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + The actor path. + ActorSelection. + + + + Construct an from the given path, which is + parsed for wildcards (these are replaced by regular expressions + internally). No attempt is made to verify the existence of any part of + the supplied path, it is recommended to send a message and gather the + replies in order to resolve the matching set of actors. + + The actor path. + ActorSelection. + + + + Marker trait to show which Messages are automatically handled by Akka.NET + + + + + When Death Watch is used, the watcher will receive a Terminated(watched) message when watched is terminated. + Terminated message can't be forwarded to another actor, since that actor might not be watching the subject. + Instead, if you need to forward Terminated to another actor you should send the information in your own message. + + + + + Initializes a new instance of the class. + + the watched actor that terminated + is false when the Terminated message was not sent directly from the watched actor, but derived from another source, such as when watching a non-local ActorRef, which might not have been resolved + the Terminated message was derived from that the remote node hosting the watched actor was detected as unreachable + + + + The watched actor that terminated + + + + + Is false when the Terminated message was not sent + directly from the watched actor, but derived from another source, such as + when watching a non-local ActorRef, which might not have been resolved + + + + + The Terminated message was derived from that the remote node hosting the watched actor was detected as unreachable + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Request to an to get back the identity of the underlying actors. + + + + + Initializes a new instance of the class. + + A correlating ID used to distinguish multiple requests to the same receiver. + + + + A correlating ID used to distinguish multiple requests to the same receiver. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Response to the message, get identity by Sender + + + + + Initializes a new instance of the class. + + The same correlating ID used in the original message. + A reference to the underyling actor. + + + + The same correlating ID used in the original message. + + + + + A reference to the underyling actor. + + Will be null if sent an that could not be resolved. + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Sending a to an will stop the actor when the message + is processed. is enqueued as ordinary messages and will be handled after + messages that were already queued in the mailbox. + See also which causes the actor to throw an when + it processes the message, which gets handled using the normal supervisor mechanism, and + which causes the actor to stop without processing any more messages. + + + + + The singleton instance of PoisonPill. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Sending an message to an actor causes the actor to throw an + when it processes the message, which gets handled using the normal supervisor mechanism. + See also which causes the actor to stop when the + is processed, without throwing an exception, and + which causes the actor to stop without processing any more messages. + + + + + The singleton instance of Kill. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + INTERNAL API + + Used for remote death watch. Failure detectors publish this to the + when a remote node is detected to be unreachable and / or decided + to be removed. + + The watcher subscribes to the and translates this + event to , which is sent to itself. + + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + A shared interface for both and , + both of which can be sent messages via the command. + + + + + Asynchronously delivers a message to this or + in a non-blocking fashion. Uses "at most once" delivery semantics. + + The message to be sent to the target. + The sender of this message. Defaults to if left to null. + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + The singleton instance of this comparer + + + + + + + + is an actor-like object to be listened by external objects. + It can watch other actors lifecycle and contains inner actor, which could be passed + as reference to other actors. + + + + + Get a reference to internal actor. It may be for example registered in event stream. + + + + + Receive a next message from current with default timeout. This call will return immediately, + if the internal actor previously received a message, or will block until it'll receive a message. + + TBD + + + + Receive a next message from current . This call will return immediately, + if the internal actor previously received a message, or will block for time specified by + until it'll receive a message. + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Receive a next message satisfying specified under default timeout. + + TBD + TBD + + + + Receive a next message satisfying specified under provided . + + TBD + TBD + TBD + + + + Makes an internal actor act as a proxy of a given , + which is sent to a given target actor. It means, that all 's + replies will be sent to current inbox instead. + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Make the inbox’s actor watch the actor such that + reception of the message can then be awaited. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Receive a single message from actor with default timeout. + NOTE: Timeout resolution depends on system's scheduler. + + + Don't use this method within actors, since it block current thread until a message is received. + + TBD + + + + Receive a single message from actor. + Provided is used for cleanup purposes. + NOTE: resolution depends on system's scheduler. + + + Don't use this method within actors, since it block current thread until a message is received. + + TBD + + This exception is thrown if the inbox received a response message or + it didn't receive a response message by the given . + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the inbox received a response message or + it didn't receive a response message by the given . + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + if set to true the method has been called directly or indirectly by a + user's code. Managed and unmanaged resources will be disposed.
+ if set to false the method has been called by the runtime from inside the finalizer and only + unmanaged resources can be disposed. +
+ + + Marker Interface INoSerializationVerificationNeeded, this interface prevents + implementing message types from being serialized if configuration setting 'akka.actor.serialize-messages' is "on" + + + + + Marker interface to indicate that a message might be potentially harmful; + this is used to block messages coming in over remoting. + + + + + Interface IUntypedActorContext + + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a binding of an actor deployment to a local system. + + + + + This class represents a surrogate of a binding. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The singleton instance of this scope. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method ignores the given scope and returns the singleton instance of this scope. + + + The used for fallback configuration. + The singleton instance of this scope + + + + Creates a copy of the current instance. + + + This method returns the singleton instance of this scope. + + + The singleton instance of this scope + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Envelope class, represents a message and the sender of the message. + + + + + Initializes a new instance of the struct. + + The message being sent. + The actor who sent the message. + The current actor system. + + This exception is thrown if the given is undefined. + + + + + Initializes a new instance of the struct. + + The message being sent. + The actor who sent the message. + + + + Gets or sets the sender. + + The sender. + + + + Gets or sets the message. + + The message. + + + + Converts the to a string representation. + + A string. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Creates the PipeTo pattern for automatically sending the results of completed tasks + into the inbox of a designated Actor + + + + + Pipes the output of a Task directly to the 's mailbox once + the task completes + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + Pipes the output of a Task directly to the 's mailbox once + the task completes. As this task has no result, only exceptions will be piped to the + + TBD + TBD + TBD + TBD + TBD + TBD + + + + This class represents a configuration object used in creating an actor. + It is immutable and thus thread-safe. + + + private Props props = Props.Empty(); + private Props props = Props.Create(() => new MyActor(arg1, arg2)); + + private Props otherProps = props.WithDispatcher("dispatcher-id"); + private Props otherProps = props.WithDeploy(deployment info); + + + + + + + This class represents a surrogate of a configuration object. + Its main use is to help during the serialization process. + + + + + The type of actor to create + + + + + The configuration used to deploy the actor. + + + + + The arguments used to create the actor. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + + + + + + + A pre-configured that doesn't create actors. + + + The value of this field is null. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that is being cloned. + + + + Initializes a new instance of the class. + + + configured in this way uses the deployer. + + + The type of the actor to create. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + + configured in this way uses the deployer. + + + The type of the actor to create. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The configuration used to deploy the actor. + The type of the actor to create. + The arguments needed to create the actor. + + This exception is thrown if is not instantiated with an actor type. + + + + + Initializes a new instance of the class. + + The configuration used to deploy the actor. + The type of the actor to create. + The arguments needed to create the actor. + This exception is thrown if is an unknown actor producer. + + + + The type of the actor that is created. + + + + + The dispatcher used in the deployment of the actor. + + + + + The mailbox used in the deployment of the actor. + + + + + The assembly qualified name of the type of the actor that is created. + + + + + The router used in the deployment of the actor. + + + + + The configuration used to deploy the actor. + + + + + The supervisor strategy used to manage the actor. + + + + + A pre-configured that creates an actor that doesn't respond to messages. + + + + + The arguments needed to create the actor. + + + + + Creates an actor using a specified lambda expression. + + The type of the actor to create. + The lambda expression used to create the actor. + Optional: The supervisor strategy used to manage the actor. + The newly created . + The create function must be a 'new T (args)' expression + + + + Creates an actor using the given arguments. + + The type of the actor to create. + The arguments needed to create the actor. + The newly created . + + + + Creates an actor using a specified actor producer. + + The type of producer used to create the actor. + The arguments needed to create the actor. + The newly created . + + + + Creates an actor using a specified supervisor strategy. + + The type of the actor to create. + The supervisor strategy used to manage the actor. + The newly created . + + + + Creates an actor of a specified type. + + The type of the actor to create. + The arguments needed to create the actor. + The newly created . + Props must be instantiated with an actor type. + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The mailbox used when deploying the actor. + A new with the provided . + + + + Creates a new with a given . + + + This method is immutable and returns a new instance of . + + + The dispatcher used when deploying the actor. + A new with the provided . + + + + Creates a new with a given router. + + + This method is immutable and returns a new instance of . + + + The router used when deploying the actor. + A new with the provided . + + + + Creates a new with a given deployment configuration. + + + This method is immutable and returns a new instance of . + + + The configuration used to deploy the actor. + A new with the provided . + + + + Creates a new with a given supervisor strategy. + + + This method is immutable and returns a new instance of . + + + The supervisor strategy used to manage the actor. + A new with the provided . + + + + Creates a new actor using the configured actor producer. + + + This method is only useful when called during actor creation by the ActorSystem. + + + + This exception is thrown if there was an error creating an actor of type + with the arguments from . + + The newly created actor + + + + Creates a copy of the current instance. + + The newly created + + + + This class represents a specialized that doesn't respond to messages. + + + + + Handles messages received by the actor. + + The message past to the actor. + + + + Signals the producer that it can release its reference to the actor. + + The actor to release + + + + This class represents a specialized used when the actor has been terminated. + + + + + N/A + + This exception is thrown automatically since the actor has been terminated. + N/A + + + + This class represents a specialized that uses dynamic invocation + to create new actor instances, rather than a traditional . + + + This is intended to be used in conjunction with Dependency Injection. + + + The type of the actor to create. + + + + Initializes a new instance of the class. + + The factory method used to create an actor. + + + + Creates a new actor using the configured factory method. + + The actor created using the factory method. + + + + Creates a copy of the current instance. + + The newly created + + + + This interface defines a class of actor creation strategies deviating from + the usual default of just reflectively instantiating the Actor + subclass. It can be used to allow a dependency injection framework to + determine the actual actor class and how it shall be instantiated. + + + + + This factory method must produce a fresh actor instance upon each + invocation. It is not permitted to return the same instance more than + once. + + A fresh actor instance. + + + + This method is used by to determine the type of actor to create. + The returned type is not used to produce the actor. + + The type of the actor created. + + + + This method is used by to signal the producer that it can + release it's reference. + + + To learn more about using Dependency Injection in .NET, see HERE. + + + The actor to release + + + + Delegate Receive + + The message. + + + + TBD + + + + + TBD + + + + + Creates and pushes a new MatchBuilder + + + + + TBD + + TBD + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + Configures the new handler by calling the different Receive overloads. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + Configures the new handler by calling the different Receive overloads. + + + + Registers an asynchronous handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + + + + Registers an asynchronous handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + When not null it is used to determine if the message matches. + The message handler that is invoked for incoming messages of the specified type + + + + Registers an asynchronous handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + + + + Registers an asynchronous handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + When not null it is used to determine if the message matches. + The message handler that is invoked for incoming messages of the specified + + + + Registers an asynchronous handler for incoming messages of any type. + The actor will be suspended until the task returned by completes. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The message handler that is invoked for all + + + + Registers a handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified type . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified type + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + If !=null then it must return true before a message is passed to . + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the specified + When not null it is used to determine if the message matches. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified type . + The handler should return true if it has handled the message. + If the handler returns true no more handlers will be tried; otherwise the next registered handler will be tried. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the + specified type . It should return trueif it handled/matched + the message; false otherwise. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of the specified . + The handler should return true if it has handled the message. + If the handler returns true no more handlers will be tried; otherwise the next registered handler will be tried. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The type of the message + The message handler that is invoked for incoming messages of the + specified type . It should return trueif it handled/matched + the message; false otherwise. + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + Registers a handler for incoming messages of any type. + This method may only be called when constructing the actor or from or . + Note that handlers registered prior to this may have handled the message already. + In that case, this handler will not be invoked. + + The message handler that is invoked for all + This exception is thrown if this method is called outside of the actor's constructor or from . + + + + This message is sent to an actor that has set a receive timeout, either by calling + Context.SetReceiveTimeout or + SetReceiveTimeout + and no message has been sent to the actor during the specified amount of time. + + + + + Gets the singleton instance. + + + + + This class represents a binding of an actor deployment to a remote system. + Actors in this scope are deployed to a specified . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The address to which actors are deployed. + + + + The address to which actors are deployed. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method ignores the given scope and returns the current instance. + + + The used for fallback configuration. + The instance of this scope + + + + Creates a new that uses the current . + + The newly created + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Initialize: make a dummy cell which holds just a mailbox, then tell our + supervisor that we exist so that he can create the real Cell in + handleSupervise(). + + TBD + This exception is thrown if this function is called more than once. + TBD + + + + This method is supposed to be called by the supervisor in HandleSupervise() + to replace the UnstartedCell with the real one. It assumes no concurrent + modification of the `underlying` field, though it is safe to send messages + at any time. + + This exception is thrown if the underlying cell is undefined. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + This exception is thrown if this property is called before actor is initialized (). + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + INTERNAL API. + + Used by + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Top-level anchor for the supervision hierarchy of this actor system. + Note: This class is called theOneWhoWalksTheBubblesOfSpaceTime in Akka + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is undefined. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + N/A + + + + Obsolete. Use instead. + + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + + + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + This implementation is built using a revolving wheel of buckets + with each bucket belonging to a specific time resolution. As the "clock" of the scheduler ticks it advances + to the next bucket in the circle and processes the items in it, and optionally reschedules recurring + tasks into the future into the next relevant bucket. + + There are `akka.scheduler.ticks-per-wheel` initial buckets (we round up to the nearest power of 2) with 512 + being the initial default value. The timings are approximated and are still limited by the ceiling of the operating + system's clock resolution. + + Further reading: http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf + Presentation: http://www.cse.wustl.edu/~cdgill/courses/cs6874/TimingWheels.ppt + + + + + TBD + + TBD + TBD + TBD + + + + 0 - init, 1 - started, 2 - shutdown + + + + + Normalize a wheel size to the nearest power of 2. + + The original input per wheel. + normalized to the nearest power of 2. + + + + Scheduler thread entry method + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + INTERNAL API. + + + + + The cancellation handle, if any + + + + + The task to be executed + + + + + Used to determine the delay for repeatable sends + + + + + The deadline for determining when to execute + + + + + Determines if this task will need to be re-scheduled according to its . + + + + + If true, we skip execution of this task. + + + + + The to which this registration belongs. + + + + + Resets all of the fields so this registration object can be used again + + + + + Adds a to this bucket. + + The scheduled task. + + + + Slot a repeating task into the "reschedule" linked list. + + The registration scheduled for repeating + + + + Empty this bucket + + A set of registrations to populate. + + + + Reset the reschedule list for this bucket + + A set of registrations to populate. + + + + Execute all s that are due by or after . + + The execution time. + + + + A scheduler able of scheduling actions + + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before the action is invoked. + The action to perform. + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + + + + TBD + + + + + Marks that an uses , + i.e. system time, to provide . + + + + + TBD + + + + + Gets the advanced scheduler which will allow you to schedule actions. + Note! It's considered bad practice to use concurrency inside actors and very easy to get wrong so usage is discouraged. + + + + + A scheduler that's able to schedule sending messages. + + + + Schedules to send a message once after a specified period of time. + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + + + Schedules to send a message once after a specified period of time. + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message has been sent, it cannot be canceled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message has been sent, it cannot be canceled. + + + + TBD + + + + + Gets the scheduler's notion of current time. + + + + + TBD + + + + + TBD + + + + + Abstract base class for implementing any custom implementation used by Akka.NET. + + All constructed schedulers are expected to support the and arguments + provided on the default constructor for this class. + + + + + The configuration section for a specific implementation. + + + + + The provided by the at startup. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + The current time since startup, as determined by the monotonic clock implementation. + + + Typically uses in most implementations, but in some cases a + custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit. + + + + + The current time since startup, as determined by the high resolution monotonic clock implementation. + + + Typically uses in most implementations, but in some cases a + custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + This exception is thrown if the given is negative or zero. + + + + TBD + + TBD + TBD + This exception is thrown if the given is negative. + + + + An that is thrown by the methods + when scheduling is not possible, e.g. after shutting down the . + + + + + TBD + + TBD + + + + TBD + + + + Schedules to send a message once after a specified period of time. + The scheduler + The time in milliseconds that has to pass before the message is sent. + The receiver. + The message. + The sender. + OPTIONAL. An that can be used to cancel sending of the message. Note that once the message has been sent, it cannot be canceled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time in milliseconds that has to pass before the first message is sent. + The interval, i.e. the time in milliseconds that has to pass between messages are being sent. + The receiver. + The message. + The sender. + OPTIONAL. An that can be used to cancel sending of the message. Note that once the message has been sent, it cannot be canceled. + + + + Schedules an action to be invoked after an delay. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor. + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The scheduler + The time in milliseconds that has to pass before the action is invoked. + The action to perform. + OPTIONAL. A cancelable that can be used to cancel the action from being executed. Defaults to null + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + The action will be wrapped so that it completes inside the currently active actor if it is called from within an actor + Note! It's considered bad practice to use concurrency inside actors, and very easy to get wrong so usage is discouraged. + + The scheduler + The time in milliseconds that has to pass before first invocation. + The interval, i.e. the time in milliseconds that has to pass before the action is invoked again. + The action to perform. + OPTIONAL. A cancelable that can be used to cancel the action from being executed. Defaults to null + + + Schedules to send a message once after a specified period of time. + The scheduler + The time period that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message once after a specified period of time. + The scheduler + The time in milliseconds that has to pass before the message is sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time period that has to pass before the first message is sent. + The interval, i.e. the time period that has to pass between messages are being sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + Schedules to send a message repeatedly. The first message will be sent after the specified initial delay and there after at the rate specified. + The scheduler + The time in milliseconds that has to pass before the first message is sent. + The interval, i.e. the time in milliseconds that has to pass between messages are sent. + The receiver. + The message. + The sender. + An that can be used to cancel sending of the message. Once the message already has been sent, it cannot be cancelled. + + + + Schedules an action to be invoked after an delay. + + The scheduler + The time period that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an delay. + + The scheduler + The time in milliseconds that has to pass before the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + + The scheduler + The time period that has to pass before first invocation. + The interval, i.e. the time period that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + Schedules an action to be invoked after an initial delay and then repeatedly. + + The scheduler + The time in milliseconds that has to pass before first invocation. + The interval, i.e. the time in milliseconds that has to pass between the action is invoked. + The action to perform. + A cancelable that can be used to cancel the action from being executed + + + + This class provides base functionality when defining a system binding (e.g. local/remote/cluster) used during actor deployment. + + + + + A binding that binds actor deployments to the local system. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method is immutable and returns a new instance of . + + + The used for fallback configuration. + A new using for fallback configuration. + + + + Creates a copy of the current instance. + + The newly created + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + This class represents a binding of an actor deployment to an unspecified system. + + + + + The singleton instance of this scope. + + + + + Creates a new from this scope using another + to backfill options that might be missing from this scope. + + + This method returns the given scope unaltered. + + + The used for fallback configuration. + The scope passed in as the parameter. + + + + Creates a copy of the current instance. + + + This method returns a singleton instance of this scope. + + + The singleton instance of this scope + + + + Settings are the overall ActorSystem Settings which also provides a convenient access to the Config object. + For more detailed information about the different possible configuration options, look in the Akka .NET + Documentation under "Configuration" + + + + + Combines the user config and the fallback chain of configs + + + + + Injects a system config at the top of the fallback chain + + TBD + + + + Initializes a new instance of the class. + + The system. + The configuration. + + This exception is thrown if the 'akka.actor.provider' configuration item is not a valid type name or a valid actor ref provider. + + + + + Gets the system. + + The system. + + + + Gets the configuration. + + The configuration. + + + + Gets the configuration version. + + The configuration version. + + + + Gets the provider class. + + The provider class. + + + + Gets the supervisor strategy class. + + The supervisor strategy class. + + + + Gets a value indicating whether [serialize all messages]. + + true if [serialize all messages]; otherwise, false. + + + + Gets a value indicating whether [serialize all creators]. + + true if [serialize all creators]; otherwise, false. + + + + Gets the default timeout for calls. + + The ask timeout. + + + + Gets the creation timeout. + + The creation timeout. + + + + Gets the unstarted push timeout. + + The unstarted push timeout. + + + + Gets the log level. + + The log level. + + + + Gets the stdout log level. + + The stdout log level. + + + + Gets the loggers. + + The loggers. + + + + Gets the default loggers dispatcher. + + The loggers dispatcher. + + + + Gets the logger start timeout. + + The logger start timeout. + + + + Gets a value indicating whether [log configuration on start]. + + true if [log configuration on start]; otherwise, false. + + + + Gets the log dead letters. + + The log dead letters. + + + + Gets a value indicating whether [log dead letters during shutdown]. + + true if [log dead letters during shutdown]; otherwise, false. + + + + Gets a value indicating whether [add logging receive]. + + true if [add logging receive]; otherwise, false. + + + + Gets a value indicating whether [debug automatic receive]. + + true if [debug automatic receive]; otherwise, false. + + + + Gets a value indicating whether [debug event stream]. + + true if [debug event stream]; otherwise, false. + + + + Gets a value indicating whether [debug unhandled message]. + + true if [debug unhandled message]; otherwise, false. + + + + Gets a value indicating whether [debug router misconfiguration]. + + true if [debug router misconfiguration]; otherwise, false. + + + + Gets the home. + + The home. + + + + Gets a value indicating whether [debug lifecycle]. + + true if [debug lifecycle]; otherwise, false. + + + + TBD + + + + + The number of default virtual nodes to use with . + + + + + Gets the scheduler implementation used by this system. + + + + + TBD + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + Marker interface for adding stash support + + + + + Gets or sets the stash. This will be automatically populated by the framework AFTER the constructor has been run. + Implement this as an auto property. + + + The stash. + + + + + TBD + + + + + Stash plugin is applied to all actors implementing interface. + + TBD + TBD + + + + Creates a new stash for specified if it has not been initialized already. + + TBD + TBD + + + + Ensures, that all stashed messages inside stash have been unstashed. + + TBD + TBD + + + + Public interface used to expose stash capabilities to user-level actors + + + + + Stashes the current message (the message that the actor received last) + + + + + Unstash the oldest message in the stash and prepends it to the actor's mailbox. + The message is removed from the stash. + + + + + Unstashes all messages by prepending them to the actor's mailbox. + The stash is guaranteed to be empty afterwards. + + + + + Unstashes all messages selected by the predicate function. Other messages are discarded. + The stash is guaranteed to be empty afterwards. + + TBD + + + + Returns all messages and clears the stash. + The stash is guaranteed to be empty afterwards. + + TBD + + + + TBD + + TBD + + + + Lets the know that this Actor needs stash support + with restricted storage capacity + You need to add the property: + public IStash Stash { get; set; } + + + + + Lets the know that this Actor needs stash support + with unrestricted storage capacity. + You need to add the property: + public IStash Stash { get; set; } + + + + + Static factor used for creating Stash instances + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given implements an unrecognized subclass of . + + TBD + + + + This exception is thrown when the size of the Stash exceeds the capacity of the stash. + + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Base class for supervision strategies + + + + + TBD + + + + + Handles the specified child. + + The actor that caused the evaluation to occur + The exception that caused the evaluation to occur. + Directive. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + This is the main entry point: in case of a child’s failure, this method + must try to handle the failure by resuming, restarting or stopping the + child (and returning `true`), or it returns `false` to escalate the + failure, which will lead to this actor re-throwing the exception which + caused the failure. The exception will not be wrapped. + This method calls , which will + log the failure unless it is escalated. You can customize the logging by + setting to `false` and + do the logging inside the `decider` or override the `LogFailure` method. + + The actor cell. + The child actor. + The cause. + The stats for the failed child. + TBD + true if XXXX, false otherwise. + + + + When supervisorStrategy is not specified for an actor this + Decider is used by default in the supervisor strategy. + The child will be stopped when , + , or is + thrown. It will be restarted for other `Exception` types. + The error is escalated if it's a `Exception`, i.e. `Error`. + + Directive. + + + + Restarts the child. + + The child. + The cause. + if set to true [suspend first]. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + This method is called to act on the failure of a child: restart if the flag is true, stop otherwise. + + The actor context. + if set to true restart, stop otherwise. + The child actor + The exception that caused the child to fail. + The stats for the child that failed. The ActorRef to the child can be obtained via the property + The stats for all children + + + + Resume the previously failed child: do never apply this to a child which + is not the currently failing child. Suspend/resume needs to be done in + matching pairs, otherwise actors will wake up too soon or never at all. + + The child. + The exception. + + + + Logs the failure. + + The actor cell. + The child. + The cause. + The directive. + + + + Determines if failures are logged + + + + + When supervisorStrategy is not specified for an actor this + is used by default. OneForOneStrategy with decider defined in + . + + The default. + + + + This strategy resembles Erlang in that failing children are always + terminated (one-for-one). + + + + + This method is called after the child has been removed from the set of children. + It does not need to do anything special. Exceptions thrown from this method + do NOT make the actor fail if this happens during termination. + + TBD + TBD + TBD + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Class OneForOneStrategy. This class cannot be inherited. + The result of this strategy is applied only to the failing child + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, System.Threading.Timeout.InfiniteTimeSpan means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, System.Threading.Timeout.InfiniteTimeSpan means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + only to the child that failed, as opposed to that applies + it to all children when one failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + mapping from Exception to + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + mapping from Exception to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Serialization-friendly constructor + + + + + Handles the specified child. + + The child. + The x. + Directive. + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Determines if failures are logged + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + This exception is thrown if the is of type . + The surrogate representation of the current . + + + + + + + + + + + + + Class AllForOneStrategy. This class cannot be inherited. + The result of this strategy is applied to the failed child and all its siblings. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value and null means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value and null means no limit, + if the limit is exceeded the child actor is stopped. + + duration of the time window for maxNrOfRetries, means no window. + mapping from Exception to + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Applies the fault handling `Directive` (Resume, Restart, Stop) specified in the `Decider` + to all children when one fails, as opposed to that applies + it only to the child actor that failed. + + + the number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + duration in milliseconds of the time window for , negative values means no window. + Mapping from an to + If true failures will be logged + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Constructor that accepts only a decider and uses reasonable defaults for the other settings + + TBD + + + + Serialization-friendly constructor + + + + + Determines what to do with the child when the given exception occurs. + + The child. + The x. + Directive. + + + + Obsolete. Use instead. + + N/A + N/A + N/A + N/A + N/A + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of times a child actor is allowed to be restarted, negative value means no limit, + if the limit is exceeded the child actor is stopped. + + + + + The duration in milliseconds of the time window for , negative values means no window. + + + + + The mapping from an to + + + + + Determines if failures are logged + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + + + + + + + + + + Collection of failures, used to keep track of how many times a given actor have failed. + + + + + Initializes a new instance of the class. + + + + + Gets the entries. + + The entries. + + + + Represents a single failure. + + + + + The exception that caused the failure. + + The exception. + + + + The timestamp when the failure occurred. + + The timestamp. + + + + Enum Directive for supervisor actions + + + + + Resumes message processing for the failed Actor + + + + + Discards the old Actor instance and replaces it with a new, + then resumes message processing. + + + + + Escalates the failure to the supervisor of the supervisor, + by rethrowing the cause of the failure, i.e. the supervisor fails with + the same exception as the child. + + + + + Stops the Actor + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + + + + + + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if the given is undefined or references an unknown type. + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + Interface IHandle + + The type of the t message. + + + + Handles the specified message. + + The message. + + + + Class TypedActor. + + + + + Processor for user defined messages. + + The message. + TBD + + + + Class UntypedActor. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + To be implemented by concrete UntypedActor, this defines the behavior of the UntypedActor. + This method is called for every message received by the actor. + + The message. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + + The new message handler. + + + + Changes the actor's behavior and replaces the current receive handler with the specified handler. + The current handler is stored on a stack, and you can revert to it by calling + Please note, that in order to not leak memory, make sure every call to + is matched with a call to . + + The new message handler. + + + + TBD + + + + + Delegate UntypedReceive + + The message. + + + + This class represents the main configuration object used by Akka.NET + when configuring objects within the system. To put it simply, it's + the internal representation of a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The root node to base this configuration. + This exception is thrown if the given value is undefined. + + + + Initializes a new instance of the class. + + The configuration to use as the primary source. + The configuration to use as a secondary source. + This exception is thrown if the given is undefined. + + + + The configuration used as a secondary source. + + + + + Determines if this root node contains any values + + + + + The root node of this configuration section + + + + + An enumeration of substitutions values + + + + + Generates a deep clone of the current configuration. + + A deep clone of the current configuration + + + + Retrieves a boolean value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The boolean value defined in the specified path. + + + + Retrieves a long value, optionally suffixed with a 'b', from the specified path in the configuration. + + The path that contains the value to retrieve. + This exception is thrown if the current node is undefined. + The long value defined in the specified path. + + + + Retrieves an integer value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The integer value defined in the specified path. + + + + Retrieves a long value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The long value defined in the specified path. + + + + Retrieves a string value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The string value defined in the specified path. + + + + Retrieves a float value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The float value defined in the specified path. + + + + Retrieves a decimal value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The decimal value defined in the specified path. + + + + Retrieves a double value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + This exception is thrown if the current node is undefined. + The double value defined in the specified path. + + + + Retrieves a list of boolean values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of boolean values defined in the specified path. + + + + Retrieves a list of decimal values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of decimal values defined in the specified path. + + + + Retrieves a list of float values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of float values defined in the specified path. + + + + Retrieves a list of double values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of double values defined in the specified path. + + + + Retrieves a list of int values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of int values defined in the specified path. + + + + Retrieves a list of long values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of long values defined in the specified path. + + + + Retrieves a list of byte values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of byte values defined in the specified path. + + + + Retrieves a list of string values from the specified path in the configuration. + + The path that contains the values to retrieve. + This exception is thrown if the current node is undefined. + The list of string values defined in the specified path. + + + + Retrieves a new configuration from the current configuration + with the root node being the supplied path. + + The path that contains the configuration to retrieve. + This exception is thrown if the current node is undefined. + A new configuration with the root node being the supplied path. + + + + Retrieves a from a specific path. + + The path that contains the value to retrieve. + This exception is thrown if the current node is undefined. + The found at the location if one exists, otherwise null. + + + + Retrieves a value from the specified path in the configuration. + + The path that contains the value to retrieve. + The default value to return if the value doesn't exist. + true if infinite timespans are allowed; otherwise false. + This exception is thrown if the current node is undefined. + The value defined in the specified path. + + + + Converts the current configuration to a string. + + A string containing the current configuration. + + + + Converts the current configuration to a string + + if true returns string with current config combined with fallback key-values else only current config key-values + TBD + + + + Configure the current configuration with a secondary source. + + The configuration to use as a secondary source. + This exception is thrown if the given is a reference to this instance. + The current configuration configured with the specified fallback. + + + + Determine if a HOCON configuration element exists at the specified location + + The location to check for a configuration value. + This exception is thrown if the current node is undefined. + true if a value was found, false otherwise. + + + + Adds the supplied configuration string as a fallback to the supplied configuration. + + The configuration used as the source. + The string used as the fallback configuration. + The supplied configuration configured with the supplied fallback. + + + + Adds the supplied configuration as a fallback to the supplied configuration string. + + The configuration string used as the source. + The configuration used as the fallback. + A configuration configured with the supplied fallback. + + + + Performs an implicit conversion from to . + + The string that contains a configuration. + A configuration based on the supplied string. + + + + Retrieves an enumerable key value pair representation of the current configuration. + + The current configuration represented as an enumerable key value pair. + + + + A static "Empty" configuration we can use instead of null in some key areas. + + + + + This class contains convenience methods for working with . + + + + + Retrieves the current configuration or the fallback + configuration if the current one is null. + + The configuration used as the source. + The configuration to use as a secondary source. + The current configuration or the fallback configuration if the current one is null. + + + + Determines if the supplied configuration has any usable content period. + + The configuration used as the source. + true> if the is null or ; otherwise false. + + + + The exception that is thrown when a configuration is invalid. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + This class contains methods used to retrieve configuration information + from a variety of sources including user-supplied strings, configuration + files and assembly resources. + + + + + Generates an empty configuration. + + + + + Generates a configuration defined in the supplied + HOCON (Human-Optimized Config Object Notation) string. + + A string that contains configuration options to use. + callback used to resolve includes + The configuration defined in the supplied HOCON string. + + + + Generates a configuration defined in the supplied + HOCON (Human-Optimized Config Object Notation) string. + + A string that contains configuration options to use. + The configuration defined in the supplied HOCON string. + + + + Loads a configuration defined in the current application's + configuration file, e.g. app.config or web.config + + The configuration defined in the configuration file. + + + + Retrieves the default configuration that Akka.NET uses + when no configuration has been defined. + + The configuration that contains default values for all options. + + + + Retrieves a configuration defined in a resource of the + current executing assembly. + + The name of the resource that contains the configuration. + The configuration defined in the current executing assembly. + + + + Retrieves a configuration defined in a resource of the + assembly containing the supplied instance object. + + The name of the resource that contains the configuration. + An instance object located in the assembly to search. + The configuration defined in the assembly that contains the instanced object. + + + + Retrieves a configuration defined in a resource of the assembly + containing the supplied type . + + A type located in the assembly to search. + The name of the resource that contains the configuration. + The configuration defined in the assembly that contains the type . + + + + Retrieves a configuration defined in a resource of the supplied assembly. + + The name of the resource that contains the configuration. + The assembly that contains the given resource. + The configuration defined in the assembly that contains the given resource. + + + + Creates a configuration based on the supplied source object + + The source object + The configuration created from the source object + + + + This class represents an array element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + cluster { + seed-nodes = [ + "akka.tcp://ClusterSystem@127.0.0.1:2551", + "akka.tcp://ClusterSystem@127.0.0.1:2552"] + } + } + + + + + + Determines whether this element is a string. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an array and not a string. + + + + + Determines whether this element is an array. + + true + + + + Retrieves a list of elements associated with this element. + + + A list of elements associated with this element. + + + + + Returns a HOCON string representation of this element. + + A HOCON string representation of this element. + + + + This class represents a string literal element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + actor { + provider = "Akka.Remote.RemoteActorRefProvider, Akka.Remote" + } + } + + + + + + Gets or sets the value of this element. + + + + + Determines whether this element is a string. + + true + + + + Retrieves the string representation of this element. + + The value of this element. + + + + Determines whether this element is an array. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is a string literal and not an array. + + + + + Returns the string representation of this element. + + The value of this element. + + + + This class represents an object element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + actor { + debug { + receive = on + autoreceive = on + lifecycle = on + event-stream = on + unhandled = on + } + } + } + + + + + + Initializes a new instance of the class. + + + + + Retrieves the underlying map that contains the barebones + object values. + + + + + Retrieves the underlying map that this element is based on. + + + + + Determines whether this element is a string. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an object and not a string. + + + + + Determines whether this element is an array. + + false + + + + N/A + + N/A + + This exception is thrown automatically since this element is an object and not an array. + + + + + Retrieves the value associated with the supplied key. + + The key associated with the value to retrieve. + + The value associated with the supplied key or null + if they key does not exist. + + + + + Retrieves the value associated with the supplied key. + If the supplied key is not found, then one is created + with a blank value. + + The key associated with the value to retrieve. + The value associated with the supplied key. + + + + Returns a HOCON string representation of this element. + + A HOCON string representation of this element. + + + + Returns a HOCON string representation of this element. + + The number of spaces to indent the string. + A HOCON string representation of this element. + + + + Merges the specified object into this instance. + + The object to merge into this instance. + + + + Merges the specified object with this instance producing new one. + + The object to merge into this instance. + + + + This class contains methods used to parse HOCON (Human-Optimized Config Object Notation) + configuration strings. + + + + + Parses the supplied HOCON configuration string into a root element. + + The string that contains a HOCON configuration string. + Callback used to resolve includes + This exception is thrown if an unresolved substitution or an unknown token is encountered. + This exception is thrown if the end of the file has been reached while trying to read a value. + The root element created from the supplied HOCON configuration string. + + + + Retrieves the next value token from the tokenizer and appends it + to the supplied element . + + The element to append the next token. + The location in the HOCON object hierarchy that the parser is currently reading. + This exception is thrown if the end of the file has been reached while trying to read a value. + + + + Retrieves the next array token from the tokenizer. + + The location in the HOCON object hierarchy that the parser is currently reading. + An array of elements retrieved from the token. + + + + This class represents the root element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value to associate with this element. + An enumeration of substitutions to associate with this element. + + + + Initializes a new instance of the class. + + The value to associate with this element. + + + + Retrieves the value associated with this element. + + + + + Retrieves an enumeration of substitutions associated with this element. + + + + + This class represents a substitution element in a HOCON (Human-Optimized Config Object Notation) + configuration string. + + akka { + defaultInstances = 10 + deployment{ + /user/time{ + nr-of-instances = $defaultInstances + } + } + } + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The path. + + + + The full path to the value which should substitute this instance. + + + + + The evaluated value from the Path property + + + + + Determines whether this element is a string. + + true if this element is a string; otherwise false + + + + Retrieves the string representation of this element. + + The string representation of this element. + + + + Determines whether this element is an array. + + true if this element is aan array; otherwise false + + + + Retrieves a list of elements associated with this element. + + A list of elements associated with this element. + + + + Determines whether this element is a HOCON object. + + true if this element is a HOCON object; otherwise false + + + + Retrieves the HOCON object representation of this element. + + The HOCON object representation of this element. + + + + This enumeration defines the different types of tokens found within + a HOCON (Human-Optimized Config Object Notation) configuration string. + + + + + This token type represents a comment. + + + + + This token type represents the key portion of a key-value pair. + + + + + This token type represents the value portion of a key-value pair. + + + + + This token type represents the assignment operator, = or : . + + + + + This token type represents the beginning of an object, { . + + + + + This token type represents the end of an object, } . + + + + + This token type represents a namespace separator, . . + + + + + This token type represents the end of the configuration string. + + + + + This token type represents the beginning of an array, [ . + + + + + This token type represents the end of an array, ] . + + + + + This token type represents the separator in an array, , . + + + + + This token type represents a replacement variable, $foo . + + + + + This token type represents an include statement. + + + + + This class represents a token within a HOCON (Human-Optimized Config Object Notation) + configuration string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The type of token to associate with. + + + + Initializes a new instance of the class. + + The string literal value to associate with this token. + + + + The value associated with this token. If this token is + a , then this property + holds the string literal. + + + + + The type that represents this token. + + + + + Creates a key token with a given . + + The key to associate with this token. + A key token with the given key. + + + + Creates a substitution token with a given . + + The path to associate with this token. + A substitution token with the given path. + + + + Creates a string literal token with a given . + + The value to associate with this token. + A string literal token with the given value. + + + + This class contains methods used to tokenize a string. + + + + + Adds the current index to the tokenizer's bookkeeping stack. + + + + + Removes an index from the tokenizer's bookkeeping stack. + + + + + Initializes a new instance of the class. + + The string that contains the text to tokenize. + + + + A value indicating whether the tokenizer has reached the end of the string. + + + + + Determines whether the given pattern matches the value at the current + position of the tokenizer. + + The string that contains the characters to match. + true if the pattern matches, otherwise false. + + + + Retrieves a string of the given length from the current position of the tokenizer. + + The length of the string to return. + + The string of the given length. If the length exceeds where the + current index is located, then null is returned. + + + + + Determines whether any of the given patterns match the value at the current + position of the tokenizer. + + The string array that contains the characters to match. + true if any one of the patterns match, otherwise false. + + + + Retrieves the next character in the tokenizer without advancing its position. + + The character at the tokenizer's current position. + + + + Retrieves the next character in the tokenizer. + + The character at the tokenizer's current position. + + + + Advances the tokenizer to the next non-whitespace character. + + + + + This class contains methods used to tokenize HOCON (Human-Optimized Config Object Notation) + configuration strings. + + + + + Initializes a new instance of the class. + + The string that contains the text to tokenize. + + + + Advances the tokenizer to the next non-whitespace, non-comment token. + + + + + Retrieves the current line from where the current token + is located in the string. + + The current line from where the current token is located. + + + + Retrieves the next token from the string. + + This exception is thrown if an unknown token or escape code is encountered. + The next token contained in the string. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches an token. + + true if the token matches; otherwise, false. + + + + Determines whether the current token matches the start of a quoted string. + + true if token matches; otherwise, false. + + + + Determines whether the current token matches the start of a triple quoted string. + + true if token matches; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves an unquoted token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token is an unquoted key. + + true if token is an unquoted key; otherwise, false. + + + + Determines whether the current token is the start of an unquoted key. + + true if token is the start of an unquoted key; otherwise, false. + + + + Determines whether the current token is whitespace. + + true if token is whitespace; otherwise, false. + + + + Determines whether the current token is whitespace or a comment. + + true if token is whitespace or a comment; otherwise, false. + + + + Retrieves a triple quoted token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Retrieves a quoted token from the tokenizer's current position. + + This exception is thrown if an unknown escape code is encountered. + A token from the tokenizer's current position. + + + + Retrieves a quoted token from the tokenizer's current position. + + This exception is thrown if an unknown escape code is encountered. + A token from the tokenizer's current position. + + + + TBD + + This exception is thrown if an unknown escape code is encountered. + TBD + + + + Determines whether the current token is the start of a comment. + + true if token is the start of a comment; otherwise, false. + + + + Retrieves a value token from the tokenizer's current position. + + A value token from the tokenizer's current position. + + This exception is thrown if an unknown token is encountered. Expected values include the following: + Null literal, Array, Quoted Text, Unquoted Text, Triple quoted Text, Object or End of array. + + + + + Determines whether the current token is the start of a substitution. + + true if token is the start of a substitution; otherwise, false. + + + + Determines whether the current token is the start of an include directive. + + This exception is thrown if an unknown escape code is encountered. + true if token is the start of an include directive; otherwise, false. + + + + Retrieves a token from the tokenizer's current position. + + A token from the tokenizer's current position. + + + + Determines whether the current token is a space or a tab. + + true if token is the start of a space or a tab; otherwise, false. + + + + Determines whether the current token is the start of an unquoted string literal. + + true if token is the start of an unquoted string literal; otherwise, false. + + + + Retrieves the current token, including whitespace and tabs, as a string literal token. + + A token that contains the string literal value. + + + + Retrieves the current token as a string literal token. + + + This exception is thrown if the tokenizer cannot find a string literal value from the current token. + + A token that contains the string literal value. + + + + Determines whether the current token is a value. + + true if the current token is a value; otherwise, false. + + + + This class represents the root type for a HOCON (Human-Optimized Config Object Notation) + configuration object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The list of elements inside this HOCON value. + Indicates whether this instance was constructed during association with fallback . + + + + Returns true if this HOCON value doesn't contain any elements + + + + + The list of elements inside this HOCON value + + + + + Marker for values were merged during fallback attaching + serving exclusively to skip rendering such values in + + + + + Wraps this into a new object at the specified key. + + The key designated to be the new root element. + A with the given key as the root element. + + + + Retrieves the from this . + + The that represents this . + + + + Determines if this is a . + + true if this value is a , false otherwise. + + + + Adds the given element to the list of elements inside this . + + The element to add to the list. + + + + Clears the list of elements inside this . + + + + + Creates a fresh list of elements inside this + and adds the given value to the list. + + The element to add to the list. + + + + Determines whether all the elements inside this + are a string. + + + trueif all elements inside this are a string; otherwise false. + + + + + Retrieves the child object located at the given key. + + The key used to retrieve the child object. + The element at the given key. + + + + Retrieves the boolean value from this . + + The boolean value represented by this . + + This exception is thrown if the doesn't + conform to the standard boolean values: "on", "off", "true", or "false" + + + + + Retrieves the string value from this . + + The string value represented by this . + + + + Retrieves the decimal value from this . + + The decimal value represented by this . + + + + Retrieves the float value from this . + + The float value represented by this . + + + + Retrieves the double value from this . + + The double value represented by this . + + + + Retrieves the long value from this . + + The long value represented by this . + + + + Retrieves the integer value from this . + + The integer value represented by this . + + + + Retrieves the byte value from this . + + The byte value represented by this . + + + + Retrieves a list of byte values from this . + + A list of byte values represented by this . + + + + Retrieves a list of integer values from this . + + A list of integer values represented by this . + + + + Retrieves a list of long values from this . + + A list of long values represented by this . + + + + Retrieves a list of boolean values from this . + + A list of boolean values represented by this . + + + + Retrieves a list of float values from this . + + A list of float values represented by this . + + + + Retrieves a list of double values from this . + + A list of double values represented by this . + + + + Retrieves a list of decimal values from this . + + A list of decimal values represented by this . + + + + Retrieves a list of string values from this . + + A list of string values represented by this . + + + + Retrieves a list of values from this . + + A list of values represented by this . + + + + Determines whether this is an array. + + + true if this is an array; otherwise false. + + + + + Retrieves the time span value from this . + + A flag used to set infinite durations. + + This exception is thrown if the timespan given in the is negative. + + The time span value represented by this . + + + + Retrieves the long value, optionally suffixed with a 'b', from this . + + The long value represented by this . + + + + Returns a HOCON string representation of this . + + A HOCON string representation of this . + + + + Returns a HOCON string representation of this . + + The number of spaces to indent the string. + A HOCON string representation of this . + + + + Marker interface to make it easier to retrieve HOCON + (Human-Optimized Config Object Notation) objects for + substitutions. + + + + + Determines whether this element is a HOCON object. + + true if this element is a HOCON object; otherwise false + + + + Retrieves the HOCON object representation of this element. + + The HOCON object representation of this element. + + + + This interface defines the contract needed to implement + a HOCON (Human-Optimized Config Object Notation) element. + + + + + Determines whether this element is a string. + + true if this element is a string; otherwise false + + + + Retrieves the string representation of this element. + + The string representation of this element. + + + + Determines whether this element is an array. + + true if this element is aan array; otherwise false + + + + Retrieves a list of elements associated with this element. + + A list of elements associated with this element. + + + + Contextual information that's useful for dispatchers + + + + + The that belongs to the current . + + + + + The that belongs to the current . + + + + + The for the current . + + + + + The list of registered for the current . + + + + + The default set of contextual data needed for s + + + + + Default constructor... + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + INTERNAL API - used to configure the executor used by the + + + + + A configurable factory for producing instances. + + The configuration for this type of executor. + The prerequesites for this type of executor. + + + + Executor-specific configuration + + + + + The system prerequisites needed for this dispatcher to do its job + + + + + INTERNAL API + + Produces that dispatches messages using the default . + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + + + + Used by + + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if either 'dedicated-thread-pool' OR 'fork-join-executor' is not defined in . + + + + + TBD + + TBD + TBD + + + + Factory for producing types. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Base class used for hooking new types into + + + + + Takes a object, usually passed in via + + TBD + TBD + + + + System-wide configuration + + + + + The system prerequisites needed for this dispatcher to do its job + + + + + Returns a instance. + + Whether or not this returns a new instance + or returns a reference to an existing instance is an implementation detail of the + underlying implementation. + + TBD + + + + Configures the that will be used inside this dispatcher. + + + This exception is thrown if a custom ExecutorServiceConfiguration implementation cannot be loaded. + + The requested instance. + + + + Class responsible for pushing messages from an actor's mailbox into its + receive methods. Comes in many different flavors. + + + + + TBD + + + + + INTERNAL API - Debugging purposes only! Should be elided by compiler in release builds. + + + + + The default throughput + + + + + The configurator used to configure this message dispatcher. + + + + + Initializes a new instance of the class. + + TBD + + + + The for this dispatcher's actor system + + + + + The list of available for this dispatcher's actor system + + + + + The ID for this dispatcher. + + + + + Gets or sets the throughput deadline time. + + The throughput deadline time. + + + + Gets or sets the throughput. + + The throughput. + + + + INTERNAL API + + When the dispatcher no longer has any actors registered, the determines + how long it will wait until it shuts itself down, defaulting to your Akka.NET config's 'akka.actor.default-dispatcher.shutdown-timeout' + or the system default specified. + + + + + The number of actors attached to this + + + + + Used for executing arbitrary s on this . + + Not used for mailbox runs. + + + + + Schedules the specified delegate. + + The run. + + + + Schedules an arbitrary task to run. + + The run. + + + + Schedules the to be executed. + + The asynchronous task we're going to run + + + + Publish failure that occurred while inside the running + to the . + + The failure to publish. + + + + INTERNAL API + + Called one time every time an actor is detached from this dispatcher and this dispatcher has no actors left attached + + + MUST BE IDEMPOTENT + + + + + Creates and returns a for the given actor. + + Cell of the actor. + The mailbox configurator. + The configured for this actor. + + + + Dispatches a user-defined message from a mailbox to an + + TBD + TBD + + + + Dispatches a from a mailbox to an + + TBD + TBD + + + + Attaches the dispatcher to the + + + Practically, doesn't do very much right now - dispatchers aren't responsible for creating + mailboxes in Akka.NET + + + The ActorCell belonging to the actor who's attaching to this dispatcher. + + + + INTERNAL API + + If you override it, you must still call the base method. But only ever once. See for only invocation. + + The actor we're registering + + + + INTERNAL API + + Suggest to register the provided mailbox for execution + + The mailbox + Do we have any messages? + Do we have any system messages? + true if the was scheduled for execution, otherwise false. + + + + Detaches the dispatcher to the + + + Only really used in dispatchers with 1:1 relationship with dispatcher. + + + The ActorCell belonging to the actor who's detaching from this dispatcher. + + + + INTERNAL API + + If you override it, you must call it. But only ever once. See for the only invocation + + The actor who is unregistering + + + + After the call to this method, the dispatcher mustn't begin any new message processing for the specified reference + + The cell of the actor whose mailbox will be suspended. + + + + After the call to this method, the dispatcher must begin any new message processing for the specified reference + + The cell of the actor whose mailbox will be resumed. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if this method is called outside an actor context. + + + + + INTERNAL API + + A is a that wraps another and is used to + cache path lookup and string retrieval, which we happen to do in some critical paths of the actor creation + and mailbox selection code. + + All other operations are delegated to the wrapped . + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + INTERNAL API + + Produces that dispatches messages on the current synchronization context, + e.g. WinForms or WPF GUI thread + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Used to create instances of the . + + Each actor created using the pinned dispatcher gets its own unique thread. + + Always returns a new instance. + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Behaves like a and always executes using + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the registering is not the owner. + + + + + TBD + + TBD + + + + The event-based binds a set of actors to a thread pool backed up + by a thread-safe queue. + + The preferred way of creating dispatchers is to define them in configuration and use the + method. + + + + + Used to create a default + + The configurator used. + The id of this dispatcher. + The throughput of this dispatcher. + The deadline for completing N (where N = throughput) operations on the mailbox.. + The factory for producing the executor who will do the work. + The graceful stop timeout period. + + + + Schedules the to be executed. + + The asynchronous task we're going to run + + + + INTERNAL API + + Called one time every time an actor is detached from this dispatcher and this dispatcher has no actors left attached + + + MUST BE IDEMPOTENT + + + + + INTERNAL API + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + INTERNAL API + + Executes its tasks using the + + + + + The scheduler + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + ForkJoinExecutorService - custom multi-threaded dispatcher that runs on top of a + , designed to be used for mission-critical actors + that can't afford starvation. + + Relevant configuration options: + + my-forkjoin-dispatcher { + type = ForkJoinDispatcher + throughput = 100 + dedicated-thread-pool { #settings for Helios.DedicatedThreadPool + thread-count = 3 #number of threads + #deadlock-timeout = 3s #optional timeout for deadlock detection + threadtype = background #values can be "background" or "foreground" + } + } + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if this method is called during the shutdown of this executor. + + + + + TBD + + + + + The registry of all instances available to this . + + + + + The default dispatcher identifier, also the full key of the configuration of the default dispatcher. + + + + + The identifier for synchronized dispatchers. + + + + + The list of all configurators used to create instances. + + Has to be thread-safe, as this collection can be accessed concurrently by many actors. + + + + Initializes a new instance of the class. + The system. + The prerequisites required for some instances. + + + Gets the one and only default dispatcher. + + + + The for the default dispatcher. + + + + + INTERNAL API + + Used when a plugin like Akka.Persistence needs to be able to load dispatcher configurations to the chain. + + TBD + + + + The prerequisites required for some instances. + + + + + Returns a dispatcher as specified in configuration. Please note that this method _MAY_ + create and return a new dispatcher on _EVERY_ call. + + TBD + + This exception is thrown if the specified dispatcher cannot be found in the configuration. + + TBD + + + + Checks that configuration provides a section for the given dispatcher. + This does not guarantee that no will be thrown + when using the dispatcher, because the details can only be checked by trying to + instantiate it, which might be undesirable when just checking. + + TBD + + + + INTERNAL API + + Creates a dispatcher from a . Internal test purpose only. + + From(Config.GetConfig(id)); + + + The Config must also contain an `id` property, which is the identifier of the dispatcher. + + The provided configuration section. + + This exception is thrown if the specified dispatcher cannot be found in . + It can also be thrown if the dispatcher path or type cannot be resolved. + + An instance of the , if valid. + + + + Register a that will be used by + and instead of looking up the configurator from the system + configuration. + + This enables dynamic addition of dispatchers. + + + A for a certain id can only be registered once, + i.e. it can not be replaced. It is safe to call this method multiple times, but only the + first registration will be used. + + + TBD + TBD + This method returns true if the specified configurator was successfully registered. + + + + INTERNAL API + + + + + The cached factory that gets looked up via configuration + inside + + + + + Used to configure and produce instances for use with actors. + + The configuration for this dispatcher. + System pre-reqs needed to run this dispatcher. + + + + Returns a instance. + + Whether or not this returns a new instance + or returns a reference to an existing instance is an implementation detail of the + underlying implementation. + + TBD + + + + Used by the to execute asynchronous invocations + + + + + TBD + + TBD + + + + The Id of the this executor is bound to + + + + + Queues or executes (depending on the implementation) the + + The asynchronous task to be executed + Thrown when the service can't accept additional tasks. + + + + Terminates this instance. + + + + + INTERNAL API + + Used to produce instances for use inside s + + + + + TBD + + TBD + TBD + + + + Thrown when a implementation rejects + + + + + TBD + + TBD + TBD + + + + Class FutureActor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The completion source. + The respond to. + + + + Processor for user defined messages. + + The message. + TBD + + + + Used to help give hints to the as to what types of this + actor requires. Used mostly for system actors. + + The type of required + + + + An asynchronous opreation will be executed by a . + + + + + TBD + + + + + which executes an + + + + + TBD + + TBD + + + + TBD + + + + + which executes an and an representing the state. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Semantics for message queues that support multiple consumers + + + + + Semantics for message queues that have an unbounded size + + + + + Semantics for message queues that have a bounded size + + + + + The enqueue time to wait until message is dropped to deadletters if the message queue is full + + + + + Semantics for message queues that are blocking + + + + + The time to wait on a lock before throwing an timeout exception. + + + + + Semantics for message queues that are Double-Ended. + + + + + TBD + + TBD + + + + Semantics for message queues that are Double-Ended and unbounded + + + + + Semantics for message queues that are Double-Ended and bounded + + + + + Mailbox base class + + + + + Status codes for the state of the mailbox + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + The queue used for user-defined messages inside this mailbox + + + + + Creates a new mailbox + + The used by this mailbox. + + + + Posts the specified envelope to the mailbox. + + TBD + The envelope. + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + Atomic reader for the system message queue + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + The for the underlying mailbox. + + + + + INTERNAL API + + must not be visible to user-defined implementations + + + + + Attaches an ActorCell to the Mailbox. + + TBD + + + + TBD + + + + + TBD + + + + + Returns the number of times this mailbox is currently suspended. + + + + + Returns true if the mailbox is currently suspended from processing. false otherwise. + + + + + Returns true if the mailbox is closed. false otherwise. + + + + + Returns true if the mailbox is scheduled for execution on a . false otherwise. + + + + + Updates the status of the current mailbox. + + + + + Forcefully sets the status of the current mailbox. + + + + + Reduce the suspend count by one. Caller does not need to worry about whether + status was or not. + + true if the suspend count reached zero. + + + + Increment the suspend count by one. Caller does not need to worry about whether + status was or not. + + true if the previous suspend count was zero. + + + + Set the new primary status to . + + true if we were able to successfully close the mailbox. false otherwise. + + + + Set scheduled status, keeping primary status as-is. + + Returns true if the set operation succeeded. false otherwise. + + + + Reset Scheduled status, keeping primary status as-is + + Returns true if the set operation succeeded. false otherwise. + + + + Processes the contents of the mailbox + + + + + Will at least try to process all queued system messages: in case of + failure simply drop and go on to the next, because there is nothing to + restart here (failure is in somewhere …). In case the mailbox + becomes closed (because of processing a message), dump all + already dequeued message to deadLetters. + + + + + Overrideable callback to clean up the mailbox, called + when an actor is unregistered. + + By default it dequeues all system messages + messages and ships them to the owning actor's systems' . + + + + + Enqueues a new into the for a given actor. + + The actor who will receive the system message. + The system message. + + + + Drains from this mailbox. + + The replacement queue for the system messages inside this mailbox. + + + + Returns true if there are instances inside this mailbox. + false otherwise. + + + + + Prints a message tosStandard out if the Compile symbol "MAILBOXDEBUG" has been set. + If the symbol is not set all invocations to this method will be removed by the compiler. + + TBD + TBD + + + + A factory to create s for an optionally provided . + + + Possibily important notice. + + When implementing a custom MailboxType, be aware that there is special semantics attached to + in that sending the returned may, for a short + period of time, enqueue the messages first in a dummy queue. Top-level actors are created in two steps, and only + after the guardian actor ahs performed that second step will all previously sent messages be transferred from the + dummy queue to the real mailbox. + + Implemented as an abstract class in order to enforce constructor requirements. + + + + + The settings for the given . + + + + + The configuration for this mailbox. + + + + + Constructor used for creating a + + The for this system. + The for this mailbox. + + + + Creates a new from the specified parameters. + + Optional. + Optional. + The resulting + + + + Compilment to + + The type of produced by this class. + + + + UnboundedMailbox is the default used by Akka.NET Actors + + + + + + + + Default constructor for an unbounded mailbox. + + + + + + + + The default bounded mailbox implementation + + + + + The capacity of this mailbox. + + + + + The push timeout value. Will throw a timeout error after this period of time + + + + + + This exception is thrown if the 'mailbox-capacity' in + or the 'mailbox-push-timeout-time' in is negative. + + + + + + + + Priority mailbox base class; unbounded mailbox that allows for prioritization of its contents. + Extend this class and implement the method with your own prioritization. + The value returned by the method will be used to order the message in the mailbox. + Lower values will be delivered first. Messages ordered by the same number will remain in delivery order. + + + + + Function responsible for generating the priority value of a message based on its type and content. + + The message to inspect. + An integer. The lower the value, the higher the priority. + + + + The initial capacity of the unbounded mailbox. + + + + + The default capacity of an unbounded priority mailbox. + + + + + + + + + + + UnboundedDequeBasedMailbox is an unbounded backed by a double-ended queue. Used for stashing. + + + + + + + + + + + BoundedDequeBasedMailbox is an bounded backed by a double-ended queue. Used for stashing. + + + + + The capacity of this mailbox. + + + + + The push timeout. Fires a if it takes longer than this to add a message to + a full bounded mailbox. + + + + + + This exception is thrown if the 'mailbox-capacity' in + or the 'mailbox-push-timeout-time' in is negative. + + + + + + + + Contains the directory of all s registered and configured with a given . + + + + + The system + + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + The system. + + + + TBD + + + + + Check if this actor class can have a required message queue type. + + The type to check. + true if this actor has a message queue type requirement. false otherwise. + + + + Check if this implements the interface. + + The type of the to check. + true if this mailboxtype produces queues. false otherwise. + + + + Returns a as specified in configuration, based on the type, or if not defined null. + + The mailbox we need given the queue requirements. + This exception is thrown if a mapping is not configured for the given . + A as specified in configuration, based on the type, or if not defined null. + + + + Returns a as specified in configuration, based on the id, or if not defined null. + + The ID of the mailbox to lookup + + This exception is thrown if the mailbox type is not configured or the system could not load or find the type specified. + + + This exception is thrown if the mailbox type could not be instantiated. + + The specified in configuration or if not defined null. + + + + INTERNAL API + + The id of the mailbox whose config we're going to generate. + A object for the mailbox with + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the 'mailbox-requirement' in the given isn't met. + + TBD + + + + Creates a mailbox from a configuration path. + + The path. + Mailbox. + + + + Base class for blocking message queues. Allows non thread safe data structures to be used as message queues. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + An Bounded mailbox message queue. + + + + Creates a new bounded message queue. + + The configuration for this mailbox. + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if the given is negative. + + + + + + + + + + + + + + + + + + + + The push timeout for this bounded queue. + + + + + Message queue for supporting within instances. + + Uses a internally - each individual + + + + + The underlying . + + + + + Takes another as an argument - wraps + in order to provide it with prepend () semantics. + + The underlying message queue wrapped by this one. + + + + Returns true if there are any messages inside the queue. + + + + + Returns the number of messages in both the internal message queue + and the prepend buffer. + + + + + + + + Attempt to dequeue a message from the front of the prepend buffer. + + If the prepend buffer is empty, dequeue a message from the normal + wrapped but this wrapper. + + The message to return, if any + true if a message was available, false otherwise. + + + + + + + Add a message to the front of the queue via the prepend buffer. + + The message we wish to append to the front of the queue. + + + + Interface to be implemented by all mailbox message queues + + + + + Tests if the message queue contains any messages + + + + + Returns the count of messages currently in the message queue + + + + + Enqueues an mailbox envelope onto the message queue + + + The receiver of the messages. + + This field is only used in a couple of places, but it should not be removed. + + The envelope to enqueue + + + + Tries to pull an envelope of the message queue + + The envelope that was dequeued + TBD + + + + Called when the this queue belongs to is disposed of. Normally + it is expected to transfer all remaining messages into the deadletter queue which is passed in. The owner + of this is passed in if available (e.g. for creating s), + "/deadletters" otherwise. + + The owner of this message queue if available, "/deadletters" otherwise. + The dead letters message queue. + + + + An unbounded double-ended queue. Used in combination with . + + + + + TBD + + + + + A bounded double-ended queue. Used in combination with . + + + + + TBD + + TBD + TBD + + + + Gets the underlying + + + This method is never called, but had to be implemented to support the interface. + + + + An unbounded mailbox message queue. + + + + + + + + + + + + + + + + + + + Base class for a message queue that uses a priority generator for messages + + + + + DEPRECATED. Use UnboundedPriorityMessageQueue(Func{object, int} priorityGenerator, int initialCapacity) instead. + + The initial capacity of the priority queue. + + + + Creates a new unbounded priority message queue. + + The calculator function for determining the priority of inbound messages. + The initial capacity of the queue. + + + + Unsafe method for computing the underlying message count. + + + Called from within a synchronization mechanism. + + + + + Unsafe method for enquing a new message to the queue. + + The message to enqueue. + + Called from within a synchronization mechanism. + + + + + Unsafe method for attempting to dequeue a message. + + The message that might be dequed. + true if a message was available to be dequeued, false otherwise. + + Called from within a synchronization mechanism. + + + + + Used to create instances of the . + + Each actor created using the pinned dispatcher gets its own unique thread. + + Always returns a new instance. + + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Dedicates a unique thread for each actor passed in as reference. Served through its . + + The preferred way of creating dispatcher is to define them in configuration and then use the + method. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + This exception is thrown if the registering is not the owner. + + + + + TBD + + TBD + + + + INTERNAL API + + Value class supporting list operations on instances. The + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + INTERNAL API + + Value type supporting list operations on system messages. The `next` field of + is hidden, and can only accessed through the value classes and + , abstracting over the fact that system messages are the + list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead. + + This list is mutable. + + The type of the list also encodes that the messages contained are in reverse order, i.e. the head of the list is the + latest appended element. + + + + + The front of the list. + + + + + TBD + + TBD + + + + Indicates if the list is empty or not. This operation has constant cost. + + + + + Indicates if the list has at least one element. This operation has a constant cost. + + + + + Indicates the number of elements contained within this list. O(N) operation time. + + + + + Gives back the list containing all the elements except the first. This operation has constant cost. + + ***Warning:*** as the underlying list nodes (the instances) are mutable, care + should be taken when passing the tail to other methods. should be + called on the head if one wants to detach the tail permanently. + + + + + Reverses the list. This operation mutates the underlying list. The cost of the call is O(N), where N is the number of elements. + + The type of the returned list ios the opposite order: . + + + + + Attaches a message to the current head of the list. This operation has constant cost. + + The list being modified. + The new item to add to the head of the list. + A new with appended to the front. + + + + INTERNAL API + + Value type supporting list operations on system messages. The `next` field of + is hidden, and can only accessed through the value classes and + , abstracting over the fact that system messages are the + list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead. + + This list is mutable. + + The type of the list also encodes that the messages contained are in reverse order, i.e. the head of the list is the + latest appended element. + + + + + The front of the list. + + + + + TBD + + TBD + + + + Indicates if the list is empty or not. This operation has constant cost. + + + + + Indicates if the list has at least one element. This operation has a constant cost. + + + + + Indicates the number of elements contained within this list. O(N) operation time. + + + + + Gives back the list containing all the elements except the first. This operation has constant cost. + + ***Warning:*** as the underlying list nodes (the instances) are mutable, care + should be taken when passing the tail to other methods. should be + called on the head if one wants to detach the tail permanently. + + + + + Reverses the list. This operation mutates the underlying list. The cost of the call is O(N), where N is the number of elements. + + The type of the returned list ios the opposite order: . + + + + + Attaches a message to the current head of the list. This operation has constant cost. + + The list being modified. + The new item to add to the head of the list. + A new with appended to the front. + + + + Prepends a list in a reversed order to the head of this list. The prepended list will be reversed during the process. + + The original list. + The list to be reversed and prepended. + A new list with reversed and prepended to the front of . + + Example: (3, 4, 5) reversePrepend (2, 1, 0) == (0, 1, 2, 3, 4, 5) + + + The cost of this operation is O(N) in the size of the list that is to be prepended. + + + + + INTERNAL API + + Signals to Akka.NET actors that we need to wait until children + have completed some operation (usually, shutting down) before we + can process this stashed . + + + + + INTERNAL API + + Stash this when the actor is in a failed state. + + + + + Class ISystemMessage. + + + + + INTERNAL API + + is an interface and too basic to express + all of the capabilities needed to express a full-fledged system message. + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Switched into the mailbox to signal termination + + + + + TBD + + TBD + + + + Class DeathWatchNotification. + + + + + Initializes a new instance of the class. + + The actor. + if set to true [existence confirmed]. + if set to true [address terminated]. + + + + Gets the actor. + + The actor. + + + + Gets a value indicating whether [existence confirmed]. + + true if [existence confirmed]; otherwise, false. + + + + Gets a value indicating whether [address terminated]. + + true if [address terminated]; otherwise, false. + + + + TBD + + TBD + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + The child. + The cause. + The uid + + + + Gets the child. + + The child. + + + + Gets the cause. + + The cause. + + + + TBD + + + + + TBD + + TBD + + + + Class Supervise. + + + + + Initializes a new instance of the class. + + The child. + if set to true [asynchronous]. + + + + Gets a value indicating whether this is asynchronous. + + true if asynchronous; otherwise, false. + + + + Gets the child. + + The child. + + + + TBD + + TBD + + + + Creates a deathwatch subscription between and . + + will be notified via a message when + is stopped. In the case of a remote actor references, a may also be produced in + the event that the association between the two remote actor systems fails. + + + + + Initializes a new instance of the class. + + The watchee. + The watcher. + + + + Gets the watchee. + + The watchee. + + + + Gets the watcher. + + The watcher. + + + + TBD + + TBD + + + + Unsubscribes from any death watch notifications for . + + + + + Initializes a new instance of the class. + + The watchee. + The watcher. + + + + Gets the watchee. + + The watchee. + + + + Gets the watcher. + + The watcher. + + + + TBD + + TBD + + + + Class ActorTask. + + + + + Initializes a new instance of the class. + + The task. + + + + Gets the task. + + The task. + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + + + + Initializes a new instance of the class. + + The exception. + The message causing the exception + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + The cause. + + + + Gets the cause. + + The cause. + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + The caused by failure. + + + + Gets or sets the caused by failure. + + The caused by failure. + + + + TBD + + TBD + + + + Sent to self from + + + + + TBD + + TBD + + + + Class Stop. + + + + + TBD + + TBD + + + + INTERNAL + + + + + Initializes a new instance of the class. + + The child. + + + + Gets the child. + + The child. + + + + TBD + + TBD + + + + Class Escalate. + + + + + Initializes a new instance of the class. + + The reason. + + + + Gets the reason. + + The reason. + + + + TBD + + TBD + + + + Class Terminate. + + + + + TBD + + TBD + + + + Sent to self from + + + + + Initializes a new instance of the class. + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Class Terminate. + + + + + TBD + + + + + TBD + + TBD + + + + helper class for configuring + instances who depend on the Helios . + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Default settings for instances. + + + + + Used inside Akka.Remote for constructing the low-level Helios threadpool, but inside + vanilla Akka it's also used for constructing custom fixed-size-threadpool dispatchers. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Used with instances to signal completion, + but there is no actual value completed. + + + + + The singleton instance of + + + + + This class represents an where the subscriber type is an . + + The type of event published to the bus. + The type of classifier used to classify events. + + + + This class represents an provider used to create the extension. + + + + + Creates the extension using a given actor system. + + The actor system to use when creating the extension. + The extension created using the given actor system. + + + + This class represents an extension used by remote and cluster death watchers + to publish notifications when a remote system is deemed dead. + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + Retrieves the extension from the specified actor system. + + The actor system from which to retrieve the extension. + The extension retrieved from the given actor system. + + + + Registers the specified actor to receive notifications. + + The actor that is registering for notifications. + + + + Unregisters the specified actor from receiving notifications. + + The actor that is unregistering for notifications. + + + + Sends alls registered subscribers an notification. + + The message that is sent to all subscribers. + + + + A logging adapter implementation publishing log events to the event stream. + + + + + Initializes a new instance of the class. + + The logging bus instance that messages will be published to. + The log source. + The log class. + The log message formatter. + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Publishes the error message onto the LoggingBus. + + The error message. + + + + Publishes the error message and exception onto the LoggingBus. + + The exception that caused this error. + The error message. + + + + Publishes the warning message onto the LoggingBus. + + The warning message. + + + + Publishes the info message onto the LoggingBus. + + The info message. + + + + Publishes the debug message onto the LoggingBus. + + The debug message. + + + + Use with caution: Messages extending this trait will not be logged by the default dead-letters listener. + Instead they will be wrapped as and may be subscribed for explicitly. + + + + + Represents a message that could not be delivered to it's recipient. + This message wraps the original message, the sender and the intended recipient of the message. + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + + + The original message that could not be delivered. + + + + + The actor that was to receive the message. + + + + + The actor that sent the message. + + + + + Returns a that represents this instance. + + A that represents this instance. + + + + When a message is sent to an Actor that is terminated before receiving the message, it will be sent as a DeadLetter + to the ActorSystem's EventStream + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + This exception is thrown when either the sender or the recipient is undefined. + + + + + Similar to with the slight twist of NOT being logged by the default dead letters listener. + Messages which end up being suppressed dead letters are internal messages for which ending up as dead-letter is both expected and harmless. + + + + + Initializes a new instance of the class. + + The original message that could not be delivered. + The actor that sent the message. + The actor that was to receive the message. + + This exception is thrown when either the sender or the recipient is undefined. + + + + + This class represents an actor responsible for listening to messages and logging them using the . + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + This class represents a Debug log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + Default logger implementation that outputs logs to the Console. + + + + + TBD + + TBD + TBD + + + + Print the specified log event. + + The log event that is to be output. + + + + This class represents an implementation that uses to format log messages. + + + + + Formats a specified composite string using an optional list of item substitutions. + + The string that is being formatted. + An optional list of items used to format the string. + The given string that has been correctly formatted. + + + + This class represents a Error log event. + + + + + Initializes a new instance of the class. + + The exception that caused the log event. + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + The exception that caused the log event. + + + + + Retrieves the used to classify this event. + + The used to classify this event. + + + + Returns a that represents this instance. + + A that represents this instance. + + + + This class provides base publish/subscribe functionality for working with events inside the system. + + The type of event published to the bus. + The type of classifier used to classify events. + The type of the subscriber that listens for events. + + + + Retrieves the simplified type name (the class name without the namespace) of a given object. + + The object that is being queried. + The simplified type name of the given object. + + + + Retrieves the simplified type name (the class name without the namespace) of a given type. + + The object that is being queried. + The simplified type name of the given type. + + + + Adds the specified subscriber to the list of subscribers that listen for particular events on the bus. + + The subscriber that is being added. + The classifier of the event that the subscriber wants. + true if the subscription succeeds; otherwise false. + + + + Removes the specified subscriber from the list of subscribers that listen for particular events on the bus. + + The subscriber that is being removed. + true if the subscription cancellation succeeds; otherwise false. + + + + Removes the specified subscriber from the list of subscribers that listen for particular events on the bus. + + The subscriber that is being removed. + The classifier of the event that the subscriber wants. + true if the subscription cancellation succeeds; otherwise false. + + + + Determines whether a specified classifier, , is a subclass of another classifier, . + + The potential parent of the classifier that is being checked. + The classifier that is being checked. + true if the classifier is a subclass of ; otherwise false. + + + + Publishes the specified event directly to the specified subscriber. + + The event that is being published. + The subscriber that receives the event. + + + + Classifies the specified event using the specified classifier. + + The event that is being classified. + The classifier used to classify the event. + true if the classification succeeds; otherwise false. + + + + Retrieves the classifier used to classify the specified event. + + The event for which to retrieve the classifier. + The classifier used to classify the event. + + + + Publishes the specified event to the bus. + + The event that is being published. + + + + INTERNAL API + + Watches all actors which subscribe on the given eventStream, and unsubscribes them from it when they are Terminated. + + Assumptions note: + We do not guarantee happens-before in the EventStream when 2 threads subscribe(a) / unsubscribe(a) on the same actor, + thus the messages sent to this actor may appear to be reordered - this is fine, because the worst-case is starting to + needlessly watch the actor which will not cause trouble for the stream. This is a trade-off between slowing down + subscribe calls * because of the need of linearizing the history message sequence and the possibility of sometimes + watching a few actors too much - we opt for the 2nd choice here. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + Provides factory for Akka.Event.EventStreamUnsubscriber actors with unique names. + This is needed if someone spins up more EventStreams using the same ActorSystem, + each stream gets it's own unsubscriber. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + The EventStream is a pub-sub stream of events that can be both system and user generated. + + The subscribers are IActorRef instances and events can be any object. Subscriptions are hierarchical meaning that if you listen to + an event for a particular type you will receive events for that type and any sub types. + + If the debug flag is activated any operations on the event stream will be published as debug level events. + + + + + Initializes a new instance of the class. + + if set to true [debug]. + + + + Subscribes the specified subscriber. + + The subscriber. + The channel. + + This exception is thrown if the given is undefined. + + true if subscription was successful, false otherwise. + + + + Unsubscribes the specified subscriber. + + The subscriber. + The channel. + + This exception is thrown if the given is undefined. + + true if unsubscription was successful, false otherwise. + + + + Unsubscribes the specified subscriber. + + The subscriber. + + This exception is thrown if the given is undefined. + + true if unsubscription was successful, false otherwise. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + Extension methods for the EventStream class. + + + + + Subscribes the specified subscriber. + + The channel. + The event stream. + The subscriber. + true if subscription was successful, false otherwise. + subscriber + + + + Unsubscribes the specified subscriber. + + The channel. + The event stream. + The subscriber. + true if unsubscription was successful, false otherwise. + subscriber + + + + Semantics needed for loggers + + + + + This interface describes the methods used to log events within the system. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Determines whether a specific log level is enabled. + + The log level that is being checked. + true if the specified level is enabled; otherwise false. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This class represents an implementation used when messages are to be dropped instead of logged. + + + + + Retrieves a singleton instance of the class. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Determines whether a specific log level is enabled. + + The log level that is being checked. + + true if the specified level is enabled; otherwise false. + + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Obsolete. Use instead! + + N/A + N/A + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This interface describes the methods used to format log messages. + + + + + Formats a specified composite string using an optional list of item substitutions. + + The string that is being formatted. + An optional list of items used to format the string. + The given string that has been correctly formatted. + + + + This class represents an Info log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + This class represents a message used to initialize a logger. + + + + + Initializes a new instance of the message. + + The bus used by the logger to log events. + + + + The bus used by the logger to log events. + + + + + This class represents a logging event in the system. + + + + + Initializes a new instance of the class. + + + + + The timestamp that this event occurred. + + + + + The thread where this event occurred. + + + + + The source that generated this event. + + + + + The type that generated this event. + + + + + The message associated with this event. + + + + + Retrieves the used to classify this event. + + The used to classify this event. + + + + Returns a that represents this LogEvent. + + A that represents this LogEvent. + + + + This class represents a message used to notify subscribers that a logger has been initialized. + + + + + INTERNAL API + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + This exception is thrown if the given or is undefined. + + TBD + + + + Mailbox type used by loggers + + + + + TBD + + TBD + TBD + + + + This class represents a marker which is inserted as originator class into + when the string representation was supplied directly. + + + + + This class provides the functionality for creating logger instances and helpers for converting to/from values. + + + + + Returns a singleton instance of the standard out logger. + + + + + Retrieves the log event class associated with the specified log level. + + The log level used to lookup the associated class. + The exception is thrown if the given is unknown. + The log event class associated with the specified log level. + + + + Retrieves the log event class name associated with the specified log level. + + The log level used to lookup the associated class. + The exception is thrown if the given is unknown. + The log event class name associated with the specified log level. + + + + Creates a new logging adapter using the specified context's event stream. + + The context used to configure the logging adapter. + The formatter used to format log messages. + The newly created logging adapter. + + + + Creates a new logging adapter using the specified system's event stream. + + The system used to configure the logging adapter. + The source that produces the log events. + The formatter used to format log messages. + The newly created logging adapter. + + + + Creates a new logging adapter that writes to the specified logging bus. + + The bus on which this logger writes. + The source that produces the log events. + The formatter used to format log messages. + The newly created logging adapter. + + + + Retrieves the log level from the specified string. + + The string representation of the log level to lookup. + The exception is thrown if the given is unknown. + The log level that matches the specified string. + + + + Retrieves the log level associated with the specified log event. + + The type of the log event. + The exception is thrown if the given is unknown. + The log level associated with the specified type. + + + + This class represents the base logging adapter implementation used to log events within the system. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Check to determine whether the is enabled. + + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The exception that caused the log event. + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Notifies all subscribers that an log event occurred. + + The message related to the log event. + + + + Creates an instance of the LoggingAdapterBase. + + The log message formatter used by this logging adapter. + This exception is thrown when the given is undefined. + + + + Checks the logging adapter to see if the supplied is enabled. + + The log level to check if it is enabled in this logging adapter. + This exception is thrown when the given is unknown. + true if the supplied log level is enabled; otherwise false + + + + Notifies all subscribers that a log event occurred for a particular level. + + The log level associated with the log event. + The message related to the log event. + This exception is thrown when the given is unknown. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Obsolete. Use instead! + + N/A + N/A + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message and associated exception. + + The exception associated with this message. + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message. + + The message that is being logged. + An optional list of items used to format the message. + + + + Logs a message with a specified level. + + The level used to log the message. + The message that is being logged. + An optional list of items used to format the message. + + + + This class represents an event bus which subscribes loggers to system LogEvents. + + + + + The minimum log level that this bus will subscribe to, any LogEvents with a log level below will not be subscribed to. + + + + + Determines whether a specified classifier, , is a subclass of another classifier, . + + The potential parent of the classifier that is being checked. + The classifier that is being checked. + true if the classifier is a subclass of ; otherwise false. + + + + Publishes the specified event directly to the specified subscriber. + + The event that is being published. + The subscriber that receives the event. + + + + Classifies the specified event using the specified classifier. + + The event that is being classified. + The classifier used to classify the event. + true if the classification succeeds; otherwise false. + + + + Retrieves the classifier used to classify the specified event. + + The event for which to retrieve the classifier. + The classifier used to classify the event. + + + + Starts the loggers defined in the system configuration. + + The system that the loggers need to start monitoring. + + This exception is thrown if the logger specified in the configuration could not be found or loaded. + + + This exception is thrown if the logger doesn't respond with a message when initialized. + + + + + Stops the loggers defined in the system configuration. + + The system that the loggers need to stop monitoring. + + + + Starts the logger. + + The configuration used to configure the . + + + + Sets the minimum log level for this bus, any LogEvents below this level are ignored. + + The new log level in which to listen. + + + + Enumeration representing the various log levels in the system. + + + + + The debug log level. + + + + + The information log level. + + + + + The warning log level. + + + + + The error log level. + + + + + Represents a log message which is composed of a format string and format args. + + + + + Gets the format string of this log message. + + + + + Gets the format args of this log message. + + + + + Initializes an instance of the LogMessage with the specified formatter, format and args. + + The formatter for the LogMessage. + The string format of the LogMessage. + The format args of the LogMessage. + + + + TBD + + TBD + + + + This class represents an event logger that logs its messages to standard output (e.g. the console). + + + This logger is always attached first in order to be able to log failures during application start-up, + even before normal logging is started. + + + + + + Initializes the class. + + + + + N/A + + This exception is automatically thrown since does not support this property. + + + + The path where this logger currently resides. + + + + + Handles incoming log events by printing them to the console. + + The message to print + The actor that sent the message. + + This exception is thrown if the given is undefined. + + + + + The foreground color to use when printing Debug events to the console. + + + + + The foreground color to use when printing Info events to the console. + + + + + The foreground color to use when printing Warning events to the console. + + + + + The foreground color to use when printing Error events to the console. + + + + + Determines whether colors are used when printing events to the console. + + + + + Prints a specified event to the console. + + The event to print + + + + Represents a Subscription to the EventBus. + + The type of the subscriber. + The type of the classifier. + + + + Initializes a new instance of the class. + + The subscriber. + The unsubscriptions. + + + + Initializes a new instance of the class. + + The subscriber. + + + + Gets the subscriber attached to this subscription. + + The subscriber. + + + + Gets the unsubscriptions of this particular subscription. + + The unsubscriptions. + + + + This class represents an event logger that logs its messages using a configured trace listener. + + + To use activate this logger, modify the loggers section in your Akka.NET configuration like so, + + + akka { + ... + loggers = [""Akka.Event.TraceLogger, Akka""] + ... + } + + + Further configuration may be required in your main configuration (e.g. app.config or web.config) + to properly set up the trace. See here + for more information regarding .NET tracing. + + + + + + TBD + + TBD + + + + This class represents a message that was not handled by the recipient. + + + + + Initializes a new instance of the class. + + The original message that could not be handled. + The actor that sent the message. + The actor that was to receive the message. + + + + The original message that could not be handled. + + + + + The actor that sent the message. + + + + + The actor that was to receive the message. + + + + + This class represents a Warning log event. + + + + + Initializes a new instance of the class. + + The source that generated the log event. + The type of logger used to log the event. + The message that is being logged. + + + + Retrieves the used to classify this event. + + + The used to classify this event. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + A rope-like immutable data structure containing bytes. + The goal of this structure is to reduce copying of arrays + when concatenating and slicing sequences of bytes, + and also providing a thread safe way of working with bytes. + + + + + Creates a new ByteString by copying a byte array. + + TBD + TBD + + + + Creates a new ByteString by copying length bytes starting at offset from + an Array. + + TBD + TBD + TBD + TBD + + + + Creates a new ByteString which will contain the UTF-8 representation of the given String + + TBD + TBD + + + + Creates a new ByteString which will contain the representation of the given String in the given charset + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if this cannot be concatenated with . + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + N/A + + + This exception is thrown automatically since iterators aren't supported in . + + N/A + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + This type is used in generic type signatures wherever the actual value is of no importance. + It is a combination of F#’s 'unit' and C#’s 'void', which both have different issues when + used from the other language. An example use-case is the materialized value of an Akka Stream for cases + where no result shall be returned from materialization. + + + + + The singleton instance of . + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Class PatternMatch. + + + + + Matches the specified target. + + The target. + Case. + + + + Matches the specified target and return a result of target processing. + + The target. + Case. + + + + Interface IMatchResult + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Class Case. + + + + + The _message + + + + + The _handled + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Initializes a new instance of the class. + + The message. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Defaults the specified action. + + The action. + IMatchResult. + + + + Class AlwaysHandled. + + + + + The instance + + + + + Prevents a default instance of the class from being created. + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Class Case with returning result. + + The type of return value + + + + The _message + + + + + The _handled + + + + + The final result of execution + + + + + Gets a value indicating whether [was handled]. + + true if [was handled]; otherwise, false. + + + + Initializes a new instance of the class. + + The message. + + + + Withes the specified action. + + The type of the t message. + The function. + Case. + + + + Withes the specified action. + + The type of the t message. + The action. + Case. + + + + Defaults the specified action. + + The default function. + The result of the matching + + + + Builds back-off options for creating a back-off supervisor. You can pass to . + + + + + Back-off options for creating a back-off supervisor actor that expects a child actor to restart on failure. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Back-off options for creating a back-off supervisor actor that expects a child actor to stop on failure. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Returns a new with automatic back-off reset. The back-off algorithm is reset if the child does not crash within the specified `resetBackoff`. + + The back-off is reset if the child does not crash within this duration + + + + Returns a new with manual back-off reset. The back-off is only reset if the child sends a `BackoffSupervisor.Reset` to its parent(the backoff-supervisor actor). + + + + + Returns a new with the supervisorStrategy. + + The that the back-off supervisor will use. The default supervisor strategy is used as fallback if the specified SupervisorStrategy (its decider) does not explicitly handle an exception + + + + Returns a new with a default . The default supervisor strategy is used as fallback for throwables not handled by . + + + + + Returns the props to create the back-off supervisor. + + + + + Actor used to supervise actors with ability to restart them after back-off timeout occurred. + It's designed for cases when i.e. persistent actor stops due to journal unavailability or failure. + In this case it better to wait before restart. + + + + + Send this message to the and it will reply with containing the `ActorRef` of the current child, if any. + + + + + TBD + + + + + Send this message to the and it will reply with containing the `ActorRef` of the current child, if any. + + + + + TBD + + TBD + + + + Send this message to the and it will reset the back-off. This should be used in conjunction with `withManualReset` in . + + + + + TBD + + + + + Props for creating a actor. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + + + + Props for creating a actor from . + + The that specify how to construct a backoff-supervisor. + + + + + Props for creating a actor with a custom supervision strategy. + + The of the child actor that will be started and supervised + Name of the child actor + Minimum (initial) duration until the child actor will started again, if it is terminated + The exponential back-off is capped to this duration + After calculation of the exponential back-off an additional random delay based on this factor is added, e.g. `0.2` adds up to `20%` delay. In order to skip this additional delay pass in `0`. + The supervision strategy to use for handling exceptions in the child + + + + TBD + + + + + Provides circuit breaker functionality to provide stability when working with + "dangerous" operations, e.g. calls to remote systems + + + + Transitions through three states: + + + In *Closed* state, + calls pass through until the maxFailures count is reached. + This causes the circuit breaker to open. Both exceptions and calls exceeding + callTimeout are considered failures. + + + In *Open* state, + calls fail-fast with an exception. After resetTimeout, + circuit breaker transitions to half-open state. + + + In *Half-Open* state, + the first call will be allowed through, if it succeeds + the circuit breaker will reset to closed state. If it fails, the circuit + breaker will re-open to open state. All calls beyond the first that execute + while the first is running will fail-fast with an exception. + + + + + + + The current state of the breaker -- Closed, Half-Open, or Closed -- *access only via helper methods* + + + + + Helper method for access to the underlying state via Interlocked + + Previous state on transition + Next state on transition + Whether the previous state matched correctly + + + + Helper method for access to the underlying state via Interlocked + + + + + TBD + + + + + TBD + + + + + TBD + + + + + Create a new CircuitBreaker + + Maximum number of failures before opening the circuit + of time after which to consider a call a failure + of time after which to attempt to close the circuit + TBD + + + + Create a new CircuitBreaker + + Maximum number of failures before opening the circuit + of time after which to consider a call a failure + of time after which to attempt to close the circuit + TBD + + + + Retrieves current failure count. + + + + + Wraps invocation of asynchronous calls that need to be protected + + TBD + Call needing protected + containing the call result + + + + Wraps invocation of asynchronous calls that need to be protected + + Call needing protected + + + + + The failure will be recorded farther down. + + TBD + + + + Wraps invocations of asynchronous calls that need to be protected + If this does not complete within the time allotted, it should return default() + + + Await.result( + withCircuitBreaker(try Future.successful(body) catch { case NonFatal(t) ⇒ Future.failed(t) }), + callTimeout) + + + + TBD + TBD + or default() + + + + Adds a callback to execute when circuit breaker opens + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Adds a callback to execute when circuit breaker transitions to half-open + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Adds a callback to execute when circuit breaker state closes + + Handler to be invoked on state change + CircuitBreaker for fluent usage + + + + Implements consistent transition between states. Throws IllegalStateException if an invalid transition is attempted. + + State being transitioning from + State being transitioned to + + This exception is thrown if an invalid transition is attempted from to . + + + + + Trips breaker to an open state. This is valid from Closed or Half-Open states + + State we're coming from (Closed or Half-Open) + + + + Resets breaker to a closed state. This is valid from an Half-Open state only. + + + + + Attempts to reset breaker by transitioning to a half-open state. This is valid from an Open state only. + + + + + Concrete implementation of Open state + + + + + TBD + + TBD + + + + N/A + + N/A + N/A + This exception is thrown automatically since the circuit is open. + N/A + + + + N/A + + N/A + This exception is thrown automatically since the circuit is open. + N/A + + + + No-op for open, calls are never executed so cannot succeed or fail + + + + + No-op for open, calls are never executed so cannot succeed or fail + + + + + On entering this state, schedule an attempted reset and store the entry time to + calculate remaining time before attempted reset. + + + + + Concrete implementation of half-open state + + + + + TBD + + TBD + + + + Allows a single call through, during which all other callers fail-fast. If the call fails, the breaker reopens. + If the call succeeds, the breaker closes. + + TBD + Implementation of the call that needs protected + TBD + containing result of protected call + + + + Allows a single call through, during which all other callers fail-fast. If the call fails, the breaker reopens. + If the call succeeds, the breaker closes. + + Implementation of the call that needs protected + TBD + containing result of protected call + + + + Reopen breaker on failed call. + + + + + Reset breaker on successful call. + + + + + On entry, guard should be reset for that first call to get in + + + + + Override for more descriptive toString + + TBD + + + + Concrete implementation of Closed state + + + + + TBD + + TBD + + + + Implementation of invoke, which simply attempts the call + + TBD + Implementation of the call that needs protected + containing result of protected call + + + + Implementation of invoke, which simply attempts the call + + Implementation of the call that needs protected + containing result of protected call + + + + On failed call, the failure count is incremented. The count is checked against the configured maxFailures, and + the breaker is tripped if we have reached maxFailures. + + + + + On successful call, the failure count is reset to 0 + + + + + On entry of this state, failure count is reset. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Used to help make it easier to schedule timeouts in conjunction + with the built-in + + + + + Returns a that will be completed with the success or failure + of the provided value after the specified duration. + + The return type of task. + The duration to wait. + The scheduler instance to use. + The task we're going to wrap. + a that will be completed with the success or failure + of the provided value after the specified duration + + + + This exception is thrown when a method has been invoked at an illegal or inappropriate time. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The inner that was thrown. + + + + This exception is thrown when the CircuitBreaker is open. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + This class contains logic used by a to route a message to multiple routees. + + + + + Picks all the routees in to receive the . + + The message that is being routed. + A collection of routees that receives the . + A that contains all the given that receives the . + + + + This class represents a router that sends messages it receives to all of its routees. + + + + + Initializes a new instance of the class. + + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages it receives to all of its routees. + + + + + Initializes a new instance of the class. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + The configuration to use to lookup paths used by the group router. + + + + Initializes a new instance of the class. + + A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + + + + Obsolete. Use instead. + + new BroadcastGroup(actorRefs.Select(c => c.Path.ToString())) + + + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The dispatcher to use when passing messages to the routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Consistent Hashing node ring implementation. + + A good explanation of Consistent Hashing: + http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html + + Note that toString of the ring nodes are used for the node + hash, i.e. make sure it is different for different nodes. + + The type of objects to store in the hash. + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown if the given is less than one. + + + + + Adds a node to the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The node to add to the hash ring + A new instance of this hash ring with the given node added. + + + + Removes a node from the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The node to remove from the hash ring + A new instance of this hash ring with the given node removed. + + + + Retrieves the node associated with the data key. + + The data key used for lookup. + + This exception is thrown if the node ring is empty. + + The node associated with the data key + + + + Retrieves the node associated with the data key. + + The data key used for lookup. + + This exception is thrown if the node ring is empty. + + The node associated with the data key + + + + Check to determine if the node ring is empty (i.e. no nodes added or all removed) + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + Adds a node to the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The hash ring used to derive a new ring with the given node added. + The node to add to the hash ring + A new instance of this hash ring with the given node added. + + + + Removes a node from the hash ring. + + Note that is immutable and + this operation returns a new instance. + + The hash ring used to derive a new ring with the given node removed. + The node to remove from the hash ring + A new instance of this hash ring with the given node removed. + + + + Static helper class for creating instances. + + + + + Factory method to create a instance. + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Translate the offered object into a byte array, or returns the original object + if it needs to be serialized first. + + An arbitrary .NET object + The object encoded into bytes - in the case of custom classes, the hashcode may be used. + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Static class for assisting with instances + + + + + Default empty implementation + + + + + This interface marks a given class as consistently hashable, for use with + or + routers. + + + + + The consistent hash key of the marked class. + + + + + This class represents a that can be wrapped around a message in order to make + it hashable for use with or routers. + + + + + Initializes a new instance of the class. + + The message that is being wrapped in the envelope. + The key used as the consistent hash key for the envelope. + + + + The key used as the consistent hash key. + + + This is the same as the + + + + + + The consistent hash key of the envelope. + + + + + Delegate for computing the hashkey from any given type of message. Extracts the property / data + that is going to be used for a given hash, but doesn't actually return the hash values themselves. + + If returning a byte[] or string it will be used as is, otherwise the configured + will be applied to the returned data. + + + + + This class contains logic used by a to route a message to a + determined using consistent-hashing. This process has the router select a routee based on a message's + consistent hash key. There are 3 ways to define the key, which can be used individually or combined + to form the key. The is tried first. + +
    +
  1. + You can define a or use + of the router to map incoming messages to their consistent hash key. + This makes the decision transparent for the sender. +
  2. +
  3. + Messages may implement . The hash key is part + of the message and it's convenient to define it together with the message + definition. +
  4. +
  5. + The message can be wrapped in a to + define what data to use for the consistent hash key. The sender knows what key + to use. +
  6. +
+
+
+ + + Initializes a new instance of the class. + + + A configured in this way uses the + as the hash + mapping function with a virtual node factor of 0 (zero). + + + The actor system that owns the router with this logic. + + + + Initializes a new instance of the class. + + The actor system that owns the router with this logic. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + + + + Picks a to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + Creates a new router logic with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + + This exception is thrown if the given is undefined. + + A new router logic with the provided . + + + + INTERNAL API + + Important to use ActorRef with full address, with host and port, in the hash ring, + so that same ring is produced on different nodes. + The ConsistentHash uses toString of the ring nodes, and the ActorRef itself + isn't a good representation, because LocalActorRef doesn't include the + host and port. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + This class represents a router that sends messages to a determined using consistent-hashing. + Please refer to for more information on consistent hashing. + + + Using with is potentially harmful, as hash ranges + might change radically during live message processing. This router works best with fixed-sized pools or fixed + number of routees per node in the event of clustered deployments. + + + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + + 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. + + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The consistent hash mapping function to use on incoming messages. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + + + + Virtual nodes used in the . + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + Using with is potentially harmful, as hash ranges + might change radically during live message processing. This router works best with fixed-sized pools or fixed + number of routees per node in the event of clustered deployments. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Setting the number of virtual nodes per node, used in . + + A new router with the provided dispatcher id. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + + This exception is thrown if the given is not a . + + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using consistent-hashing. + Please refer to for more information on consistent hashing. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration. + + + + + + Initializes a new instance of the class. + + >A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + A list of actor paths used by the group router. + + + + Obsolete. Use instead. + + new ConsistentHashingGroup(actorRefs.Select(c => c.Path.ToString())) + + + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The consistent hash mapping function to use on incoming messages. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The number of virtual nodes to use on the hash ring. + The consistent hash mapping function to use on incoming messages. + The dispatcher to use when passing messages to the routees. + + + + Virtual nodes used in the . + + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + + This exception is thrown if the given is not a . + + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This interface is needed to implement listening capabilities on an actor. + + +
    +
  • Use the method to send a message to the listeners.
  • +
  • Send Listen(Self) to another Actor to start listening.
  • +
  • Send Deafen(Self) to another Actor to stop listening.
  • +
  • Send WithListeners(delegate) to traverse the current listeners.
  • +
+
+
+
+ + + Retrieves the support needed to interact with an actor's listeners. + + + + + This class represents a message sent by an actor to another actor that is listening to it. + + + + + The class represents a sent by an to another + instructing the second actor to start listening for messages sent by the first actor. + + + + + Initializes a new instance of the class. + + The actor that receives the message. + + + + The actor that receives the message. + + + + + The class represents a sent by an to another + instructing the second actor to stop listening for messages sent by the first actor. + + + + + Initializes a new instance of the class. + + The actor that no longer receives the message. + + + + The actor that no longer receives the message. + + + + + This class represents a instructing an + to perform a supplied for all of its listeners. + + + + + Initializes a new instance of the class. + + The action to perform for all of an actor's listeners. + + + + The action to perform for all of an actor's listeners. + + + + + This class adds capabilities to an actor. + + + must be wired manually into the actor's + method. + + + + + + The collection of registered listeners that is listening for messages from an actor. + + + + + Retrieves the wiring needed to implement listening functionality. + + + This needs to be chained into the actor's method. + + + + + + Adds the specified actor to the collection of registered listeners. + + The actor to add to the collection of registered listeners. + + + + Removes the specified actor from the collection of registered listeners. + + The actor to remove from the collection of registered listeners. + + + + Sends the supplied message to all registered listeners. + + + Messages sent this way use as the sender. + + + The message sent to all registered listeners. + + + + Sends the supplied message to all registered listeners. + + The message sent to all registered listeners. + The actor that sends the message. + + + + This class contains logic used by a to route a message to a random . + + + + + Picks a random to receive the . + + The message that is being routed. + A collection of routees to randomly choose from when receiving the . + A that receives the . + + + + This class represents a router that sends messages to a random . + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + This class represents a router that sends messages to a random . + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + + + + Initializes a new instance of the class. + + >A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of paths used by the group router. + The dispatcher to use when passing messages to the routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + INTERNAL API. + + Defines routers who can resize the number of routees + they use based on a defined + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Command used to resize a + + + + + INTERNAL API + + + + + must always use ResizeInProgressState static class to compare or assign values + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception is thrown if pool's resizer is undefined. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + routers with dynamically resizable number of routees are implemented by providing a Resizer + implementation in the configuration + + + + + Is it time for resizing. Typically implemented with modulo of nth message, but + could be based on elapsed time or something else. The messageCounter starts with 0 + for the initial resize and continues with 1 for the first message. Make sure to perform + initial resize before first message (messageCounter == 0), because there is no guarantee + that resize will be done when concurrent messages are in play. + + CAUTION: this method is invoked from the thread which tries to send a + message to the pool, i.e. the ActorRef.!() method, hence it may be called + concurrently. + + TBD + TBD + + + + Decide if the capacity of the router need to be changed. Will be invoked when `isTimeForResize` + returns true and no other resize is in progress. + + Return the number of routees to add or remove. Negative value will remove that number of routees. + Positive value will add that number of routess. 0 will not change the routees. + + This method is invoked only in the context of the Router actor. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Implementation of that adjust the based on specified thresholds. + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + This exception can be thrown for a number of reasons. These include: +
    +
  • The given bound was negative.
  • +
  • The given bound was negative.
  • +
  • The given bound was below the bound.
  • +
  • The given was negative.
  • +
  • The given was greater than one.
  • +
  • The given was negative.
  • +
  • The given was less than one.
  • +
+
+
+ + + TBD + + TBD + TBD + + + + Creates a new DefaultResizer from the given configuration + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Returns the overall desired change in resizer capacity. Positive value will + add routees to the resizer. Negative value will remove routees from the + resizer + + The current actor in the resizer + the number of routees by which the resizer should be adjusted (positive, negative or zero) + + + + Number of routees considered busy, or above 'pressure level'. + + Implementation depends on the value of `pressureThreshold` + (default is 1). +
    +
  • 0: number of routees currently processing a message.
  • +
  • 1: number of routees currently processing a message has + some messages in mailbox.
  • +
  • > 1: number of routees with at least the configured `pressureThreshold` + messages in their mailbox. Note that estimating mailbox size of + default UnboundedMailbox is O(N) operation.
  • +
+
+ An enumeration of the current routees + The number of routees considered to be above pressure level. +
+ + + This method can be used to smooth the capacity delta by considering + the current pressure and current capacity. + + pressure current number of busy routees + capacity current number of routees + proposed change in the capacity + + + + Computes a proposed positive (or zero) capacity delta using + the configured `rampupRate`. + + the current number of busy routees + the current number of total routees + proposed increase in capacity + + + + Computes a proposed negative (or zero) capacity delta using + the configured `backoffThreshold` and `backoffRate` + + pressure current number of busy routees + capacity current number of routees + proposed decrease in capacity (as a negative number) + + + + The fewest number of routees the router should ever have. + + + + + The most number of routees the router should ever have. + Must be greater than or equal to `lowerBound`. + + + + + * Threshold to evaluate if routee is considered to be busy (under pressure). + Implementation depends on this value (default is 1). +
    +
  • 0: number of routees currently processing a message.
  • +
  • 1: number of routees currently processing a message has + some messages in mailbox.
  • +
  • > 1: number of routees with at least the configured `pressureThreshold` + messages in their mailbox. Note that estimating mailbox size of + default UnboundedMailbox is O(N) operation.
  • +
+
+
+ + + Percentage to increase capacity whenever all routees are busy. + For example, 0.2 would increase 20% (rounded up), i.e. if current + capacity is 6 it will request an increase of 2 more routees. + + + + + Minimum fraction of busy routees before backing off. + For example, if this is 0.3, then we'll remove some routees only when + less than 30% of routees are busy, i.e. if current capacity is 10 and + 3 are busy then the capacity is unchanged, but if 2 or less are busy + the capacity is decreased. + + Use 0.0 or negative to avoid removal of routees. + + + + + Fraction of routees to be removed when the resizer reaches the + backoffThreshold. + For example, 0.1 would decrease 10% (rounded up), i.e. if current + capacity is 9 it will request an decrease of 1 routee. + + + + + Number of messages between resize operation. + Use 1 to resize before each message. + + + + + Determines whether the specified resizer, is equal to this instance. + + The resizer to compare. + true if the specified router is equal to this instance; otherwise, false. + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + This class contains logic used by a to route a message to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router iterates + again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The index to use when starting the selection process. Note that it will start at (next + 1). + + + + Picks the next in the collection to receive the . + + The message that is being routed. + A collection of routees to choose from when receiving the . + A that is receives the . + + + + This class represents a router that sends messages to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router + iterates again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using round-robin. + This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router + iterates again from the beginning of the list. + + For concurrent calls, round robin is just a best effort. + + + The configuration parameter trumps the constructor arguments. This means that + if you provide `paths` during instantiation they will be ignored if + the router is defined in the configuration file for the actor being used. + + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + + + + + + Initializes a new instance of the class. + + A list of paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + + + + Obsolete. Use instead. + + N/A + + + + Initializes a new instance of the class. + + A list of paths used by the group router. + The dispatcher to use when passing messages to routees. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + Remove routees from . Messages in flight may still + be routed to the old instance containing the old routees. + + TBD + TBD + + + + Used to stop child routees - typically used in resizable routers + + TBD + + + + TBD + + + + + Called when is initialized but before the base class' to + be able to do extra initialization in a subclass. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + This class contains logic used by a to route messages to one or more actors. + These actors are known in the system as a . + + + + + Picks a to receive the . + + Normally it picks one of the passed routees, but it is up to the implementation + to return whatever to use for sending a specific message. + + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Create a new instance with the specified routees and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance with one more routee and the same . + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + Create a new instance without the specified routee. + + TBD + TBD + + + + INTERNAL API + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + This class provides base functionality used in the creation and configuration of the various routers in the system. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + This method defaults to setting the dispatcher to use the . + + + The dispatcher to use when passing messages to routees. + + + + A configuration that specifies that no router is to be used. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The ActorSystem this router belongs to. + The newly created router tied to the given system. + + + + Dispatcher ID to use for running the "head" actor, which handles supervision, death watch and router management messages. + + + + + Possibility to define an actor for controlling the routing + logic from external stimuli(e.g.monitoring metrics). + This actor will be a child of the router "head" actor. + Management messages not handled by the "head" actor are + delegated to this controller actor. + + + + + Determines whether a provided message is handled by the router. + + The message to inspect. + true if this message is handled by the router; otherwise false. + + + + Specify that this router should stop itself when all routees have terminated (been removed). + By Default it is `true`, unless a `resizer` is used. + + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Check that everything is there which is needed. Called in constructor of RoutedActorRef to fail early. + + TBD + + + + The router "head" actor. + + + + + Creates a surrogate representation of the current router. + + The actor system that owns this router. + The surrogate representation of the current router. + + + + + + + + + + This class provides base functionality for all group routers in the system. + Group routers are routers that use already created routees. These routees + are supplied to the router and are addressed through + paths. + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Adds the current router to an empty . + + An empty configured to use the current router. + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + + + + + + + + + + + + + This class provides base functionality for all pool routers in the system. + Pool routers are routers that create their own routees based on the provided + configuration. + + + + + Initializes a new instance of the class. + + If a is not provided, this constructor sets up + the pool to use the default dispatcher . + + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Retrieves the current number of routees in the pool. + + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Retrieve whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + Creates a new configured to use the provided + and the pool dispatcher if enabled. + + The to configure with the pool dispatcher. + The context for the provided . + + A new configured to use the provided + and the pool dispatcher if enabled. + + + + + TBD + + TBD + TBD + TBD + + + + Retrieve the resizer to use when dynamically allocating routees to the pool. + + + + + Retrieve the strategy to use when supervising the pool. + + + + + Adds the current router to the provided . + + The to configure with the current router. + The provided configured to use the current router. + + + + Specify that this router should stop itself when all routees have terminated (been removed). + + + + + TBD + + TBD + + + + TBD + + + + + + + + + + + + + + If a custom router implementation is not a nor + a it may extend this base class. + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Router configuration which has no default, i.e. external configuration is required. + This can be used when the dispatcher to be used for the head Router needs to be configured + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + TBD + TBD + TBD + + + + Retrieves a based on what's stored in the configuration. + + This router is set to use the default dispatcher . + + + + + + N/A + + N/A + + This exception is automatically thrown since cannot create routers. + + N/A + + + + N/A + + + This exception is automatically thrown since cannot create router actors. + + N/A + + + + N/A + + N/A + + This exception is automatically thrown since 'akka.actor.dispatch' is missing router configuration for . + + N/A + + + + Setting the supervisor strategy to be used for the "head" Router actor + + TBD + TBD + + + + Setting the resizer to be used. + + TBD + TBD + + + + Setting the dispatcher to be used for the router head actor, which handles + supervision, death watch and router management messages. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Enriches a with what what's stored in the router configuration. + + TBD + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + Routing configuration that indicates no routing; this is also the default + value which hence overrides the merge strategy in order to accept values + from lower-precedence sources. The decision whether or not to create a + router is taken in the based on . + + + + + TBD + + + + + N/A + + N/A + + This exception is automatically thrown since cannot create routers. + + N/A + + + + N/A + + + This exception is automatically thrown since cannot create router actors. + + N/A + + + + N/A + + + This exception is automatically thrown since does not have a dispatcher. + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class contains convenience methods used to send messages to a . + + + + + Sends a to a + to retrieve a list of routees that the router is currently using. + + + + + This class represents a non-routed message that is processed by the . + These types of messages are for managing the router itself, like adding routees, deleting + routees, etc. + + + + + This class represents a sent to a instructing + it to send a message back to the requestor that lists the routees that the router + is currently using. + + + + + This class represents a message used to carry information about what routees a is currently using. + + + + + Initializes a new instance of the class. + + The routees that a is currently using. + + + + An enumeration of routees that a is currently using. + + + + + This class represents a sent to a instructing + it to remove a specific routee from the router's collection of routees. It may be handled after other messages. + + + For a pool with child routees the routee is stopped by sending a + to the routee. Precautions are taken to reduce the risk of dropping messages that are concurrently + being routed to the remove routee, but there are no guarantees. + + + + + + Initializes a new instance of the class. + + The routee to remove from the router's collection of routees. + + + + The routee removed from the router's collection of routees. + + + + + This class represents a sent to a instructing + it to add a specific routee to the router's collection of routees. It may be handled after other messages. + + + + + Initializes a new instance of the class. + + The routee added to the router's collection of routees. + + + + The routee added to the router's collection of routees. + + + + + This class represents a sent to a router instructing + it to increase or decrease the number of alloted routees the router can use. It may be handled after other messages. + + + Positive will add that number of routees to the . + Negative will remove that number of routees from the . + + + Routees are stopped by sending a to the routee. + Precautions are taken to reduce the risk of dropping messages that are concurrently + being routed to the remove routee, but there are no guarantees. + + + + + + Initializes a new instance of the class. + + The number of routees to add or subtract from the . + + + + The number of routees added or subtracted from the . + + + + + INTERNAL API + + Actor implementation for routers. + + + + + TBD + + + + + Initializes a new instance of the class. + + The supervisor strategy. + TBD + + + + TBD + + TBD + + + + Called when [receive]. + + The message. + + + + This class contains logic used by a to route a message to a determined + using scatter-gather-first-completed. This process has the router send a message to all of its routees. The first + response is used and the remaining are discarded. If the none of the routees respond within a specified time + limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The amount of time to wait for a response. + + + + Picks all the provided to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + This class represents a single point that sends messages to a determined + using scatter-gather-first-completed. This process has the router send a message to all of its routees. The first + response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The list of routees that the router uses to send messages. + The time within which at least one response is expected. + + + + Sends a message to the collection of routees. + + The message that is being sent. + The actor sending the message. + + + + This class represents a router that sends messages to a determined using scatter-gather-first-completed. + This process has the router send a message to all of its routees. The first response is used and the remaining are discarded. If the none of the + routees respond within a specified time limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + 'within' must be defined in the provided configuration. + + + + + + Initializes a new instance of the class. + + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The amount of time to wait for a response. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + The amount of time to wait for a response. + true to use the pool dispatcher; otherwise false. + + + + The amount of time to wait for a response. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The amount of time to wait for a response. + + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using scatter-gather-first-completed. + This process has the router send a message to all of its routees. The first response is used and the remaining are discarded. If the none of the + routees respond within a specified time limit, a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + If 'within' is defined in the provided configuration then that will be used as the interval. + + + + + + Initializes a new instance of the class. + + The amount of time to wait for a response. + A list of actor paths used by the group router. + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The amount of time to wait for a response. + + + + Obsolete. Use instead. + + new ScatterGatherFirstCompletedGroup(actorRefs.Select(c => c.Path.ToString()), within) + + + N/A + N/A + + + + Initializes a new instance of the class. + + An enumeration of actor paths used by the group router. + The amount of time to wait for a response. + The dispatcher to use when passing messages to the routees. + + + + The amount of time to wait for a response. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The amount of time to wait for a response. + + + + + The actor paths used by this router during routee selection. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class contains logic used by a to route a message to a + determined using smallest-mailbox. This process has the router select a routee based on the fewest number + of messages in its routees' mailbox. The selection is done in the following order: + +
    +
  • Pick any routee with an empty mailbox.
  • +
  • Pick a routee with the fewest pending messages in its mailbox.
  • +
  • Pick any remaining routees.
  • +
+ + Remote routees are consider lowest priority, since their mailbox size is unknown. + + + For the case, when all routees are of unpredictable size, the selection process fails back to round-robin. + +
+
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Seed value used in the fallback selection process. + + + + Picks a to receive the . + + The message that is being routed + A collection of routees to choose from when receiving the . + A that receives the . + + + + This class represents a router that sends messages to a determined using smallest-mailbox. + Please refer to for more information on the selection process. + + + + + Initializes a new instance of the class. + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + A configured in this way uses the supervisor strategy. + + + The initial number of routees in the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + true to use the pool dispatcher; otherwise false. + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class contains logic used by a to route a message to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The time within which at least one response is expected. + The duration after which the next routee will be picked. + The used to force deadlines. + + + + Picks all of the provided to receive the . + + The message that is being routed + A collection of routees used when receiving the . + A that receives the . + + + + This class represents a single point that sends messages to a determined using tail-chopping. + This process has the routee select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + The list of routees that the router uses to send messages. + The time within which at least one response is expected. + The duration after which the next routee will be picked. + The used to force deadlines. + + + + Sends a message to the collection of routees. + + The message that is being sent. + The actor sending the message. + + + + This class represents a router that sends messages to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + 'nr-of-instances', 'within', and 'tail-chopping-router.interval' + must be defined in the provided configuration. + + + The configuration used to configure the pool. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + + + + Initializes a new instance of the class. + + The initial number of routees in the pool. + The resizer to use when dynamically allocating routees to the pool. + The strategy to use when supervising the pool. + The dispatcher to use when passing messages to the routees. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + true to use the pool dispatcher; otherwise false. + + + + The amount of time to wait for a response. + + + + + The amount of time to wait before sending to the next routee. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Used by the to determine the initial number of routees. + + The actor system that owns this router. + The number of routees associated with this pool. + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given . + + + This method is immutable and returns a new instance of the router. + + + The used to configure the new router. + A new router with the provided . + + + + Creates a new router with a given dispatcher id. + + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Configure the current router with an auxiliary router for routes that it does not know how to handle. + + The router to use as an auxiliary source. + The router configured with the auxiliary information. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + The interval to wait before sending to the next routee. + + + The amount of time to wait for a response. + + + + The number of routees associated with this pool. + + + + + Determine whether or not to use the pool dispatcher. The dispatcher is defined in the + 'pool-dispatcher' configuration property in the deployment section of the router. + + + + + The resizer to use when dynamically allocating routees to the pool. + + + + + The strategy to use when supervising the pool. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This class represents a router that sends messages to a determined using tail-chopping. + This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. + The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, + a timeout failure occurs. + + + + + Initializes a new instance of the class. + + + The configuration to use to lookup paths used by the group router. + + If 'routees.path' is defined in the provided configuration then those paths will be used by the router. + If 'within' is defined in the provided configuration then that will be used as the timeout. + If 'tail-chopping-router.interval' is defined in the provided configuration then that will be used as the interval. + + + + + + Initializes a new instance of the class. + + The actor paths used by this router during routee selection. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + + + + Initializes a new instance of the class. + + The actor paths used by this router during routee selection. + The amount of time to wait for a response. + The interval to wait before sending to the next routee. + The dispatcher to use when passing messages to the routees. + + + + The amount of time to wait for a response. + + + + + The amount of time to wait before sending to the next routee. + + + + + Creates a router that is responsible for routing messages to routees within the provided . + + The actor system that owns this router. + The newly created router tied to the given system. + + + + Retrieves the actor paths used by this router during routee selection. + + The actor system that owns this router. + An enumeration of actor paths used during routee selection + + + + Creates a new router with a given dispatcher id. + + This method is immutable and returns a new instance of the router. + + + The dispatcher id used to configure the new router. + A new router with the provided dispatcher id. + + + + Creates a surrogate representation of the current . + + The actor system that owns this router. + The surrogate representation of the current . + + + + This class represents a surrogate of a router. + Its main use is to help during the serialization process. + + + + + Creates a encapsulated by this surrogate. + + The actor system that owns this router. + The encapsulated by this surrogate. + + + + The actor paths used by this router during routee selection. + + + + + The amount of time to wait for a response. + + + + + The interval to wait before sending to the next routee. + + + + + The dispatcher to use when passing messages to the routees. + + + + + This is a special that serializes and deserializes byte arrays only + (just returns the byte array unchanged/uncopied). + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + + This exception is thrown if the given is not a byte array. + + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + A typed settings for a class. + + + + + A default instance of used when no custom configuration has been provided. + + + + + Creates a new instance of the based on a provided . + Config may define several key-values: +
    +
  • `encode-type-names` (boolean) mapped to
  • +
  • `preserve-object-references` (boolean) mapped to
  • +
  • `converters` (type list) mapped to . They must implement and define either default constructor or constructor taking as its only parameter.
  • +
+
+ Raised when no was provided. + Raised when types defined in `converters` list didn't inherit . +
+ + + When true, serializer will encode a type names into serialized json $type field. This must be true + if is a default serializer in order to support polymorphic + deserialization. + + + + + When true, serializer will track a reference dependencies in serialized object graph. This must be + true if . + + + + + A collection of an additional converter types to be applied to a . + Converters must inherit from class and implement a default constructor. + + + + + Creates a new instance of the . + + Determines if a special `$type` field should be emitted into serialized JSON. Must be true if corresponding serializer is used as default. + Determines if object references should be tracked within serialized object graph. Must be true if corresponding serialize is used as default. + A list of types implementing a to support custom types serialization. + + + + This is a special that serializes and deserializes javascript objects only. + These objects need to be in the JavaScript Object Notation (JSON) format. + + + + + TBD + + + + + TBD + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + TBD + + + + + TBD + + TBD + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + true if this instance can convert the specified object type; otherwise, false. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + This is a special that serializes and deserializes nulls only + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Completely unique value to identify this implementation of the used to optimize network traffic + + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Deserializes a byte array into an object of type + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Serialization information needed for serializing local actor refs. + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Deserializes the given array of bytes using the specified serializer id, using the optional type hint to the Serializer. + + TBD + TBD + TBD + + This exception is thrown if the system cannot find the serializer with the given . + + The resulting object + + + + Deserializes the given array of bytes using the specified serializer id, using the optional type hint to the Serializer. + + TBD + TBD + TBD + + This exception is thrown if the system cannot find the serializer with the given + or it couldn't find the given with the given . + + The resulting object + + + + Returns the Serializer configured for the given object, returns the NullSerializer if it's null. + + TBD + TBD + + + + Returns the configured Serializer for the given Class. The configured Serializer + is used if the configured class `IsAssignableFrom` from the type, i.e. + the configured class is a super class or implemented interface. In case of + ambiguity it is primarily using the most specific configured class, + and secondly the entry configured first. + + TBD + + This exception is thrown if the serializer of the given could not be found. + + TBD + + + + TBD + + TBD + TBD + + + + A Serializer represents a bimap between an object and an array of bytes representing that object. + + Serializers are loaded using reflection during + start-up, where two constructors are tried in order: + +
    +
  • taking exactly one argument of type ; + this should be the preferred one because all reflective loading of classes + during deserialization should use ExtendedActorSystem.dynamicAccess (see + [[akka.actor.DynamicAccess]]), and
  • +
  • without arguments, which is only an option if the serializer does not + load classes using reflection.
  • +
+ + Be sure to always use the PropertyManager for loading classes! This is necessary to + avoid strange match errors and inequalities which arise from different class loaders loading + the same class. +
+
+ + + The actor system to associate with this serializer. + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Completely unique value to identify this implementation of Serializer, used to optimize network traffic + Values from 0 to 16 is reserved for Akka internal usage + + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Serializes the given object into a byte array + + The object to serialize + A byte array containing the serialized object + + + + Serializes the given object into a byte array and uses the given address to decorate serialized ActorRef's + + The address to use when serializing local ActorRef´s + The object to serialize + TBD + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Deserializes a byte array into an object. + + The array containing the serialized object + The object contained in the array + + + + TBD + + + + + Initializes a new instance of the class. + + The actor system to associate with this serializer. + + + + Returns whether this serializer needs a manifest in the fromBinary method + + + + + Deserializes a byte array into an object of type . + + The array containing the serialized object + The type of object contained in the array + The object contained in the array + + + + Deserializes a byte array into an object using an optional (type hint). + + The array containing the serialized object + The type hint used to deserialize the object contained in the array. + The object contained in the array + + + + Returns the manifest (type hint) that will be provided in the method. + + + This method returns if a manifest is not needed. + + + The object for which the manifest is needed. + The manifest needed for the deserialization of the specified . + + + + INTERNAL API. + + + + + TBD + + + + + TBD + + TBD + TBD + + This exception is thrown if the system couldn't find the given serializer id in the configuration. + + TBD + + + + Implementation of the java.concurrent.util.AtomicBoolean type. + + Uses internally to enforce ordering of writes + without any explicit locking. .NET's strong memory on write guarantees might already enforce + this ordering, but the addition of the MemoryBarrier guarantees it. + + + + + Sets the initial value of this to . + + TBD + + + + The current value of this + + + + + If equals , then set the Value to + . + + TBD + TBD + true if was set + + + + Atomically sets the to and returns the old . + + The new value + The old value + + + + Performs an implicit conversion from to . + + The boolean to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The boolean to convert + The result of the conversion. + + + + Implementation of the java.concurrent.util AtomicReference type. + + Uses internally to enforce ordering of writes + without any explicit locking. .NET's strong memory on write guarantees might already enforce + this ordering, but the addition of the Volatile guarantees it. + + TBD + + + + Sets the initial value of this to . + + TBD + + + + Default constructor + + + + + TBD + + + + + The current value of this + + + + + If equals , then set the Value to + . + + TBD + TBD + true if was set + + + + Atomically sets the to and returns the old . + + The new value + The old value + + + + Performs an implicit conversion from to . + + The reference to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The reference to convert + The result of the conversion. + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + N/A + + TBD + N/A + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + N/A + + N/A + TBD + N/A + + + + N/A + + N/A + TBD + N/A + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + + + + Get a single Byte from this iterator. Identical to next(). + + TBD + + + + Get a single Short from this iterator. + + TBD + TBD + + + + Get a single Int from this iterator. + + TBD + TBD + + + + Get a single Long from this iterator. + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + Retrieves an enumerator that iterates through the collection. + + An enumerator that can be used to iterate through the collection. + + + + Performs an implicit conversion from to . + + The array to convert + The result of the conversion. + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Implements a circular around an existing . + + This allows for continuous read-only iteration over a set. + + The type of objects to enumerate + + + + Initializes a new instance of the class. + + The raw iterator from some object + + + + + + + + + + + + + + + + Extension method class for adding support to any + instance within Akka.NET + + + + + Provides a instance for . + + Internally, it just wraps 's internal iterator with circular iteration behavior. + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Performs an implicit conversion from to . + + The object to convert + The result of the conversion. + + + + Performs an implicit conversion from to . + + The object to convert + The result of the conversion. + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + A fast, atomic lazy that only allows a single publish operation to happen, + but allows executions to occur concurrently. + + Does not cache exceptions. Designed for use with types that are + or are otherwise considered to be expensive to allocate. + + Read the full explanation here: https://github.com/Aaronontheweb/FastAtomicLazy#rationale + + TBD + + + + Initializes a new instance of the class. + + + This exception is thrown if the given is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + A fast, atomic lazy that only allows a single publish operation to happen, + but allows executions to occur concurrently. + + Does not cache exceptions. Designed for use with types that are + or are otherwise considered to be expensive to allocate. + + Read the full explanation here: https://github.com/Aaronontheweb/FastAtomicLazy#rationale + + State type + Value type + + + + Initializes a new instance of the class. + + + This exception is thrown if the given or is undefined. + + + + + TBD + + TBD + + + + TBD + + + + + An implementation of a ConcurrentMultiMap - in CLR that would be something like + where TValue is another . + + Add/remove is serialized over the specified key. + Reads are fully concurrent. + + TBD + TBD + + + + TBD + + + + + Associates the value of with key of type . + + The key to add. + The value to add. + true if the value didn't exist for the key previously, and false otherwise. + + + + Find some for the first matching value where the supplied + returns true for the given key. + + The key to use. + The predicate to filter values associated with . + The first matching . default(TValue) otherwise. + + + + TBD + + TBD + + + + Applies the supplied to all keys and their values. + + The function to apply. + + + + Returns the union of all value sets. + + + + + Returns the key set. + + + + + Disassociates the value of from + the key of . + + The key. + The value. + true if was removed. false otherwise. + + + + Remove the given from all keys. + + The value we're going to remove, if it exists for any key. + + + + Disassociates all values for the specified key. + + The key we're going to remove. + An enumerable collection of if the key exists. An empty collection otherwise. + + + + Returns true if the index is empty. + + + + + Removes all keys and values + + + + + Provides extension utilities to arrays. + + + + + Determines if an array is null or empty. + + The array to check. + True if null or empty, false otherwise. + + + + Determines if an array is not null or empty. + + The array to check. + True if not null or empty, false otherwise. + + + + Shuffles an array of objects. + + The type of the array to sort. + The array to sort. + + + + Implementation of Scala's ZipWithIndex method. + + Folds a collection into a Dictionary where the original value (of type T) acts as the key + and the index of the item in the array acts as the value. + + TBD + TBD + TBD + + + + Grabs a subset of an IEnumerable based on a starting index and position + + TBD + The array of items to slice + The starting position to begin the slice + The number of items to take + A slice of size beginning from position in . + + + + Select all the items in this array beginning with and up until the end of the array. + + + If is not found in the array, From will return an empty set. + If is found at the end of the array, From will return the entire original array. + + + TBD + TBD + TBD + TBD + + + + Select all the items in this array from the beginning until (but not including) + + If is not found in the array, Until will select all items. + If is the first item in the array, an empty array will be returned. + + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + An atomic 32 bit integer counter. + + + + + Creates an instance of an AtomicCounter. + + The initial value of this counter. + + + + Creates an instance of an AtomicCounter with a starting value of -1. + + + + + The current value of the atomic counter. + + + + + Retrieves the current value of the counter + + + + + Increments the counter and returns the next value + + TBD + + + + Decrements the counter and returns the next value + + TBD + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Atomically decrements the counter by one. + + The original value. + + + + Atomically decrements the counter by one. + + The new value. + + + + Returns the current value and adds the specified value to the counter. + + The amount to add to the counter. + The original value before additions. + + + + Adds the specified value to the counter and returns the new value. + + The amount to add to the counter. + The new value after additions. + + + + Resets the counter to zero. + + + + + Returns current counter value and sets a new value on it's place in one operation. + + TBD + TBD + + + + Compares current counter value with provided value, + and sets it to if compared values where equal. + Returns true if replacement has succeed. + + TBD + TBD + TBD + + + + An atomic 64 bit integer counter. + + + + + Creates an instance of an AtomicCounterLong. + + The initial value of this counter. + + + + Creates an instance of an AtomicCounterLong with a starting value of -1. + + + + + The current value for this counter. + + + + + Retrieves the current value of the counter + + + + + Increments the counter and returns the next value. + + TBD + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Atomically decrements the counter by one + + The new value + + + + Gets the current value of the counter and adds an amount to it. + + This uses a CAS loop as Interlocked.Increment is not atomic for longs on 32bit systems. + The amount to add to the counter. + The original value. + + + + Adds an amount to the counter and returns the new value. + + This uses a CAS loop as Interlocked.Increment is not atomic for longs on 32bit systems. + The amount to add to the counter. + The new counter value. + + + + Resets the counter to zero. + + + + + Returns current counter value and sets a new value on it's place in one operation. + + TBD + TBD + + + + Compares current counter value with provided value, + and sets it to if compared values where equal. + Returns true if replacement has succeed. + + TBD + TBD + TBD + + + + TBD + + TBD + + + + Internal state abstraction + + + + + TBD + + TBD + TBD + + + + Add a listener function which is invoked on state entry + + listener implementation + + + + Test for whether listeners exist + + + + + Notifies the listeners of the transition event via a + + TBD + + + + Shared implementation of call across all states. Thrown exception or execution of the call beyond the allowed + call timeout is counted as a failed call, otherwise a successful call + + NOTE: In .Net there is no way to cancel an uncancellable task. We are merely cancelling the wait and marking this + as a failure. + + see http://blogs.msdn.com/b/pfxteam/archive/2011/11/10/10235834.aspx + + TBD + Implementation of the call + result of the call + + + + Shared implementation of call across all states. Thrown exception or execution of the call beyond the allowed + call timeout is counted as a failed call, otherwise a successful call + + NOTE: In .Net there is no way to cancel an uncancellable task. We are merely cancelling the wait and marking this + as a failure. + + see http://blogs.msdn.com/b/pfxteam/archive/2011/11/10/10235834.aspx + + Implementation of the call + + + + + Abstract entry point for all states + + TBD + Implementation of the call that needs protected + containing result of protected call + + + + Abstract entry point for all states + + Implementation of the call that needs protected + containing result of protected call + + + + Invoked when call fails + + + + + Invoked when call succeeds + + + + + Invoked on the transitioned-to state during transition. Notifies listeners after invoking subclass template method _enter + + + + + Enter the state. NotifyTransitionListeners is not awaited -- its "fire and forget". + It is up to the user to handle any errors that occur in this state. + + + + + This interface represents the parts of the internal circuit breaker state; the behavior stack, watched by, watching and termination queue + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + Scala alias for Skip + + TBD + TBD + TBD + TBD + + + + Scala alias for FirstOrDefault + + TBD + TBD + TBD + + + + Splits a 'dotted path' in its elements, honouring quotes (not splitting by dots between quotes) + + The input path + The path elements + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + Dictionary helper that allows for idempotent updates. You don't need to care whether or not + this item is already in the collection in order to update it. + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + Applies a delegate to all elements of this enumerable. + + The type of the elements of . + An to iterate. + The function that is applied for its side-effect to every element. The result of function is discarded. + + + + Selects last n elements. + + TBD + TBD + TBD + TBD + + + + An interface that describes a numeric counter. + + The type of the numeric. + + + + The current value of this counter. + + + + + Increments the counter and gets the next value. This is exactly the same as calling . + + + + + Atomically increments the counter by one. + + The original value. + + + + Atomically increments the counter by one. + + The new value. + + + + Returns the current value and adds the specified value to the counter. + + The amount to add to the counter. + The original value before additions. + + + + Adds the specified value to the counter and returns the new value. + + The amount to add to the counter. + The new value after additions. + + + + Resets the counter to zero. + + + + + Utility class for adding some basic immutable behaviors + to specific types of collections without having to reference + the entire BCL.Immutability NuGet package. + + INTERNAL API + + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is undefined. + + TBD + + + + TBD + + TBD + TBD + TBD + + This exception is thrown if the given is undefined. + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + INTERNAL! + Implements helpers for performing Compare-and-swap operations using + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + INTERNAL! + Atomically updates the object by calling to get the new value. + Note that may be called many times so it should be idempotent. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + The updated value. + + + INTERNAL! + Atomically updates the int by calling to get the new value. + returns a Tuple<should update, the new int value, the return value> + If the first item in the tuple is true, the value is updated, and the third value of the tuple is returned. + Note that may be called many times so it should be idempotent. + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + TBD + TBD + TBD + TBD + The third value from the tuple return by . + + + + Note! Part of internal API. Breaking changes may occur without notice. Use at own risk. + + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + INTERNAL API. + + Renamed from so it doesn't colide + with a helper class in the same namespace defined in System.Threadin.Tasks. + + + + + A completed task + + + + + Creates a failed + + The exception to use to fail the task. + A failed task. + + + + Creates a failed + + The exception to use to fail the task. + A failed task. + The type of + + + + INTERNAL API + + Extensions for working with types + + + + + TBD + + TBD + TBD + TBD + TBD + + + + Returns the task which completes with result of original task if cancellation token not canceled it before completion. + + The original task. + The cancellation token. + The task which completes with result of original task or with cancelled state. + + + + TBD + + + + + TBD + + TBD + TBD + + + + Used for surrogate serialization. + + + + + TBD + + TBD + TBD + + + + Priority queue implemented using a simple list with binary search for inserts. + This specific implementation is cheap in terms of memory but weak in terms of performance. + See http://visualstudiomagazine.com/articles/2012/11/01/priority-queues-with-c.aspx for original implementation + This specific version is adapted for Envelopes only and calculates a priority of envelope.Message + + + + + The default priority generator. + + + + + DEPRECATED. Should always specify priority calculator instead. + + The current capacity of the priority queue. + + + + Creates a new priority queue. + + The initial capacity of the queue. + The calculator function for assigning message priorities. + + + + DEPRECATED. Sets a new priority calculator. + + The calculator function for assigning message priorities. + + WARNING: SHOULD NOT BE USED. Use the constructor to set priority instead. + + + + + Enqueues a message into the priority queue. + + The item to enqueue. + + + + Dequeues the highest priority message at the front of the priority queue. + + The highest priority message . + + + + Peek at the message at the front of the priority queue. + + The highest priority message . + + + + Counts the number of items in the priority queue. + + The total number of items in the queue. + + + + Converts the queue to a string representation. + + A string representation of the queue. + + + + TBD + + TBD + + + + INTERNAL API + + A Monotonic clock implementation based on total uptime. + Used for keeping accurate time internally. + + + + + Time as measured by the current system up-time. + + + + + High resolution elapsed time as determined by a + running continuously in the background. + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + Ticks represent 100 nanos. https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx + + This extension method converts a Ticks value to nano seconds. + + TBD + TBD + + + + Ticks represent 100 nanos. https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx + + This extension method converts a nano seconds value to Ticks. + + TBD + TBD + + + + Murmur3 Hash implementation + + + + The first 23 magic integers from the first stream are stored here + + + The first 23 magic integers from the second stream are stored here + + + + The initial magic integer in the first stream. + + + + + The initial magic integer in the second stream. + + + + + TBD + + + + + Begin a new hash with a seed value. + + TBD + TBD + + + + Given a magic integer from the first stream, compute the next + + TBD + TBD + + + + Given a magic integer from the second stream, compute the next + + TBD + TBD + + + + Incorporates a new value into an existing hash + + The prior hash value + The new value to incorporate + A magic integer from the left of the stream + A magic integer from a different stream + The updated hash value + + + + Once all hashes have been incorporated, this performs a final mixing. + + TBD + TBD + + + + Rotate a 32-bit unsigned integer to the left by bits + + Original value + The shift value + The rotated 32-bit integer + + + + Rotate a 64-bit unsigned integer to the left by bits + + Original value + The shift value + The rotated 64-bit integer + + + + Compute a high-quality hash of a byte array + + TBD + TBD + + + + Compute a high-quality hash of an array + + TBD + TBD + + + + Compute high-quality hash of a string + + TBD + TBD + + + + Compute a hash that is symmetric in its arguments--that is, + where the order of appearance of elements does not matter. + This is useful for hashing sets, for example. + + TBD + TBD + TBD + + + + Extension method class to make it easier to work with instances + + + + + Converts a into an array of + + TBD + + This exception is thrown if there aren't enough bits in the given to make a byte. + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + Gets the with the specified name, performing a case-sensitive search and throw an exception if the type is not found. + + + + The type with the specified name. If the type is not found, an exception is thrown. + + + The assembly-qualified name of the type to get. See . + If the type is in Akka.dll or in Mscorlib.dll, it is sufficient to supply the type name qualified by its namespace. + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + This exception is thrown if the current is undefined. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + TBD + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares two specified for equality. + + The first used for comparison + The second used for comparison + true if both are equal; otherwise false + + + + Compares two specified for inequality. + + The first used for comparison + The second used for comparison + true if both are not equal; otherwise false + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + Used to detect specific .NET runtimes, to make it easier to adjust for platform specific + differences. + + + Mostly used for detecting Mono right now because certain features, i.e. IPV6 support, aren't + fully supported on it. Can also be used for picking platform-specific implementations of things + such as Akka.Cluster.Metrics implementations. + + + + + Is true if we're running on a Mono VM. false otherwise. + + + + + This class contains methods for thread safe writing to the standard output stream. + + + + + Writes the specified value to the standard output stream. Optionally + you may specify which colors should be used. + + The value to write + Optional: The foreground color + Optional: The background color + + + + Writes the specified value, followed by the current line terminator, + to the standard output stream. Optionally you may specify which colors should be used. + + The value to write + Optional: The foreground color + Optional: The background color + + + + TBD + + + + + Concatenates the values, using the specified separator between the elements. + This method is similar to except it + formats null values as <null> + + The separator. + The arguments. + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + An atomic switch that can be either on or off + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + Executes the provided action if the lock is on. This is done under a lock so be _very_ careful with longrunning/blocking operations in it. + Only executes the action if the switch is on, and switches it off immediately after obtaining the lock. + Will switch it back on if the provided action throws an exception. + + TBD + Returns true if the switch was switched off + + + + Executes the provided action if the lock is off. This is done under a lock so be _very_ careful with longrunning/blocking operations in it. + Only executes the action if the switch is off, and switches it on immediately after obtaining the lock. + Will switch it back off if the provided action throws an exception. + + TBD + Returns true if the switch was switched on + + + + Switches the switch off (if on). Uses locking. + + Returns true if the switch was switched off + + + + Switches the switch on (if off). Uses locking. + + Returns true if the switch was switched on + + + + Executes the provided action and returns if the action was executed or not, if the switch is IMMEDIATELY on (i.e. no lock involved) + + The action. + Return true if the switch was on + + + + Executes the provided action and returns if the action was executed or not, if the switch is IMMEDIATELY off (i.e. no lock involved) + + The action. + Return true if the switch was off + + + + Executes the provided action and returns if the action was executed or not, if the switch is on, waiting for any pending changes to happen before (locking) + Be careful of longrunning or blocking within the provided action as it can lead to deadlocks or bad performance + + TBD + TBD + + + + Executes the provided action and returns if the action was executed or not, if the switch is off, waiting for any pending changes to happen before (locking) + Be careful of longrunning or blocking within the provided action as it can lead to deadlocks or bad performance + + TBD + TBD + + + + Gets a value indicating whether this switch is on. No locking. + + + true if this instance is on; otherwise, false. + + + + + Gets a value indicating whether this switch is off. No locking. + + + true if this instance is off; otherwise, false. + + + + + TBD + + TBD + + + + Create random numbers with Thread-specific seeds. + + Borrowed form Jon Skeet's brilliant C# in Depth: http://csharpindepth.com/Articles/Chapter12/Random.aspx + + + + + The current random number seed available to this thread + + + + + INTERNAL API + + + + + Initializes a new instance of the class. + + TBD + TBD + + This exception is thrown when either the specified is less than zero + or the specified is less than or equal to zero. + + + + + This method must be called before the token bucket can be used. + + + + + The current time in ticks. The returned value is monotonic, might wrap over and has no relationship with wall-clock. + + The current time in ticks as Long + + + + Call this (side-effecting) method whenever an element should be passed through the token-bucket. This method + will return the number of nanoseconds the element needs to be delayed to conform with the token bucket parameters. + Returns zero if the element can be emitted immediately. The method does not handle overflow, if an element is to + be delayed longer in nanoseconds than what can be represented as a positive Long then an undefined value is returned. + + If a non-zero value is returned, it is the responsibility of the caller to not call this method before the + returned delay has been elapsed (but can be called later). This class does not check or protect against early + calls. + + How many tokens the element costs. Can be larger than the capacity of the bucket. + + This exception is thrown when the specified is less than zero. + + TBD + + + + Default implementation of that uses as the time source. + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + Class TypeExtensions. + + + + + Returns true if implements/inherits . + typeof(object[]).Implements<IEnumerable>() --> true + + TBD + The type. + true if XXXX, false otherwise. + + + + Returns true if implements/inherits . + typeof(object[]).Implements(typeof(IEnumerable)) --> true + + The type. + Type of the more general. + true if XXXX, false otherwise. + + + + Utility to be used by implementors to create a manifest from the type. + The manifest is used to look up the type on deserialization. + + TBD + Returns the type qualified name including namespace and assembly, but not assembly version. + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + A searchable nested dictionary, represents a searchable tree structure underneath + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + The handler is a Action<T> + + + The handler is a Action<T> and a Predicate<T> is specified + + + The handler is a Func<T, bool> + + + + TBD + + + + + Produces a delegate that represents the lambda expression. + + The expression to compile + A delegate containing the compiled version of the lambda. + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + Builds the specified delegate and arguments to a + If the number of arguments are 0, the delegate should be a Func<,bool> + If the number of arguments are 1, the delegate should be a Func<,T1,bool> + ... + If the number of arguments are n, the delegate should be a Func<,T1,...,Tn,bool> + The maximum number of arguments i.e. n in the above example is therefore =14 + Given a delegate deleg of type Func<,T1,...,Tn,bool> and args [a_1,...a_n] then + the delegate corresponding to this code is returned: + (value) => deleg(value,a_1, ..., a_n) + + + The type of the value parameter in to the returned + The handler, i.e. a Func<,T1,...,Tn,bool> and arguments [a_1,...a_n]. + Returns a that calls the delegate with the arguments. + + + + TBD + + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + Initializes a new instance of the class. + + TBD + + This exception is thrown if the given is undefined. + + + + + Adds a handler that is called if the item being matched is of type + and , if it has been specified, returns true. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked when everything matches. + An optional predicate to test if the item matches. If it returns true the is invoked. + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + This exception is thrown if the current state is unknown. + + + + + Adds a handler that is called if the item being matched is of type + and , if it has been specified, returns true. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked when everything matches. + An optional predicate to test if the item matches. If it returns true the is invoked. + + This exception is thrown if the given cannot handle the given . + + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is called if the item being matched is of type . + The handler should return true if the item sent in matched and was handled. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked. It should return true if the item sent in matched and was handled. + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is called if the item being matched is of type . + The handler should return true if the item sent in matched and was handled. + Note that if a previous added handler handled the item, this will not be invoked. + + The type that it must match in order for to be called. + The handler that is invoked. It should return true if the item sent in matched and was handled. + + This exception is thrown if the given cannot handle the given . + + + This exception is thrown if the current state is unknown. + + + This exception is thrown if a handler that catches all messages has been added or a partial action has already been built. + + + + + Adds a handler that is invoked no matter the type the item being matched is. + Note that since this matches all items, no more handlers may be added after this one. + Note that if a previous added handler handled the item, this will not be invoked. + + + + + Builds all added handlers and returns a . + + Returns a + + + + TBD + + + + + TBD + + TBD + + + + This class contains the handled Types and HandlerKinds + that has been added to a . + Two signatures are equal if they contain the same Types and HandlerKinds + in the same order. + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + + This exception is thrown if the an unknown is contained + in a in the given . + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + TBD + + + + + An action that returns true if the was handled. + + The type of the argument + The argument. + Returns true if the was handled + + + + TBD + + + + + The maximum number of arguments=15 not including the obligatory first value argument in a partial action. + 16 is the maximum number of args in a Func, see + + + + + Builds the specified delegate and arguments to a If the number of arguments are 0, the delegate should be a Func<,bool>If the number of arguments are 1, the delegate should be a Func<,T1,bool>...If the number of arguments are n, the delegate should be a Func<,T1,...,Tn,bool>The maximum number of arguments i.e. n in the above example is therefore =14Given a delegate deleg of type Func<,T1,...,Tn,bool> and args [a_1,...a_n] then + the delegate corresponding to this code is returned: + (value) => deleg(value,a_1, ..., a_n) + + The type of the value parameter in to the returned + The handler, i.e. a Func<,T1,...,Tn,bool> and arguments [a_1,...a_n]. + + Returns a that calls the delegate with the arguments. + + + This exception is thrown if the number of arguments in the given exceeds the configured . + + + + + TBD + + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + TBD + TBD + TBD + + + + TBD + + TBD + TBD + TBD + + + + TBD + + + + + Initializes a new instance of the class. + + TBD + + This exception is thrown if the given is undefined. + + + + + TBD + + + + + TBD + + + + + TBD + + TBD + + + + The type of threads to use - either foreground or background threads. + + + + + Provides settings for a dedicated thread pool + + + + + Background threads are the default thread type + + + + + The total number of threads to run in this thread pool. + + + + + The type of threads to run in this thread pool. + + + + + Interval to check for thread deadlocks. + + If a thread takes longer than it will be aborted + and replaced. + + + + + TBD + + + + + TBD + + + + + Gets the thread stack size, 0 represents the default stack size. + + + + + TaskScheduler for working with a instance + + + + + Number of tasks currently running + + + + + TBD + + TBD + + + + TBD + + TBD + + + + TBD + + TBD + TBD + + + + TBD + + TBD + TBD + + + + Level of concurrency is directly equal to the number of threads + in the . + + + + + TBD + + + This exception is thrown if can't ensure a thread-safe return of the list of tasks. + + TBD + + + + An instanced, dedicated thread pool. + + + + + TBD + + TBD + + + + TBD + + + + + TBD + + + This exception is thrown if the given item is undefined. + + TBD + + + + TBD + + + + + TBD + + + + + TBD + + TBD + +
+