diff --git a/src/common.props b/src/common.props
index 3d03c575f1a..5fbbc945558 100644
--- a/src/common.props
+++ b/src/common.props
@@ -22,6 +22,7 @@
net6.0
net471
netstandard2.0
+ net6.0
5.10.3
true
2.16.4
diff --git a/src/contrib/cluster/Akka.Cluster.Metrics/Akka.Cluster.Metrics.csproj b/src/contrib/cluster/Akka.Cluster.Metrics/Akka.Cluster.Metrics.csproj
index e2b9c2a8efa..3570541a577 100644
--- a/src/contrib/cluster/Akka.Cluster.Metrics/Akka.Cluster.Metrics.csproj
+++ b/src/contrib/cluster/Akka.Cluster.Metrics/Akka.Cluster.Metrics.csproj
@@ -7,7 +7,7 @@
The member nodes of the cluster can collect system health metrics and publish that to other cluster nodes
and to the registered subscribers on the system event bus with the help of Cluster Metrics Extension.
- $(NetStandardLibVersion)
+ $(NetStandardLibVersion);$(NetLibVersion)
$(AkkaPackageTags);network;cluster;sharding
true
diff --git a/src/contrib/cluster/Akka.Cluster.Metrics/Collectors/DefaultCollector.cs b/src/contrib/cluster/Akka.Cluster.Metrics/Collectors/DefaultCollector.cs
index 8facf2fd985..6c3fcfaa301 100644
--- a/src/contrib/cluster/Akka.Cluster.Metrics/Collectors/DefaultCollector.cs
+++ b/src/contrib/cluster/Akka.Cluster.Metrics/Collectors/DefaultCollector.cs
@@ -85,7 +85,7 @@ public NodeMetrics Sample()
try
{
- TimeSpan measureStartTime;
+ TimeSpan measureStartTime = TimeSpan.Zero;
TimeSpan measureEndTime;
ImmutableDictionary currentCpuTimings;
diff --git a/src/contrib/cluster/Akka.Cluster.Sharding/Akka.Cluster.Sharding.csproj b/src/contrib/cluster/Akka.Cluster.Sharding/Akka.Cluster.Sharding.csproj
index 8234137e52c..4fa466c1905 100644
--- a/src/contrib/cluster/Akka.Cluster.Sharding/Akka.Cluster.Sharding.csproj
+++ b/src/contrib/cluster/Akka.Cluster.Sharding/Akka.Cluster.Sharding.csproj
@@ -1,25 +1,25 @@
-
+
-
- Akka.Cluster.Sharding
- Sharded actors with managed lifecycle for Akka.NET cluster
- $(NetStandardLibVersion)
- $(AkkaPackageTags);network;cluster;sharding
- true
-
+
+ Akka.Cluster.Sharding
+ Sharded actors with managed lifecycle for Akka.NET cluster
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);network;cluster;sharding
+ true
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
- $(DefineConstants);RELEASE
-
+
+ $(DefineConstants);RELEASE
+
diff --git a/src/contrib/cluster/Akka.Cluster.Tools/Akka.Cluster.Tools.csproj b/src/contrib/cluster/Akka.Cluster.Tools/Akka.Cluster.Tools.csproj
index dc65eda72f2..c52b9f4958c 100644
--- a/src/contrib/cluster/Akka.Cluster.Tools/Akka.Cluster.Tools.csproj
+++ b/src/contrib/cluster/Akka.Cluster.Tools/Akka.Cluster.Tools.csproj
@@ -1,22 +1,22 @@
-
+
-
- Akka.Cluster.Tools
- Distributed publish/subscribe, client and singleton support for Akka.NET cluster
- $(NetStandardLibVersion)
- $(AkkaPackageTags);network;cluster
- true
-
+
+ Akka.Cluster.Tools
+ Distributed publish/subscribe, client and singleton support for Akka.NET cluster
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);network;cluster
+ true
+
-
-
-
-
-
+
+
+
+
+
-
- $(DefineConstants);RELEASE
-
+
+ $(DefineConstants);RELEASE
+
diff --git a/src/contrib/cluster/Akka.DistributedData.LightningDB/Akka.DistributedData.LightningDB.csproj b/src/contrib/cluster/Akka.DistributedData.LightningDB/Akka.DistributedData.LightningDB.csproj
index bd0b5e1a0ac..9ad8db1a2fb 100644
--- a/src/contrib/cluster/Akka.DistributedData.LightningDB/Akka.DistributedData.LightningDB.csproj
+++ b/src/contrib/cluster/Akka.DistributedData.LightningDB/Akka.DistributedData.LightningDB.csproj
@@ -1,25 +1,25 @@
-
+
-
- Akka.DistributedData.LightningDB
- Replicated data using CRDT structures
- $(NetStandardLibVersion)
- $(AkkaPackageTags);network;cluster;crdt;replication;lightningdb;lmdb
- true
-
+
+ Akka.DistributedData.LightningDB
+ Replicated data using CRDT structures
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);network;cluster;crdt;replication;lightningdb;lmdb
+ true
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
- $(DefineConstants);RELEASE
-
+
+ $(DefineConstants);RELEASE
+
diff --git a/src/contrib/cluster/Akka.DistributedData/Akka.DistributedData.csproj b/src/contrib/cluster/Akka.DistributedData/Akka.DistributedData.csproj
index 8927f87542e..8f66cdd2e99 100644
--- a/src/contrib/cluster/Akka.DistributedData/Akka.DistributedData.csproj
+++ b/src/contrib/cluster/Akka.DistributedData/Akka.DistributedData.csproj
@@ -1,25 +1,25 @@
-
+
-
- Akka.DistributedData
- Replicated data using CRDT structures
- $(NetStandardLibVersion)
- $(AkkaPackageTags);network;cluster;crdt;replication
- true
-
+
+ Akka.DistributedData
+ Replicated data using CRDT structures
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);network;cluster;crdt;replication
+ true
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
- $(DefineConstants);RELEASE
-
+
+ $(DefineConstants);RELEASE
+
diff --git a/src/contrib/dependencyinjection/Akka.DependencyInjection/Akka.DependencyInjection.csproj b/src/contrib/dependencyinjection/Akka.DependencyInjection/Akka.DependencyInjection.csproj
index 1599b37d7d2..6ea139361aa 100644
--- a/src/contrib/dependencyinjection/Akka.DependencyInjection/Akka.DependencyInjection.csproj
+++ b/src/contrib/dependencyinjection/Akka.DependencyInjection/Akka.DependencyInjection.csproj
@@ -5,7 +5,7 @@
Akka.DependencyInjection
Dependency injection support for Akka.NET
- $(NetStandardLibVersion)
+ $(NetStandardLibVersion);$(NetLibVersion)
$(AkkaPackageTags);dependency injection
true
https://getakka.net/articles/actors/dependency-injection.html
diff --git a/src/contrib/persistence/Akka.Persistence.Query.Sql/Akka.Persistence.Query.Sql.csproj b/src/contrib/persistence/Akka.Persistence.Query.Sql/Akka.Persistence.Query.Sql.csproj
index a80b880462a..24a4b36a877 100644
--- a/src/contrib/persistence/Akka.Persistence.Query.Sql/Akka.Persistence.Query.Sql.csproj
+++ b/src/contrib/persistence/Akka.Persistence.Query.Sql/Akka.Persistence.Query.Sql.csproj
@@ -1,23 +1,23 @@
-
+
-
- Akka.Persistence.Query.Sql
- Akka.NET streams support for ADO.NET Persistence middleware.
- $(NetStandardLibVersion)
- $(AkkaPackageTags);persistence;eventsource;sql;reactive;streams
- true
-
+
+ Akka.Persistence.Query.Sql
+ Akka.NET streams support for ADO.NET Persistence middleware.
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);persistence;eventsource;sql;reactive;streams
+ true
+
-
-
-
-
-
-
+
+
+
+
+
+
-
- $(DefineConstants);RELEASE
-
+
+ $(DefineConstants);RELEASE
+
diff --git a/src/contrib/persistence/Akka.Persistence.Sql.Common/Akka.Persistence.Sql.Common.csproj b/src/contrib/persistence/Akka.Persistence.Sql.Common/Akka.Persistence.Sql.Common.csproj
index 6c74759db1c..6b8f9603a26 100644
--- a/src/contrib/persistence/Akka.Persistence.Sql.Common/Akka.Persistence.Sql.Common.csproj
+++ b/src/contrib/persistence/Akka.Persistence.Sql.Common/Akka.Persistence.Sql.Common.csproj
@@ -1,28 +1,28 @@
-
+
-
- Akka.Persistence.Sql.Common
- Akka.NET Persistence ADO.NET middleware
- $(NetStandardLibVersion)
- $(AkkaPackageTags);persistence;eventsource;sql
- true
-
+
+ Akka.Persistence.Sql.Common
+ Akka.NET Persistence ADO.NET middleware
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);persistence;eventsource;sql
+ true
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
- $(DefineConstants);RELEASE
-
+
+ $(DefineConstants);RELEASE
+
diff --git a/src/contrib/persistence/Akka.Persistence.Sqlite/Akka.Persistence.Sqlite.csproj b/src/contrib/persistence/Akka.Persistence.Sqlite/Akka.Persistence.Sqlite.csproj
index f324950c353..8cd1ca3a7ae 100644
--- a/src/contrib/persistence/Akka.Persistence.Sqlite/Akka.Persistence.Sqlite.csproj
+++ b/src/contrib/persistence/Akka.Persistence.Sqlite/Akka.Persistence.Sqlite.csproj
@@ -1,26 +1,26 @@
-
+
-
- Akka.Persistence.Sqlite
- Akka.NET Persistence journal and snapshot store backed by SQLite.
- $(NetStandardLibVersion)
- $(AkkaPackageTags);persistence;eventsource;sql;sqlite
- true
-
+
+ Akka.Persistence.Sqlite
+ Akka.NET Persistence journal and snapshot store backed by SQLite.
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);persistence;eventsource;sql;sqlite
+ true
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
- $(DefineConstants);RELEASE
-
+
+ $(DefineConstants);RELEASE
+
\ No newline at end of file
diff --git a/src/contrib/serializers/Akka.Serialization.Hyperion/Akka.Serialization.Hyperion.csproj b/src/contrib/serializers/Akka.Serialization.Hyperion/Akka.Serialization.Hyperion.csproj
index 8fb0de29efb..5de9e79e376 100644
--- a/src/contrib/serializers/Akka.Serialization.Hyperion/Akka.Serialization.Hyperion.csproj
+++ b/src/contrib/serializers/Akka.Serialization.Hyperion/Akka.Serialization.Hyperion.csproj
@@ -1,27 +1,23 @@
-
-
- Akka.Serialization.Hyperion
- Hyperion serializer for Akka.NET
- $(NetStandardLibVersion)
- $(AkkaPackageTags);hyperion;serializer;serialize
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ Akka.Serialization.Hyperion
+ Hyperion serializer for Akka.NET
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);hyperion;serializer;serialize
+ true
+
+
+
+
+
+
+
+
+
+
-
- $(DefineConstants);RELEASE
-
+
+ $(DefineConstants);RELEASE
+
diff --git a/src/contrib/testkits/Akka.TestKit.Xunit/Akka.TestKit.Xunit.csproj b/src/contrib/testkits/Akka.TestKit.Xunit/Akka.TestKit.Xunit.csproj
index a5fa056add7..036069b9d93 100644
--- a/src/contrib/testkits/Akka.TestKit.Xunit/Akka.TestKit.Xunit.csproj
+++ b/src/contrib/testkits/Akka.TestKit.Xunit/Akka.TestKit.Xunit.csproj
@@ -1,24 +1,24 @@
-
+
-
- Akka.TestKit.Xunit
- TestKit for writing tests for Akka.NET using xUnit.
- $(NetStandardLibVersion)
- $(AkkaPackageTags);testkit;xunit
- true
-
+
+ Akka.TestKit.Xunit
+ TestKit for writing tests for Akka.NET using xUnit.
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);testkit;xunit
+ true
+
-
-
-
-
+
+
+
+
-
- $(DefineConstants);RELEASE
-
-
-
- true
-
+
+ $(DefineConstants);RELEASE
+
+
+
+ true
+
diff --git a/src/contrib/testkits/Akka.TestKit.Xunit2/Akka.TestKit.Xunit2.csproj b/src/contrib/testkits/Akka.TestKit.Xunit2/Akka.TestKit.Xunit2.csproj
index e51a05c42f8..a9f35711792 100644
--- a/src/contrib/testkits/Akka.TestKit.Xunit2/Akka.TestKit.Xunit2.csproj
+++ b/src/contrib/testkits/Akka.TestKit.Xunit2/Akka.TestKit.Xunit2.csproj
@@ -1,24 +1,24 @@
-
+
-
- Akka.TestKit.Xunit2
- TestKit for writing tests for Akka.NET using xUnit.
- $(NetStandardLibVersion)
- $(AkkaPackageTags);testkit;xunit
- true
-
+
+ Akka.TestKit.Xunit2
+ TestKit for writing tests for Akka.NET using xUnit.
+ $(NetStandardLibVersion);$(NetLibVersion)
+ $(AkkaPackageTags);testkit;xunit
+ true
+
-
-
-
-
+
+
+
+
-
- $(DefineConstants);RELEASE
-
-
-
- true
-
+
+ $(DefineConstants);RELEASE
+
+
+
+ true
+
diff --git a/src/core/Akka.API.Tests/CoreAPISpec.cs b/src/core/Akka.API.Tests/CoreAPISpec.cs
index ef16a343b3b..9d8fbd4fb7d 100644
--- a/src/core/Akka.API.Tests/CoreAPISpec.cs
+++ b/src/core/Akka.API.Tests/CoreAPISpec.cs
@@ -35,7 +35,10 @@ static CoreAPISpec()
static Task VerifyAssembly()
{
- return Verifier.Verify(GeneratePublicApi(typeof(T).Assembly));
+ var settings = new VerifySettings() { };
+ settings.UniqueForRuntime();
+ settings.UseDirectory("verify");
+ return Verifier.Verify(GeneratePublicApi(typeof(T).Assembly), settings);
}
[Fact]
diff --git a/src/core/Akka.API.Tests/CoreAPISpec.ApproveCluster.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.Core.verified.txt
similarity index 100%
rename from src/core/Akka.API.Tests/CoreAPISpec.ApproveCluster.verified.txt
rename to src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.Core.verified.txt
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.DotNet.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.DotNet.verified.txt
new file mode 100644
index 00000000000..ba93f375105
--- /dev/null
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.DotNet.verified.txt
@@ -0,0 +1,458 @@
+[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://github.com/akkadotnet/akka.net")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Benchmarks")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Metrics")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding.Tests")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.TestKit")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests.Performance")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tools")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tools.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.DistributedData")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Management.Cluster.Http")]
+[assembly: System.Runtime.InteropServices.ComVisibleAttribute(false)]
+[assembly: System.Runtime.InteropServices.GuidAttribute("0e3e691b-0c31-4718-9b1a-d749b93208c9")]
+[assembly: System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName="")]
+namespace Akka.Cluster
+{
+ public sealed class AutoDowning : Akka.Cluster.IDowningProvider
+ {
+ public AutoDowning(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public class Cluster : Akka.Actor.IExtension
+ {
+ public Cluster(Akka.Actor.Internal.ActorSystemImpl system) { }
+ public Akka.Cluster.IDowningProvider DowningProvider { get; }
+ public Akka.Remote.DefaultFailureDetectorRegistry FailureDetector { get; }
+ public bool IsTerminated { get; }
+ public Akka.Actor.Address SelfAddress { get; }
+ public Akka.Cluster.Member SelfMember { get; }
+ public System.Collections.Immutable.ImmutableHashSet SelfRoles { get; }
+ public Akka.Cluster.UniqueAddress SelfUniqueAddress { get; }
+ public Akka.Cluster.ClusterSettings Settings { get; }
+ public Akka.Cluster.ClusterEvent.CurrentClusterState State { get; }
+ public Akka.Actor.ExtendedActorSystem System { get; }
+ public void Down(Akka.Actor.Address address) { }
+ public static Akka.Cluster.Cluster Get(Akka.Actor.ActorSystem system) { }
+ public void Join(Akka.Actor.Address address) { }
+ public System.Threading.Tasks.Task JoinAsync(Akka.Actor.Address address, System.Threading.CancellationToken token = null) { }
+ public void JoinSeedNodes(System.Collections.Generic.IEnumerable seedNodes) { }
+ public System.Threading.Tasks.Task JoinSeedNodesAsync(System.Collections.Generic.IEnumerable seedNodes, System.Threading.CancellationToken token = null) { }
+ public void Leave(Akka.Actor.Address address) { }
+ public System.Threading.Tasks.Task LeaveAsync() { }
+ public System.Threading.Tasks.Task LeaveAsync(System.Threading.CancellationToken cancellationToken) { }
+ public void RegisterOnMemberRemoved(System.Action callback) { }
+ public void RegisterOnMemberUp(System.Action callback) { }
+ public Akka.Actor.ActorPath RemotePathOf(Akka.Actor.IActorRef actorRef) { }
+ public void SendCurrentClusterState(Akka.Actor.IActorRef receiver) { }
+ public void Subscribe(Akka.Actor.IActorRef subscriber, params System.Type[] to) { }
+ public void Subscribe(Akka.Actor.IActorRef subscriber, Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode initialStateMode, params System.Type[] to) { }
+ public void Unsubscribe(Akka.Actor.IActorRef subscriber) { }
+ public void Unsubscribe(Akka.Actor.IActorRef subscriber, System.Type to) { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterActorRefProvider : Akka.Remote.RemoteActorRefProvider, Akka.Actor.IActorRefProvider, Akka.Cluster.IClusterActorRefProvider, Akka.Remote.IRemoteActorRefProvider
+ {
+ public ClusterActorRefProvider(string systemName, Akka.Actor.Settings settings, Akka.Event.EventStream eventStream) { }
+ protected override Akka.Actor.IActorRef CreateRemoteWatcher(Akka.Actor.Internal.ActorSystemImpl system) { }
+ public override void Init(Akka.Actor.Internal.ActorSystemImpl system) { }
+ }
+ public class ClusterEvent
+ {
+ public static readonly Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode InitialStateAsEvents;
+ public static readonly Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode InitialStateAsSnapshot;
+ public ClusterEvent() { }
+ public sealed class ClusterShuttingDown : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public static readonly Akka.Cluster.ClusterEvent.IClusterDomainEvent Instance;
+ public override string ToString() { }
+ }
+ public sealed class CurrentClusterState : Akka.Actor.INoSerializationVerificationNeeded
+ {
+ public CurrentClusterState() { }
+ public CurrentClusterState(System.Collections.Immutable.ImmutableSortedSet members, System.Collections.Immutable.ImmutableHashSet unreachable, System.Collections.Immutable.ImmutableHashSet seenBy, Akka.Actor.Address leader, System.Collections.Immutable.ImmutableDictionary roleLeaderMap) { }
+ public System.Collections.Immutable.ImmutableHashSet AllRoles { get; }
+ public bool HasMoreThanOneAppVersion { get; }
+ public Akka.Actor.Address Leader { get; }
+ public System.Collections.Immutable.ImmutableSortedSet Members { get; }
+ public System.Collections.Immutable.ImmutableHashSet SeenBy { get; }
+ public System.Collections.Immutable.ImmutableHashSet Unreachable { get; }
+ public Akka.Cluster.ClusterEvent.CurrentClusterState Copy(System.Collections.Immutable.ImmutableSortedSet members = null, System.Collections.Immutable.ImmutableHashSet unreachable = null, System.Collections.Immutable.ImmutableHashSet seenBy = null, Akka.Actor.Address leader = null, System.Collections.Immutable.ImmutableDictionary roleLeaderMap = null) { }
+ public Akka.Actor.Address RoleLeader(string role) { }
+ }
+ public interface IClusterDomainEvent : Akka.Event.IDeadLetterSuppression { }
+ public interface IMemberEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ Akka.Cluster.Member Member { get; }
+ }
+ public interface IReachabilityEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression { }
+ public sealed class LeaderChanged : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public LeaderChanged(Akka.Actor.Address leader) { }
+ public Akka.Actor.Address Leader { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class MemberDowned : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberDowned(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberExited : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberExited(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberJoined : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberJoined(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberLeft : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberLeft(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberRemoved : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberRemoved(Akka.Cluster.Member member, Akka.Cluster.MemberStatus previousStatus) { }
+ public Akka.Cluster.MemberStatus PreviousStatus { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ }
+ public abstract class MemberStatusChange : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Cluster.ClusterEvent.IMemberEvent, Akka.Event.IDeadLetterSuppression
+ {
+ protected readonly Akka.Cluster.Member _member;
+ protected MemberStatusChange(Akka.Cluster.Member member, Akka.Cluster.MemberStatus validStatus) { }
+ public Akka.Cluster.Member Member { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class MemberUp : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberUp(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberWeaklyUp : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberWeaklyUp(Akka.Cluster.Member member) { }
+ }
+ public abstract class ReachabilityEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Cluster.ClusterEvent.IReachabilityEvent, Akka.Event.IDeadLetterSuppression
+ {
+ protected ReachabilityEvent(Akka.Cluster.Member member) { }
+ public Akka.Cluster.Member Member { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class ReachableMember : Akka.Cluster.ClusterEvent.ReachabilityEvent
+ {
+ public ReachableMember(Akka.Cluster.Member member) { }
+ }
+ public sealed class RoleLeaderChanged : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public RoleLeaderChanged(string role, Akka.Actor.Address leader) { }
+ public Akka.Actor.Address Leader { get; }
+ public string Role { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public enum SubscriptionInitialStateMode
+ {
+ InitialStateAsSnapshot = 0,
+ InitialStateAsEvents = 1,
+ }
+ public sealed class UnreachableMember : Akka.Cluster.ClusterEvent.ReachabilityEvent
+ {
+ public UnreachableMember(Akka.Cluster.Member member) { }
+ }
+ }
+ public class ClusterExtension : Akka.Actor.ExtensionIdProvider
+ {
+ public ClusterExtension() { }
+ public override Akka.Cluster.Cluster CreateExtension(Akka.Actor.ExtendedActorSystem system) { }
+ }
+ public class ClusterJoinFailedException : Akka.Actor.AkkaException
+ {
+ public ClusterJoinFailedException(string message) { }
+ protected ClusterJoinFailedException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
+ }
+ public class ClusterScope : Akka.Actor.Scope
+ {
+ public static readonly Akka.Cluster.ClusterScope Instance;
+ public override Akka.Actor.Scope Copy() { }
+ public override Akka.Actor.Scope WithFallback(Akka.Actor.Scope other) { }
+ }
+ public sealed class ClusterSettings
+ {
+ public ClusterSettings(Akka.Configuration.Config config, string systemName) { }
+ public bool AllowWeaklyUpMembers { get; }
+ public Akka.Util.AppVersion AppVersion { get; }
+ public System.Nullable AutoDownUnreachableAfter { get; }
+ [System.ObsoleteAttribute("Use Cluster.DowningProvider.DownRemovalMargin [1.1.2]")]
+ public System.TimeSpan DownRemovalMargin { get; }
+ public System.Type DowningProviderType { get; }
+ public Akka.Configuration.Config FailureDetectorConfig { get; }
+ public string FailureDetectorImplementationClass { get; }
+ public double GossipDifferentViewProbability { get; }
+ public System.TimeSpan GossipInterval { get; }
+ public System.TimeSpan GossipTimeToLive { get; }
+ public System.TimeSpan HeartbeatExpectedResponseAfter { get; }
+ public System.TimeSpan HeartbeatInterval { get; }
+ public System.TimeSpan LeaderActionsInterval { get; }
+ public bool LogInfo { get; }
+ public bool LogInfoVerbose { get; }
+ public int MinNrOfMembers { get; }
+ public System.Collections.Immutable.ImmutableDictionary MinNrOfMembersOfRole { get; }
+ public int MonitoredByNrOfMembers { get; }
+ public System.TimeSpan PeriodicTasksInitialDelay { get; }
+ public System.Nullable PublishStatsInterval { get; }
+ public int ReduceGossipDifferentViewProbability { get; }
+ public System.Nullable RetryUnsuccessfulJoinAfter { get; }
+ public System.Collections.Immutable.ImmutableHashSet Roles { get; }
+ public bool RunCoordinatedShutdownWhenDown { get; }
+ public System.TimeSpan SchedulerTickDuration { get; }
+ public int SchedulerTicksPerWheel { get; }
+ public System.TimeSpan SeedNodeTimeout { get; }
+ public System.Collections.Immutable.ImmutableList SeedNodes { get; }
+ public System.Nullable ShutdownAfterUnsuccessfulJoinSeedNodes { get; }
+ public System.TimeSpan UnreachableNodesReaperInterval { get; }
+ public string UseDispatcher { get; }
+ public bool VerboseGossipReceivedLogging { get; }
+ public bool VerboseHeartbeatLogging { get; }
+ public System.TimeSpan WeaklyUpAfter { get; }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public interface IClusterActorRefProvider : Akka.Actor.IActorRefProvider, Akka.Remote.IRemoteActorRefProvider { }
+ public interface IClusterMessage { }
+ public interface IDowningProvider
+ {
+ System.TimeSpan DownRemovalMargin { get; }
+ Akka.Actor.Props DowningActorProps { get; }
+ }
+ public class Member : System.IComparable, System.IComparable
+ {
+ public static readonly System.Collections.Generic.IComparer AddressOrdering;
+ public static readonly System.Collections.Generic.IComparer AgeOrdering;
+ public Akka.Actor.Address Address { get; }
+ public Akka.Util.AppVersion AppVersion { get; }
+ public System.Collections.Immutable.ImmutableHashSet Roles { get; }
+ public Akka.Cluster.MemberStatus Status { get; }
+ public Akka.Cluster.UniqueAddress UniqueAddress { get; }
+ public int CompareTo(Akka.Cluster.Member other) { }
+ public Akka.Cluster.Member Copy(Akka.Cluster.MemberStatus status) { }
+ public Akka.Cluster.Member CopyUp(int upNumber) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public bool HasRole(string role) { }
+ public static Akka.Cluster.Member HighestPriorityOf(Akka.Cluster.Member m1, Akka.Cluster.Member m2) { }
+ public bool IsOlderThan(Akka.Cluster.Member other) { }
+ public static System.Collections.Immutable.ImmutableHashSet PickHighestPriority(System.Collections.Generic.IEnumerable a, System.Collections.Generic.IEnumerable b) { }
+ public static System.Collections.Immutable.ImmutableSortedSet PickNextTransition(System.Collections.Generic.IEnumerable a, System.Collections.Generic.IEnumerable b) { }
+ public static Akka.Cluster.Member PickNextTransition(Akka.Cluster.Member a, Akka.Cluster.Member b) { }
+ public override string ToString() { }
+ }
+ public enum MemberStatus
+ {
+ Joining = 0,
+ Up = 1,
+ Leaving = 2,
+ Exiting = 3,
+ Down = 4,
+ Removed = 5,
+ WeaklyUp = 6,
+ }
+ public sealed class NoDowning : Akka.Cluster.IDowningProvider
+ {
+ public NoDowning(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public sealed class SplitBrainResolver : Akka.Cluster.IDowningProvider
+ {
+ public SplitBrainResolver(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ public System.TimeSpan StableAfter { get; }
+ }
+ public class UniqueAddress : System.IComparable, System.IComparable, System.IEquatable
+ {
+ public UniqueAddress(Akka.Actor.Address address, int uid) { }
+ public Akka.Actor.Address Address { get; }
+ public int Uid { get; }
+ public int CompareTo(Akka.Cluster.UniqueAddress uniqueAddress) { }
+ public bool Equals(Akka.Cluster.UniqueAddress other) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool ==(Akka.Cluster.UniqueAddress left, Akka.Cluster.UniqueAddress right) { }
+ public static bool !=(Akka.Cluster.UniqueAddress left, Akka.Cluster.UniqueAddress right) { }
+ }
+ public sealed class VectorClock
+ {
+ public System.Collections.Immutable.ImmutableSortedDictionary Versions { get; }
+ public Akka.Cluster.VectorClock.Ordering CompareTo(Akka.Cluster.VectorClock that) { }
+ public static Akka.Cluster.VectorClock Create() { }
+ public static Akka.Cluster.VectorClock Create(System.Collections.Immutable.ImmutableSortedDictionary seedValues) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public Akka.Cluster.VectorClock Increment(Akka.Cluster.VectorClock.Node node) { }
+ public bool IsAfter(Akka.Cluster.VectorClock that) { }
+ public bool IsBefore(Akka.Cluster.VectorClock that) { }
+ public bool IsConcurrentWith(Akka.Cluster.VectorClock that) { }
+ public bool IsSameAs(Akka.Cluster.VectorClock that) { }
+ public Akka.Cluster.VectorClock Merge(Akka.Cluster.VectorClock that) { }
+ public Akka.Cluster.VectorClock Prune(Akka.Cluster.VectorClock.Node removedNode) { }
+ public override string ToString() { }
+ public static bool ==(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool >(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool !=(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool <(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public class Node : System.IComparable
+ {
+ public Node(string value) { }
+ public int CompareTo(Akka.Cluster.VectorClock.Node other) { }
+ public static Akka.Cluster.VectorClock.Node Create(string name) { }
+ public override bool Equals(object obj) { }
+ public static Akka.Cluster.VectorClock.Node FromHash(string hash) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public enum Ordering
+ {
+ After = 0,
+ Before = 1,
+ Same = 2,
+ Concurrent = 3,
+ FullOrder = 4,
+ }
+ }
+}
+namespace Akka.Cluster.Routing
+{
+ public sealed class ClusterRouterGroup : Akka.Routing.Group
+ {
+ public ClusterRouterGroup(Akka.Routing.Group local, Akka.Cluster.Routing.ClusterRouterGroupSettings settings) { }
+ public Akka.Routing.Group Local { get; }
+ public override string RouterDispatcher { get; }
+ public Akka.Cluster.Routing.ClusterRouterGroupSettings Settings { get; }
+ public override bool StopRouterWhenAllRouteesRemoved { get; }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.ActorBase CreateRouterActor() { }
+ public override System.Collections.Generic.IEnumerable GetPaths(Akka.Actor.ActorSystem system) { }
+ public override bool IsManagementMessage(object message) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public override Akka.Routing.RouterConfig WithFallback(Akka.Routing.RouterConfig routerConfig) { }
+ }
+ public sealed class ClusterRouterGroupSettings : Akka.Cluster.Routing.ClusterRouterSettingsBase
+ {
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterGroupSettings(int totalInstances, bool allowLocalRoutees, System.Collections.Generic.IEnumerable routeesPaths) { }
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterGroupSettings(int totalInstances, bool allowLocalRoutees, string useRole, System.Collections.Immutable.ImmutableHashSet routeesPaths) { }
+ public ClusterRouterGroupSettings(int totalInstances, System.Collections.Generic.IEnumerable routeesPaths, bool allowLocalRoutees, string useRole = null) { }
+ public System.Collections.Generic.IEnumerable RouteesPaths { get; }
+ public static Akka.Cluster.Routing.ClusterRouterGroupSettings FromConfig(Akka.Configuration.Config config) { }
+ }
+ public sealed class ClusterRouterPool : Akka.Routing.Pool
+ {
+ public ClusterRouterPool(Akka.Routing.Pool local, Akka.Cluster.Routing.ClusterRouterPoolSettings settings) { }
+ public Akka.Routing.Pool Local { get; }
+ public override string RouterDispatcher { get; }
+ public Akka.Cluster.Routing.ClusterRouterPoolSettings Settings { get; }
+ public override bool StopRouterWhenAllRouteesRemoved { get; }
+ public override Akka.Actor.SupervisorStrategy SupervisorStrategy { get; }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.ActorBase CreateRouterActor() { }
+ public override int GetNrOfInstances(Akka.Actor.ActorSystem system) { }
+ public override bool IsManagementMessage(object message) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public override Akka.Routing.RouterConfig WithFallback(Akka.Routing.RouterConfig routerConfig) { }
+ }
+ public sealed class ClusterRouterPoolSettings : Akka.Cluster.Routing.ClusterRouterSettingsBase
+ {
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterPoolSettings(int totalInstances, bool allowLocalRoutees, int maxInstancesPerNode) { }
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterPoolSettings(int totalInstances, bool allowLocalRoutees, string useRole, int maxInstancesPerNode) { }
+ public ClusterRouterPoolSettings(int totalInstances, int maxInstancesPerNode, bool allowLocalRoutees, string useRole = null) { }
+ public int MaxInstancesPerNode { get; }
+ public override bool Equals(object obj) { }
+ public static Akka.Cluster.Routing.ClusterRouterPoolSettings FromConfig(Akka.Configuration.Config config) { }
+ public override int GetHashCode() { }
+ }
+ public abstract class ClusterRouterSettingsBase
+ {
+ protected ClusterRouterSettingsBase(int totalInstances, bool allowLocalRoutees, string useRole) { }
+ public bool AllowLocalRoutees { get; }
+ public int TotalInstances { get; }
+ public string UseRole { get; }
+ }
+}
+namespace Akka.Cluster.SBR
+{
+ public sealed class KeepOldestSettings
+ {
+ public KeepOldestSettings(bool downIfAlone, string role) { }
+ public bool DownIfAlone { get; }
+ public string Role { get; }
+ }
+ public sealed class LeaseMajoritySettings
+ {
+ [System.ObsoleteAttribute()]
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, string role) { }
+ [System.ObsoleteAttribute()]
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, string role, string leaseName) { }
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, System.TimeSpan releaseAfter, string role, string leaseName) { }
+ public System.TimeSpan AcquireLeaseDelayForMinority { get; }
+ public string LeaseImplementation { get; }
+ public string LeaseName { get; }
+ public System.TimeSpan ReleaseAfter { get; }
+ public string Role { get; }
+ public string SafeLeaseName(string systemName) { }
+ }
+ public class SplitBrainResolverProvider : Akka.Cluster.IDowningProvider
+ {
+ public SplitBrainResolverProvider(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public sealed class SplitBrainResolverSettings
+ {
+ public static readonly System.Collections.Immutable.ImmutableHashSet AllStrategyNames;
+ public const string DownAllName = "down-all";
+ public const string KeepMajorityName = "keep-majority";
+ public const string KeepOldestName = "keep-oldest";
+ public const string LeaseMajorityName = "lease-majority";
+ public const string StaticQuorumName = "static-quorum";
+ public SplitBrainResolverSettings(Akka.Configuration.Config config) { }
+ public System.TimeSpan DownAllWhenUnstable { get; }
+ public System.TimeSpan DowningStableAfter { get; }
+ public string DowningStrategy { get; }
+ public string KeepMajorityRole { get; }
+ public Akka.Cluster.SBR.KeepOldestSettings KeepOldestSettings { get; }
+ public Akka.Cluster.SBR.LeaseMajoritySettings LeaseMajoritySettings { get; }
+ public Akka.Cluster.SBR.StaticQuorumSettings StaticQuorumSettings { get; }
+ }
+ public sealed class StaticQuorumSettings
+ {
+ public StaticQuorumSettings(int size, string role) { }
+ public string Role { get; }
+ public int Size { get; }
+ }
+}
+namespace Akka.Cluster.Serialization
+{
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterMessageSerializer : Akka.Serialization.SerializerWithStringManifest
+ {
+ public ClusterMessageSerializer(Akka.Actor.ExtendedActorSystem system) { }
+ public override object FromBinary(byte[] bytes, string manifest) { }
+ public override string Manifest(object o) { }
+ public override byte[] ToBinary(object obj) { }
+ }
+}
\ No newline at end of file
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.Net.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.Net.verified.txt
new file mode 100644
index 00000000000..da4d3dae1d1
--- /dev/null
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.Net.verified.txt
@@ -0,0 +1,458 @@
+[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://github.com/akkadotnet/akka.net")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Benchmarks")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Metrics")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding.Tests")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.TestKit")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests.Performance")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tools")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tools.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.DistributedData")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Management.Cluster.Http")]
+[assembly: System.Runtime.InteropServices.ComVisibleAttribute(false)]
+[assembly: System.Runtime.InteropServices.GuidAttribute("0e3e691b-0c31-4718-9b1a-d749b93208c9")]
+[assembly: System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.0", FrameworkDisplayName="")]
+namespace Akka.Cluster
+{
+ public sealed class AutoDowning : Akka.Cluster.IDowningProvider
+ {
+ public AutoDowning(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public class Cluster : Akka.Actor.IExtension
+ {
+ public Cluster(Akka.Actor.Internal.ActorSystemImpl system) { }
+ public Akka.Cluster.IDowningProvider DowningProvider { get; }
+ public Akka.Remote.DefaultFailureDetectorRegistry FailureDetector { get; }
+ public bool IsTerminated { get; }
+ public Akka.Actor.Address SelfAddress { get; }
+ public Akka.Cluster.Member SelfMember { get; }
+ public System.Collections.Immutable.ImmutableHashSet SelfRoles { get; }
+ public Akka.Cluster.UniqueAddress SelfUniqueAddress { get; }
+ public Akka.Cluster.ClusterSettings Settings { get; }
+ public Akka.Cluster.ClusterEvent.CurrentClusterState State { get; }
+ public Akka.Actor.ExtendedActorSystem System { get; }
+ public void Down(Akka.Actor.Address address) { }
+ public static Akka.Cluster.Cluster Get(Akka.Actor.ActorSystem system) { }
+ public void Join(Akka.Actor.Address address) { }
+ public System.Threading.Tasks.Task JoinAsync(Akka.Actor.Address address, System.Threading.CancellationToken token = null) { }
+ public void JoinSeedNodes(System.Collections.Generic.IEnumerable seedNodes) { }
+ public System.Threading.Tasks.Task JoinSeedNodesAsync(System.Collections.Generic.IEnumerable seedNodes, System.Threading.CancellationToken token = null) { }
+ public void Leave(Akka.Actor.Address address) { }
+ public System.Threading.Tasks.Task LeaveAsync() { }
+ public System.Threading.Tasks.Task LeaveAsync(System.Threading.CancellationToken cancellationToken) { }
+ public void RegisterOnMemberRemoved(System.Action callback) { }
+ public void RegisterOnMemberUp(System.Action callback) { }
+ public Akka.Actor.ActorPath RemotePathOf(Akka.Actor.IActorRef actorRef) { }
+ public void SendCurrentClusterState(Akka.Actor.IActorRef receiver) { }
+ public void Subscribe(Akka.Actor.IActorRef subscriber, params System.Type[] to) { }
+ public void Subscribe(Akka.Actor.IActorRef subscriber, Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode initialStateMode, params System.Type[] to) { }
+ public void Unsubscribe(Akka.Actor.IActorRef subscriber) { }
+ public void Unsubscribe(Akka.Actor.IActorRef subscriber, System.Type to) { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterActorRefProvider : Akka.Remote.RemoteActorRefProvider, Akka.Actor.IActorRefProvider, Akka.Cluster.IClusterActorRefProvider, Akka.Remote.IRemoteActorRefProvider
+ {
+ public ClusterActorRefProvider(string systemName, Akka.Actor.Settings settings, Akka.Event.EventStream eventStream) { }
+ protected override Akka.Actor.IActorRef CreateRemoteWatcher(Akka.Actor.Internal.ActorSystemImpl system) { }
+ public override void Init(Akka.Actor.Internal.ActorSystemImpl system) { }
+ }
+ public class ClusterEvent
+ {
+ public static readonly Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode InitialStateAsEvents;
+ public static readonly Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode InitialStateAsSnapshot;
+ public ClusterEvent() { }
+ public sealed class ClusterShuttingDown : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public static readonly Akka.Cluster.ClusterEvent.IClusterDomainEvent Instance;
+ public override string ToString() { }
+ }
+ public sealed class CurrentClusterState : Akka.Actor.INoSerializationVerificationNeeded
+ {
+ public CurrentClusterState() { }
+ public CurrentClusterState(System.Collections.Immutable.ImmutableSortedSet members, System.Collections.Immutable.ImmutableHashSet unreachable, System.Collections.Immutable.ImmutableHashSet seenBy, Akka.Actor.Address leader, System.Collections.Immutable.ImmutableDictionary roleLeaderMap) { }
+ public System.Collections.Immutable.ImmutableHashSet AllRoles { get; }
+ public bool HasMoreThanOneAppVersion { get; }
+ public Akka.Actor.Address Leader { get; }
+ public System.Collections.Immutable.ImmutableSortedSet Members { get; }
+ public System.Collections.Immutable.ImmutableHashSet SeenBy { get; }
+ public System.Collections.Immutable.ImmutableHashSet Unreachable { get; }
+ public Akka.Cluster.ClusterEvent.CurrentClusterState Copy(System.Collections.Immutable.ImmutableSortedSet members = null, System.Collections.Immutable.ImmutableHashSet unreachable = null, System.Collections.Immutable.ImmutableHashSet seenBy = null, Akka.Actor.Address leader = null, System.Collections.Immutable.ImmutableDictionary roleLeaderMap = null) { }
+ public Akka.Actor.Address RoleLeader(string role) { }
+ }
+ public interface IClusterDomainEvent : Akka.Event.IDeadLetterSuppression { }
+ public interface IMemberEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ Akka.Cluster.Member Member { get; }
+ }
+ public interface IReachabilityEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression { }
+ public sealed class LeaderChanged : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public LeaderChanged(Akka.Actor.Address leader) { }
+ public Akka.Actor.Address Leader { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class MemberDowned : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberDowned(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberExited : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberExited(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberJoined : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberJoined(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberLeft : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberLeft(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberRemoved : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberRemoved(Akka.Cluster.Member member, Akka.Cluster.MemberStatus previousStatus) { }
+ public Akka.Cluster.MemberStatus PreviousStatus { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ }
+ public abstract class MemberStatusChange : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Cluster.ClusterEvent.IMemberEvent, Akka.Event.IDeadLetterSuppression
+ {
+ protected readonly Akka.Cluster.Member _member;
+ protected MemberStatusChange(Akka.Cluster.Member member, Akka.Cluster.MemberStatus validStatus) { }
+ public Akka.Cluster.Member Member { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class MemberUp : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberUp(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberWeaklyUp : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberWeaklyUp(Akka.Cluster.Member member) { }
+ }
+ public abstract class ReachabilityEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Cluster.ClusterEvent.IReachabilityEvent, Akka.Event.IDeadLetterSuppression
+ {
+ protected ReachabilityEvent(Akka.Cluster.Member member) { }
+ public Akka.Cluster.Member Member { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class ReachableMember : Akka.Cluster.ClusterEvent.ReachabilityEvent
+ {
+ public ReachableMember(Akka.Cluster.Member member) { }
+ }
+ public sealed class RoleLeaderChanged : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public RoleLeaderChanged(string role, Akka.Actor.Address leader) { }
+ public Akka.Actor.Address Leader { get; }
+ public string Role { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public enum SubscriptionInitialStateMode
+ {
+ InitialStateAsSnapshot = 0,
+ InitialStateAsEvents = 1,
+ }
+ public sealed class UnreachableMember : Akka.Cluster.ClusterEvent.ReachabilityEvent
+ {
+ public UnreachableMember(Akka.Cluster.Member member) { }
+ }
+ }
+ public class ClusterExtension : Akka.Actor.ExtensionIdProvider
+ {
+ public ClusterExtension() { }
+ public override Akka.Cluster.Cluster CreateExtension(Akka.Actor.ExtendedActorSystem system) { }
+ }
+ public class ClusterJoinFailedException : Akka.Actor.AkkaException
+ {
+ public ClusterJoinFailedException(string message) { }
+ protected ClusterJoinFailedException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
+ }
+ public class ClusterScope : Akka.Actor.Scope
+ {
+ public static readonly Akka.Cluster.ClusterScope Instance;
+ public override Akka.Actor.Scope Copy() { }
+ public override Akka.Actor.Scope WithFallback(Akka.Actor.Scope other) { }
+ }
+ public sealed class ClusterSettings
+ {
+ public ClusterSettings(Akka.Configuration.Config config, string systemName) { }
+ public bool AllowWeaklyUpMembers { get; }
+ public Akka.Util.AppVersion AppVersion { get; }
+ public System.Nullable AutoDownUnreachableAfter { get; }
+ [System.ObsoleteAttribute("Use Cluster.DowningProvider.DownRemovalMargin [1.1.2]")]
+ public System.TimeSpan DownRemovalMargin { get; }
+ public System.Type DowningProviderType { get; }
+ public Akka.Configuration.Config FailureDetectorConfig { get; }
+ public string FailureDetectorImplementationClass { get; }
+ public double GossipDifferentViewProbability { get; }
+ public System.TimeSpan GossipInterval { get; }
+ public System.TimeSpan GossipTimeToLive { get; }
+ public System.TimeSpan HeartbeatExpectedResponseAfter { get; }
+ public System.TimeSpan HeartbeatInterval { get; }
+ public System.TimeSpan LeaderActionsInterval { get; }
+ public bool LogInfo { get; }
+ public bool LogInfoVerbose { get; }
+ public int MinNrOfMembers { get; }
+ public System.Collections.Immutable.ImmutableDictionary MinNrOfMembersOfRole { get; }
+ public int MonitoredByNrOfMembers { get; }
+ public System.TimeSpan PeriodicTasksInitialDelay { get; }
+ public System.Nullable PublishStatsInterval { get; }
+ public int ReduceGossipDifferentViewProbability { get; }
+ public System.Nullable RetryUnsuccessfulJoinAfter { get; }
+ public System.Collections.Immutable.ImmutableHashSet Roles { get; }
+ public bool RunCoordinatedShutdownWhenDown { get; }
+ public System.TimeSpan SchedulerTickDuration { get; }
+ public int SchedulerTicksPerWheel { get; }
+ public System.TimeSpan SeedNodeTimeout { get; }
+ public System.Collections.Immutable.ImmutableList SeedNodes { get; }
+ public System.Nullable ShutdownAfterUnsuccessfulJoinSeedNodes { get; }
+ public System.TimeSpan UnreachableNodesReaperInterval { get; }
+ public string UseDispatcher { get; }
+ public bool VerboseGossipReceivedLogging { get; }
+ public bool VerboseHeartbeatLogging { get; }
+ public System.TimeSpan WeaklyUpAfter { get; }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public interface IClusterActorRefProvider : Akka.Actor.IActorRefProvider, Akka.Remote.IRemoteActorRefProvider { }
+ public interface IClusterMessage { }
+ public interface IDowningProvider
+ {
+ System.TimeSpan DownRemovalMargin { get; }
+ Akka.Actor.Props DowningActorProps { get; }
+ }
+ public class Member : System.IComparable, System.IComparable
+ {
+ public static readonly System.Collections.Generic.IComparer AddressOrdering;
+ public static readonly System.Collections.Generic.IComparer AgeOrdering;
+ public Akka.Actor.Address Address { get; }
+ public Akka.Util.AppVersion AppVersion { get; }
+ public System.Collections.Immutable.ImmutableHashSet Roles { get; }
+ public Akka.Cluster.MemberStatus Status { get; }
+ public Akka.Cluster.UniqueAddress UniqueAddress { get; }
+ public int CompareTo(Akka.Cluster.Member other) { }
+ public Akka.Cluster.Member Copy(Akka.Cluster.MemberStatus status) { }
+ public Akka.Cluster.Member CopyUp(int upNumber) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public bool HasRole(string role) { }
+ public static Akka.Cluster.Member HighestPriorityOf(Akka.Cluster.Member m1, Akka.Cluster.Member m2) { }
+ public bool IsOlderThan(Akka.Cluster.Member other) { }
+ public static System.Collections.Immutable.ImmutableHashSet PickHighestPriority(System.Collections.Generic.IEnumerable a, System.Collections.Generic.IEnumerable b) { }
+ public static System.Collections.Immutable.ImmutableSortedSet PickNextTransition(System.Collections.Generic.IEnumerable a, System.Collections.Generic.IEnumerable b) { }
+ public static Akka.Cluster.Member PickNextTransition(Akka.Cluster.Member a, Akka.Cluster.Member b) { }
+ public override string ToString() { }
+ }
+ public enum MemberStatus
+ {
+ Joining = 0,
+ Up = 1,
+ Leaving = 2,
+ Exiting = 3,
+ Down = 4,
+ Removed = 5,
+ WeaklyUp = 6,
+ }
+ public sealed class NoDowning : Akka.Cluster.IDowningProvider
+ {
+ public NoDowning(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public sealed class SplitBrainResolver : Akka.Cluster.IDowningProvider
+ {
+ public SplitBrainResolver(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ public System.TimeSpan StableAfter { get; }
+ }
+ public class UniqueAddress : System.IComparable, System.IComparable, System.IEquatable
+ {
+ public UniqueAddress(Akka.Actor.Address address, int uid) { }
+ public Akka.Actor.Address Address { get; }
+ public int Uid { get; }
+ public int CompareTo(Akka.Cluster.UniqueAddress uniqueAddress) { }
+ public bool Equals(Akka.Cluster.UniqueAddress other) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool ==(Akka.Cluster.UniqueAddress left, Akka.Cluster.UniqueAddress right) { }
+ public static bool !=(Akka.Cluster.UniqueAddress left, Akka.Cluster.UniqueAddress right) { }
+ }
+ public sealed class VectorClock
+ {
+ public System.Collections.Immutable.ImmutableSortedDictionary Versions { get; }
+ public Akka.Cluster.VectorClock.Ordering CompareTo(Akka.Cluster.VectorClock that) { }
+ public static Akka.Cluster.VectorClock Create() { }
+ public static Akka.Cluster.VectorClock Create(System.Collections.Immutable.ImmutableSortedDictionary seedValues) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public Akka.Cluster.VectorClock Increment(Akka.Cluster.VectorClock.Node node) { }
+ public bool IsAfter(Akka.Cluster.VectorClock that) { }
+ public bool IsBefore(Akka.Cluster.VectorClock that) { }
+ public bool IsConcurrentWith(Akka.Cluster.VectorClock that) { }
+ public bool IsSameAs(Akka.Cluster.VectorClock that) { }
+ public Akka.Cluster.VectorClock Merge(Akka.Cluster.VectorClock that) { }
+ public Akka.Cluster.VectorClock Prune(Akka.Cluster.VectorClock.Node removedNode) { }
+ public override string ToString() { }
+ public static bool ==(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool >(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool !=(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool <(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public class Node : System.IComparable
+ {
+ public Node(string value) { }
+ public int CompareTo(Akka.Cluster.VectorClock.Node other) { }
+ public static Akka.Cluster.VectorClock.Node Create(string name) { }
+ public override bool Equals(object obj) { }
+ public static Akka.Cluster.VectorClock.Node FromHash(string hash) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public enum Ordering
+ {
+ After = 0,
+ Before = 1,
+ Same = 2,
+ Concurrent = 3,
+ FullOrder = 4,
+ }
+ }
+}
+namespace Akka.Cluster.Routing
+{
+ public sealed class ClusterRouterGroup : Akka.Routing.Group
+ {
+ public ClusterRouterGroup(Akka.Routing.Group local, Akka.Cluster.Routing.ClusterRouterGroupSettings settings) { }
+ public Akka.Routing.Group Local { get; }
+ public override string RouterDispatcher { get; }
+ public Akka.Cluster.Routing.ClusterRouterGroupSettings Settings { get; }
+ public override bool StopRouterWhenAllRouteesRemoved { get; }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.ActorBase CreateRouterActor() { }
+ public override System.Collections.Generic.IEnumerable GetPaths(Akka.Actor.ActorSystem system) { }
+ public override bool IsManagementMessage(object message) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public override Akka.Routing.RouterConfig WithFallback(Akka.Routing.RouterConfig routerConfig) { }
+ }
+ public sealed class ClusterRouterGroupSettings : Akka.Cluster.Routing.ClusterRouterSettingsBase
+ {
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterGroupSettings(int totalInstances, bool allowLocalRoutees, System.Collections.Generic.IEnumerable routeesPaths) { }
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterGroupSettings(int totalInstances, bool allowLocalRoutees, string useRole, System.Collections.Immutable.ImmutableHashSet routeesPaths) { }
+ public ClusterRouterGroupSettings(int totalInstances, System.Collections.Generic.IEnumerable routeesPaths, bool allowLocalRoutees, string useRole = null) { }
+ public System.Collections.Generic.IEnumerable RouteesPaths { get; }
+ public static Akka.Cluster.Routing.ClusterRouterGroupSettings FromConfig(Akka.Configuration.Config config) { }
+ }
+ public sealed class ClusterRouterPool : Akka.Routing.Pool
+ {
+ public ClusterRouterPool(Akka.Routing.Pool local, Akka.Cluster.Routing.ClusterRouterPoolSettings settings) { }
+ public Akka.Routing.Pool Local { get; }
+ public override string RouterDispatcher { get; }
+ public Akka.Cluster.Routing.ClusterRouterPoolSettings Settings { get; }
+ public override bool StopRouterWhenAllRouteesRemoved { get; }
+ public override Akka.Actor.SupervisorStrategy SupervisorStrategy { get; }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.ActorBase CreateRouterActor() { }
+ public override int GetNrOfInstances(Akka.Actor.ActorSystem system) { }
+ public override bool IsManagementMessage(object message) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public override Akka.Routing.RouterConfig WithFallback(Akka.Routing.RouterConfig routerConfig) { }
+ }
+ public sealed class ClusterRouterPoolSettings : Akka.Cluster.Routing.ClusterRouterSettingsBase
+ {
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterPoolSettings(int totalInstances, bool allowLocalRoutees, int maxInstancesPerNode) { }
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterPoolSettings(int totalInstances, bool allowLocalRoutees, string useRole, int maxInstancesPerNode) { }
+ public ClusterRouterPoolSettings(int totalInstances, int maxInstancesPerNode, bool allowLocalRoutees, string useRole = null) { }
+ public int MaxInstancesPerNode { get; }
+ public override bool Equals(object obj) { }
+ public static Akka.Cluster.Routing.ClusterRouterPoolSettings FromConfig(Akka.Configuration.Config config) { }
+ public override int GetHashCode() { }
+ }
+ public abstract class ClusterRouterSettingsBase
+ {
+ protected ClusterRouterSettingsBase(int totalInstances, bool allowLocalRoutees, string useRole) { }
+ public bool AllowLocalRoutees { get; }
+ public int TotalInstances { get; }
+ public string UseRole { get; }
+ }
+}
+namespace Akka.Cluster.SBR
+{
+ public sealed class KeepOldestSettings
+ {
+ public KeepOldestSettings(bool downIfAlone, string role) { }
+ public bool DownIfAlone { get; }
+ public string Role { get; }
+ }
+ public sealed class LeaseMajoritySettings
+ {
+ [System.ObsoleteAttribute()]
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, string role) { }
+ [System.ObsoleteAttribute()]
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, string role, string leaseName) { }
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, System.TimeSpan releaseAfter, string role, string leaseName) { }
+ public System.TimeSpan AcquireLeaseDelayForMinority { get; }
+ public string LeaseImplementation { get; }
+ public string LeaseName { get; }
+ public System.TimeSpan ReleaseAfter { get; }
+ public string Role { get; }
+ public string SafeLeaseName(string systemName) { }
+ }
+ public class SplitBrainResolverProvider : Akka.Cluster.IDowningProvider
+ {
+ public SplitBrainResolverProvider(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public sealed class SplitBrainResolverSettings
+ {
+ public static readonly System.Collections.Immutable.ImmutableHashSet AllStrategyNames;
+ public const string DownAllName = "down-all";
+ public const string KeepMajorityName = "keep-majority";
+ public const string KeepOldestName = "keep-oldest";
+ public const string LeaseMajorityName = "lease-majority";
+ public const string StaticQuorumName = "static-quorum";
+ public SplitBrainResolverSettings(Akka.Configuration.Config config) { }
+ public System.TimeSpan DownAllWhenUnstable { get; }
+ public System.TimeSpan DowningStableAfter { get; }
+ public string DowningStrategy { get; }
+ public string KeepMajorityRole { get; }
+ public Akka.Cluster.SBR.KeepOldestSettings KeepOldestSettings { get; }
+ public Akka.Cluster.SBR.LeaseMajoritySettings LeaseMajoritySettings { get; }
+ public Akka.Cluster.SBR.StaticQuorumSettings StaticQuorumSettings { get; }
+ }
+ public sealed class StaticQuorumSettings
+ {
+ public StaticQuorumSettings(int size, string role) { }
+ public string Role { get; }
+ public int Size { get; }
+ }
+}
+namespace Akka.Cluster.Serialization
+{
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterMessageSerializer : Akka.Serialization.SerializerWithStringManifest
+ {
+ public ClusterMessageSerializer(Akka.Actor.ExtendedActorSystem system) { }
+ public override object FromBinary(byte[] bytes, string manifest) { }
+ public override string Manifest(object o) { }
+ public override byte[] ToBinary(object obj) { }
+ }
+}
\ No newline at end of file
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.verified.txt
new file mode 100644
index 00000000000..da4d3dae1d1
--- /dev/null
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveCluster.verified.txt
@@ -0,0 +1,458 @@
+[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://github.com/akkadotnet/akka.net")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Benchmarks")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Metrics")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding.Tests")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Sharding.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.TestKit")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tests.Performance")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tools")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Cluster.Tools.Tests.MultiNode")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.DistributedData")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Akka.Management.Cluster.Http")]
+[assembly: System.Runtime.InteropServices.ComVisibleAttribute(false)]
+[assembly: System.Runtime.InteropServices.GuidAttribute("0e3e691b-0c31-4718-9b1a-d749b93208c9")]
+[assembly: System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.0", FrameworkDisplayName="")]
+namespace Akka.Cluster
+{
+ public sealed class AutoDowning : Akka.Cluster.IDowningProvider
+ {
+ public AutoDowning(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public class Cluster : Akka.Actor.IExtension
+ {
+ public Cluster(Akka.Actor.Internal.ActorSystemImpl system) { }
+ public Akka.Cluster.IDowningProvider DowningProvider { get; }
+ public Akka.Remote.DefaultFailureDetectorRegistry FailureDetector { get; }
+ public bool IsTerminated { get; }
+ public Akka.Actor.Address SelfAddress { get; }
+ public Akka.Cluster.Member SelfMember { get; }
+ public System.Collections.Immutable.ImmutableHashSet SelfRoles { get; }
+ public Akka.Cluster.UniqueAddress SelfUniqueAddress { get; }
+ public Akka.Cluster.ClusterSettings Settings { get; }
+ public Akka.Cluster.ClusterEvent.CurrentClusterState State { get; }
+ public Akka.Actor.ExtendedActorSystem System { get; }
+ public void Down(Akka.Actor.Address address) { }
+ public static Akka.Cluster.Cluster Get(Akka.Actor.ActorSystem system) { }
+ public void Join(Akka.Actor.Address address) { }
+ public System.Threading.Tasks.Task JoinAsync(Akka.Actor.Address address, System.Threading.CancellationToken token = null) { }
+ public void JoinSeedNodes(System.Collections.Generic.IEnumerable seedNodes) { }
+ public System.Threading.Tasks.Task JoinSeedNodesAsync(System.Collections.Generic.IEnumerable seedNodes, System.Threading.CancellationToken token = null) { }
+ public void Leave(Akka.Actor.Address address) { }
+ public System.Threading.Tasks.Task LeaveAsync() { }
+ public System.Threading.Tasks.Task LeaveAsync(System.Threading.CancellationToken cancellationToken) { }
+ public void RegisterOnMemberRemoved(System.Action callback) { }
+ public void RegisterOnMemberUp(System.Action callback) { }
+ public Akka.Actor.ActorPath RemotePathOf(Akka.Actor.IActorRef actorRef) { }
+ public void SendCurrentClusterState(Akka.Actor.IActorRef receiver) { }
+ public void Subscribe(Akka.Actor.IActorRef subscriber, params System.Type[] to) { }
+ public void Subscribe(Akka.Actor.IActorRef subscriber, Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode initialStateMode, params System.Type[] to) { }
+ public void Unsubscribe(Akka.Actor.IActorRef subscriber) { }
+ public void Unsubscribe(Akka.Actor.IActorRef subscriber, System.Type to) { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterActorRefProvider : Akka.Remote.RemoteActorRefProvider, Akka.Actor.IActorRefProvider, Akka.Cluster.IClusterActorRefProvider, Akka.Remote.IRemoteActorRefProvider
+ {
+ public ClusterActorRefProvider(string systemName, Akka.Actor.Settings settings, Akka.Event.EventStream eventStream) { }
+ protected override Akka.Actor.IActorRef CreateRemoteWatcher(Akka.Actor.Internal.ActorSystemImpl system) { }
+ public override void Init(Akka.Actor.Internal.ActorSystemImpl system) { }
+ }
+ public class ClusterEvent
+ {
+ public static readonly Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode InitialStateAsEvents;
+ public static readonly Akka.Cluster.ClusterEvent.SubscriptionInitialStateMode InitialStateAsSnapshot;
+ public ClusterEvent() { }
+ public sealed class ClusterShuttingDown : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public static readonly Akka.Cluster.ClusterEvent.IClusterDomainEvent Instance;
+ public override string ToString() { }
+ }
+ public sealed class CurrentClusterState : Akka.Actor.INoSerializationVerificationNeeded
+ {
+ public CurrentClusterState() { }
+ public CurrentClusterState(System.Collections.Immutable.ImmutableSortedSet members, System.Collections.Immutable.ImmutableHashSet unreachable, System.Collections.Immutable.ImmutableHashSet seenBy, Akka.Actor.Address leader, System.Collections.Immutable.ImmutableDictionary roleLeaderMap) { }
+ public System.Collections.Immutable.ImmutableHashSet AllRoles { get; }
+ public bool HasMoreThanOneAppVersion { get; }
+ public Akka.Actor.Address Leader { get; }
+ public System.Collections.Immutable.ImmutableSortedSet Members { get; }
+ public System.Collections.Immutable.ImmutableHashSet SeenBy { get; }
+ public System.Collections.Immutable.ImmutableHashSet Unreachable { get; }
+ public Akka.Cluster.ClusterEvent.CurrentClusterState Copy(System.Collections.Immutable.ImmutableSortedSet members = null, System.Collections.Immutable.ImmutableHashSet unreachable = null, System.Collections.Immutable.ImmutableHashSet seenBy = null, Akka.Actor.Address leader = null, System.Collections.Immutable.ImmutableDictionary roleLeaderMap = null) { }
+ public Akka.Actor.Address RoleLeader(string role) { }
+ }
+ public interface IClusterDomainEvent : Akka.Event.IDeadLetterSuppression { }
+ public interface IMemberEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ Akka.Cluster.Member Member { get; }
+ }
+ public interface IReachabilityEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression { }
+ public sealed class LeaderChanged : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public LeaderChanged(Akka.Actor.Address leader) { }
+ public Akka.Actor.Address Leader { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class MemberDowned : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberDowned(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberExited : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberExited(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberJoined : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberJoined(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberLeft : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberLeft(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberRemoved : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberRemoved(Akka.Cluster.Member member, Akka.Cluster.MemberStatus previousStatus) { }
+ public Akka.Cluster.MemberStatus PreviousStatus { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ }
+ public abstract class MemberStatusChange : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Cluster.ClusterEvent.IMemberEvent, Akka.Event.IDeadLetterSuppression
+ {
+ protected readonly Akka.Cluster.Member _member;
+ protected MemberStatusChange(Akka.Cluster.Member member, Akka.Cluster.MemberStatus validStatus) { }
+ public Akka.Cluster.Member Member { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class MemberUp : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberUp(Akka.Cluster.Member member) { }
+ }
+ public sealed class MemberWeaklyUp : Akka.Cluster.ClusterEvent.MemberStatusChange
+ {
+ public MemberWeaklyUp(Akka.Cluster.Member member) { }
+ }
+ public abstract class ReachabilityEvent : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Cluster.ClusterEvent.IReachabilityEvent, Akka.Event.IDeadLetterSuppression
+ {
+ protected ReachabilityEvent(Akka.Cluster.Member member) { }
+ public Akka.Cluster.Member Member { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public sealed class ReachableMember : Akka.Cluster.ClusterEvent.ReachabilityEvent
+ {
+ public ReachableMember(Akka.Cluster.Member member) { }
+ }
+ public sealed class RoleLeaderChanged : Akka.Cluster.ClusterEvent.IClusterDomainEvent, Akka.Event.IDeadLetterSuppression
+ {
+ public RoleLeaderChanged(string role, Akka.Actor.Address leader) { }
+ public Akka.Actor.Address Leader { get; }
+ public string Role { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public enum SubscriptionInitialStateMode
+ {
+ InitialStateAsSnapshot = 0,
+ InitialStateAsEvents = 1,
+ }
+ public sealed class UnreachableMember : Akka.Cluster.ClusterEvent.ReachabilityEvent
+ {
+ public UnreachableMember(Akka.Cluster.Member member) { }
+ }
+ }
+ public class ClusterExtension : Akka.Actor.ExtensionIdProvider
+ {
+ public ClusterExtension() { }
+ public override Akka.Cluster.Cluster CreateExtension(Akka.Actor.ExtendedActorSystem system) { }
+ }
+ public class ClusterJoinFailedException : Akka.Actor.AkkaException
+ {
+ public ClusterJoinFailedException(string message) { }
+ protected ClusterJoinFailedException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
+ }
+ public class ClusterScope : Akka.Actor.Scope
+ {
+ public static readonly Akka.Cluster.ClusterScope Instance;
+ public override Akka.Actor.Scope Copy() { }
+ public override Akka.Actor.Scope WithFallback(Akka.Actor.Scope other) { }
+ }
+ public sealed class ClusterSettings
+ {
+ public ClusterSettings(Akka.Configuration.Config config, string systemName) { }
+ public bool AllowWeaklyUpMembers { get; }
+ public Akka.Util.AppVersion AppVersion { get; }
+ public System.Nullable AutoDownUnreachableAfter { get; }
+ [System.ObsoleteAttribute("Use Cluster.DowningProvider.DownRemovalMargin [1.1.2]")]
+ public System.TimeSpan DownRemovalMargin { get; }
+ public System.Type DowningProviderType { get; }
+ public Akka.Configuration.Config FailureDetectorConfig { get; }
+ public string FailureDetectorImplementationClass { get; }
+ public double GossipDifferentViewProbability { get; }
+ public System.TimeSpan GossipInterval { get; }
+ public System.TimeSpan GossipTimeToLive { get; }
+ public System.TimeSpan HeartbeatExpectedResponseAfter { get; }
+ public System.TimeSpan HeartbeatInterval { get; }
+ public System.TimeSpan LeaderActionsInterval { get; }
+ public bool LogInfo { get; }
+ public bool LogInfoVerbose { get; }
+ public int MinNrOfMembers { get; }
+ public System.Collections.Immutable.ImmutableDictionary MinNrOfMembersOfRole { get; }
+ public int MonitoredByNrOfMembers { get; }
+ public System.TimeSpan PeriodicTasksInitialDelay { get; }
+ public System.Nullable PublishStatsInterval { get; }
+ public int ReduceGossipDifferentViewProbability { get; }
+ public System.Nullable RetryUnsuccessfulJoinAfter { get; }
+ public System.Collections.Immutable.ImmutableHashSet Roles { get; }
+ public bool RunCoordinatedShutdownWhenDown { get; }
+ public System.TimeSpan SchedulerTickDuration { get; }
+ public int SchedulerTicksPerWheel { get; }
+ public System.TimeSpan SeedNodeTimeout { get; }
+ public System.Collections.Immutable.ImmutableList SeedNodes { get; }
+ public System.Nullable ShutdownAfterUnsuccessfulJoinSeedNodes { get; }
+ public System.TimeSpan UnreachableNodesReaperInterval { get; }
+ public string UseDispatcher { get; }
+ public bool VerboseGossipReceivedLogging { get; }
+ public bool VerboseHeartbeatLogging { get; }
+ public System.TimeSpan WeaklyUpAfter { get; }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public interface IClusterActorRefProvider : Akka.Actor.IActorRefProvider, Akka.Remote.IRemoteActorRefProvider { }
+ public interface IClusterMessage { }
+ public interface IDowningProvider
+ {
+ System.TimeSpan DownRemovalMargin { get; }
+ Akka.Actor.Props DowningActorProps { get; }
+ }
+ public class Member : System.IComparable, System.IComparable
+ {
+ public static readonly System.Collections.Generic.IComparer AddressOrdering;
+ public static readonly System.Collections.Generic.IComparer AgeOrdering;
+ public Akka.Actor.Address Address { get; }
+ public Akka.Util.AppVersion AppVersion { get; }
+ public System.Collections.Immutable.ImmutableHashSet Roles { get; }
+ public Akka.Cluster.MemberStatus Status { get; }
+ public Akka.Cluster.UniqueAddress UniqueAddress { get; }
+ public int CompareTo(Akka.Cluster.Member other) { }
+ public Akka.Cluster.Member Copy(Akka.Cluster.MemberStatus status) { }
+ public Akka.Cluster.Member CopyUp(int upNumber) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public bool HasRole(string role) { }
+ public static Akka.Cluster.Member HighestPriorityOf(Akka.Cluster.Member m1, Akka.Cluster.Member m2) { }
+ public bool IsOlderThan(Akka.Cluster.Member other) { }
+ public static System.Collections.Immutable.ImmutableHashSet PickHighestPriority(System.Collections.Generic.IEnumerable a, System.Collections.Generic.IEnumerable b) { }
+ public static System.Collections.Immutable.ImmutableSortedSet PickNextTransition(System.Collections.Generic.IEnumerable a, System.Collections.Generic.IEnumerable b) { }
+ public static Akka.Cluster.Member PickNextTransition(Akka.Cluster.Member a, Akka.Cluster.Member b) { }
+ public override string ToString() { }
+ }
+ public enum MemberStatus
+ {
+ Joining = 0,
+ Up = 1,
+ Leaving = 2,
+ Exiting = 3,
+ Down = 4,
+ Removed = 5,
+ WeaklyUp = 6,
+ }
+ public sealed class NoDowning : Akka.Cluster.IDowningProvider
+ {
+ public NoDowning(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public sealed class SplitBrainResolver : Akka.Cluster.IDowningProvider
+ {
+ public SplitBrainResolver(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ public System.TimeSpan StableAfter { get; }
+ }
+ public class UniqueAddress : System.IComparable, System.IComparable, System.IEquatable
+ {
+ public UniqueAddress(Akka.Actor.Address address, int uid) { }
+ public Akka.Actor.Address Address { get; }
+ public int Uid { get; }
+ public int CompareTo(Akka.Cluster.UniqueAddress uniqueAddress) { }
+ public bool Equals(Akka.Cluster.UniqueAddress other) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool ==(Akka.Cluster.UniqueAddress left, Akka.Cluster.UniqueAddress right) { }
+ public static bool !=(Akka.Cluster.UniqueAddress left, Akka.Cluster.UniqueAddress right) { }
+ }
+ public sealed class VectorClock
+ {
+ public System.Collections.Immutable.ImmutableSortedDictionary Versions { get; }
+ public Akka.Cluster.VectorClock.Ordering CompareTo(Akka.Cluster.VectorClock that) { }
+ public static Akka.Cluster.VectorClock Create() { }
+ public static Akka.Cluster.VectorClock Create(System.Collections.Immutable.ImmutableSortedDictionary seedValues) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public Akka.Cluster.VectorClock Increment(Akka.Cluster.VectorClock.Node node) { }
+ public bool IsAfter(Akka.Cluster.VectorClock that) { }
+ public bool IsBefore(Akka.Cluster.VectorClock that) { }
+ public bool IsConcurrentWith(Akka.Cluster.VectorClock that) { }
+ public bool IsSameAs(Akka.Cluster.VectorClock that) { }
+ public Akka.Cluster.VectorClock Merge(Akka.Cluster.VectorClock that) { }
+ public Akka.Cluster.VectorClock Prune(Akka.Cluster.VectorClock.Node removedNode) { }
+ public override string ToString() { }
+ public static bool ==(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool >(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool !=(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public static bool <(Akka.Cluster.VectorClock left, Akka.Cluster.VectorClock right) { }
+ public class Node : System.IComparable
+ {
+ public Node(string value) { }
+ public int CompareTo(Akka.Cluster.VectorClock.Node other) { }
+ public static Akka.Cluster.VectorClock.Node Create(string name) { }
+ public override bool Equals(object obj) { }
+ public static Akka.Cluster.VectorClock.Node FromHash(string hash) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ }
+ public enum Ordering
+ {
+ After = 0,
+ Before = 1,
+ Same = 2,
+ Concurrent = 3,
+ FullOrder = 4,
+ }
+ }
+}
+namespace Akka.Cluster.Routing
+{
+ public sealed class ClusterRouterGroup : Akka.Routing.Group
+ {
+ public ClusterRouterGroup(Akka.Routing.Group local, Akka.Cluster.Routing.ClusterRouterGroupSettings settings) { }
+ public Akka.Routing.Group Local { get; }
+ public override string RouterDispatcher { get; }
+ public Akka.Cluster.Routing.ClusterRouterGroupSettings Settings { get; }
+ public override bool StopRouterWhenAllRouteesRemoved { get; }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.ActorBase CreateRouterActor() { }
+ public override System.Collections.Generic.IEnumerable GetPaths(Akka.Actor.ActorSystem system) { }
+ public override bool IsManagementMessage(object message) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public override Akka.Routing.RouterConfig WithFallback(Akka.Routing.RouterConfig routerConfig) { }
+ }
+ public sealed class ClusterRouterGroupSettings : Akka.Cluster.Routing.ClusterRouterSettingsBase
+ {
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterGroupSettings(int totalInstances, bool allowLocalRoutees, System.Collections.Generic.IEnumerable routeesPaths) { }
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterGroupSettings(int totalInstances, bool allowLocalRoutees, string useRole, System.Collections.Immutable.ImmutableHashSet routeesPaths) { }
+ public ClusterRouterGroupSettings(int totalInstances, System.Collections.Generic.IEnumerable routeesPaths, bool allowLocalRoutees, string useRole = null) { }
+ public System.Collections.Generic.IEnumerable RouteesPaths { get; }
+ public static Akka.Cluster.Routing.ClusterRouterGroupSettings FromConfig(Akka.Configuration.Config config) { }
+ }
+ public sealed class ClusterRouterPool : Akka.Routing.Pool
+ {
+ public ClusterRouterPool(Akka.Routing.Pool local, Akka.Cluster.Routing.ClusterRouterPoolSettings settings) { }
+ public Akka.Routing.Pool Local { get; }
+ public override string RouterDispatcher { get; }
+ public Akka.Cluster.Routing.ClusterRouterPoolSettings Settings { get; }
+ public override bool StopRouterWhenAllRouteesRemoved { get; }
+ public override Akka.Actor.SupervisorStrategy SupervisorStrategy { get; }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.ActorBase CreateRouterActor() { }
+ public override int GetNrOfInstances(Akka.Actor.ActorSystem system) { }
+ public override bool IsManagementMessage(object message) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public override Akka.Routing.RouterConfig WithFallback(Akka.Routing.RouterConfig routerConfig) { }
+ }
+ public sealed class ClusterRouterPoolSettings : Akka.Cluster.Routing.ClusterRouterSettingsBase
+ {
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterPoolSettings(int totalInstances, bool allowLocalRoutees, int maxInstancesPerNode) { }
+ [System.ObsoleteAttribute("This method is deprecated [1.1.0]")]
+ public ClusterRouterPoolSettings(int totalInstances, bool allowLocalRoutees, string useRole, int maxInstancesPerNode) { }
+ public ClusterRouterPoolSettings(int totalInstances, int maxInstancesPerNode, bool allowLocalRoutees, string useRole = null) { }
+ public int MaxInstancesPerNode { get; }
+ public override bool Equals(object obj) { }
+ public static Akka.Cluster.Routing.ClusterRouterPoolSettings FromConfig(Akka.Configuration.Config config) { }
+ public override int GetHashCode() { }
+ }
+ public abstract class ClusterRouterSettingsBase
+ {
+ protected ClusterRouterSettingsBase(int totalInstances, bool allowLocalRoutees, string useRole) { }
+ public bool AllowLocalRoutees { get; }
+ public int TotalInstances { get; }
+ public string UseRole { get; }
+ }
+}
+namespace Akka.Cluster.SBR
+{
+ public sealed class KeepOldestSettings
+ {
+ public KeepOldestSettings(bool downIfAlone, string role) { }
+ public bool DownIfAlone { get; }
+ public string Role { get; }
+ }
+ public sealed class LeaseMajoritySettings
+ {
+ [System.ObsoleteAttribute()]
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, string role) { }
+ [System.ObsoleteAttribute()]
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, string role, string leaseName) { }
+ public LeaseMajoritySettings(string leaseImplementation, System.TimeSpan acquireLeaseDelayForMinority, System.TimeSpan releaseAfter, string role, string leaseName) { }
+ public System.TimeSpan AcquireLeaseDelayForMinority { get; }
+ public string LeaseImplementation { get; }
+ public string LeaseName { get; }
+ public System.TimeSpan ReleaseAfter { get; }
+ public string Role { get; }
+ public string SafeLeaseName(string systemName) { }
+ }
+ public class SplitBrainResolverProvider : Akka.Cluster.IDowningProvider
+ {
+ public SplitBrainResolverProvider(Akka.Actor.ActorSystem system) { }
+ public System.TimeSpan DownRemovalMargin { get; }
+ public Akka.Actor.Props DowningActorProps { get; }
+ }
+ public sealed class SplitBrainResolverSettings
+ {
+ public static readonly System.Collections.Immutable.ImmutableHashSet AllStrategyNames;
+ public const string DownAllName = "down-all";
+ public const string KeepMajorityName = "keep-majority";
+ public const string KeepOldestName = "keep-oldest";
+ public const string LeaseMajorityName = "lease-majority";
+ public const string StaticQuorumName = "static-quorum";
+ public SplitBrainResolverSettings(Akka.Configuration.Config config) { }
+ public System.TimeSpan DownAllWhenUnstable { get; }
+ public System.TimeSpan DowningStableAfter { get; }
+ public string DowningStrategy { get; }
+ public string KeepMajorityRole { get; }
+ public Akka.Cluster.SBR.KeepOldestSettings KeepOldestSettings { get; }
+ public Akka.Cluster.SBR.LeaseMajoritySettings LeaseMajoritySettings { get; }
+ public Akka.Cluster.SBR.StaticQuorumSettings StaticQuorumSettings { get; }
+ }
+ public sealed class StaticQuorumSettings
+ {
+ public StaticQuorumSettings(int size, string role) { }
+ public string Role { get; }
+ public int Size { get; }
+ }
+}
+namespace Akka.Cluster.Serialization
+{
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterMessageSerializer : Akka.Serialization.SerializerWithStringManifest
+ {
+ public ClusterMessageSerializer(Akka.Actor.ExtendedActorSystem system) { }
+ public override object FromBinary(byte[] bytes, string manifest) { }
+ public override string Manifest(object o) { }
+ public override byte[] ToBinary(object obj) { }
+ }
+}
\ No newline at end of file
diff --git a/src/core/Akka.API.Tests/CoreAPISpec.ApproveClusterMetrics.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterMetrics.Core.verified.txt
similarity index 100%
rename from src/core/Akka.API.Tests/CoreAPISpec.ApproveClusterMetrics.verified.txt
rename to src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterMetrics.Core.verified.txt
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterMetrics.DotNet.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterMetrics.DotNet.verified.txt
new file mode 100644
index 00000000000..1e64b6d87d5
--- /dev/null
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterMetrics.DotNet.verified.txt
@@ -0,0 +1,565 @@
+[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://github.com/akkadotnet/akka.net")]
+[assembly: System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName="")]
+namespace Akka.Cluster.Metrics
+{
+ public sealed class AdaptiveLoadBalancingGroup : Akka.Routing.Group
+ {
+ public AdaptiveLoadBalancingGroup(Akka.Cluster.Metrics.IMetricsSelector metricsSelector = null, System.Collections.Generic.IEnumerable paths = null, string routerDispatcher = null) { }
+ public AdaptiveLoadBalancingGroup(Akka.Configuration.Config config) { }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override System.Collections.Generic.IEnumerable GetPaths(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public Akka.Cluster.Metrics.AdaptiveLoadBalancingGroup WithDispatcher(string dispatcherId) { }
+ public class AdaptiveLoadBalancingGroupSurrogate : Akka.Util.ISurrogate
+ {
+ public AdaptiveLoadBalancingGroupSurrogate() { }
+ public Akka.Cluster.Metrics.IMetricsSelector MetricsSelector { get; set; }
+ public System.Collections.Generic.IEnumerable Paths { get; set; }
+ public string RouterDispatcher { get; set; }
+ public Akka.Util.ISurrogated FromSurrogate(Akka.Actor.ActorSystem system) { }
+ }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class AdaptiveLoadBalancingMetricsListener : Akka.Actor.ActorBase
+ {
+ public AdaptiveLoadBalancingMetricsListener(Akka.Cluster.Metrics.IClusterMetricsRoutingLogic routingLogic) { }
+ protected override void PostStop() { }
+ protected override void PreStart() { }
+ protected override bool Receive(object message) { }
+ }
+ public sealed class AdaptiveLoadBalancingPool : Akka.Routing.Pool
+ {
+ public AdaptiveLoadBalancingPool(Akka.Cluster.Metrics.IMetricsSelector metricsSelector = null, int nrOfInstances = 0, Akka.Actor.SupervisorStrategy supervisorStrategy = null, string routerDispatcher = null, bool usePoolDispatcher = False) { }
+ public AdaptiveLoadBalancingPool(Akka.Configuration.Config config) { }
+ public Akka.Cluster.Metrics.IMetricsSelector MetricsSelector { get; }
+ public override Akka.Routing.Resizer Resizer { get; }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override int GetNrOfInstances(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public Akka.Cluster.Metrics.AdaptiveLoadBalancingPool WithDispatcher(string dispatcherId) { }
+ public override Akka.Routing.RouterConfig WithFallback(Akka.Routing.RouterConfig routerConfig) { }
+ public Akka.Cluster.Metrics.AdaptiveLoadBalancingPool WithSupervisorStrategy(Akka.Actor.SupervisorStrategy strategy) { }
+ public class AdaptiveLoadBalancingPoolSurrogate : Akka.Util.ISurrogate
+ {
+ public AdaptiveLoadBalancingPoolSurrogate() { }
+ public Akka.Cluster.Metrics.IMetricsSelector MetricsSelector { get; set; }
+ public int NrOfInstances { get; set; }
+ public string RouterDispatcher { get; set; }
+ public Akka.Actor.SupervisorStrategy SupervisorStrategy { get; set; }
+ public bool UsePoolDispatcher { get; set; }
+ public Akka.Util.ISurrogated FromSurrogate(Akka.Actor.ActorSystem system) { }
+ }
+ }
+ public sealed class AdaptiveLoadBalancingRoutingLogic : Akka.Routing.RoutingLogic, Akka.Cluster.Metrics.IClusterMetricsRoutingLogic
+ {
+ public AdaptiveLoadBalancingRoutingLogic(Akka.Actor.ActorSystem system, Akka.Cluster.Metrics.IMetricsSelector metricsSelector = null) { }
+ public void MetricsChanged(Akka.Cluster.Metrics.Events.ClusterMetricsChanged @event) { }
+ public override Akka.Routing.Routee Select(object message, Akka.Routing.Routee[] routees) { }
+ }
+ public abstract class CapacityMetricsSelector : Akka.Cluster.Metrics.IMetricsSelector
+ {
+ protected CapacityMetricsSelector() { }
+ public abstract System.Collections.Immutable.IImmutableDictionary Capacity(System.Collections.Immutable.IImmutableSet nodeMetrics);
+ public System.Collections.Immutable.IImmutableDictionary Weights(System.Collections.Immutable.IImmutableDictionary capacity) { }
+ public System.Collections.Immutable.IImmutableDictionary Weights(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ }
+ public class ClusterMetrics : Akka.Actor.IExtension
+ {
+ public Akka.Cluster.Metrics.Configuration.ClusterMetricsSettings Settings { get; }
+ [Akka.Annotations.InternalApiAttribute()]
+ public Akka.Cluster.Metrics.ClusterMetricsStrategy Strategy { get; }
+ public Akka.Actor.IActorRef Supervisor { get; }
+ public static Akka.Configuration.Config DefaultConfig() { }
+ public static Akka.Cluster.Metrics.ClusterMetrics Get(Akka.Actor.ActorSystem system) { }
+ public void Subscribe(Akka.Actor.IActorRef metricsListener) { }
+ public void Unsubscribe(Akka.Actor.IActorRef metricsListener) { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterMetricsCollector : Akka.Actor.ActorBase
+ {
+ public ClusterMetricsCollector() { }
+ protected override void PostStop() { }
+ protected override void PreStart() { }
+ protected override bool Receive(object message) { }
+ }
+ public class ClusterMetricsExtensionProvider : Akka.Actor.ExtensionIdProvider
+ {
+ public ClusterMetricsExtensionProvider() { }
+ public override Akka.Cluster.Metrics.ClusterMetrics CreateExtension(Akka.Actor.ExtendedActorSystem system) { }
+ }
+ public class ClusterMetricsStrategy : Akka.Actor.OneForOneStrategy
+ {
+ public ClusterMetricsStrategy(Akka.Configuration.Config config) { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterMetricsSupervisor : Akka.Actor.ActorBase
+ {
+ public ClusterMetricsSupervisor() { }
+ protected override void PreStart() { }
+ protected override bool Receive(object message) { }
+ protected override Akka.Actor.SupervisorStrategy SupervisorStrategy() { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class static ClusterMetricsSupervisorMetadata
+ {
+ public sealed class CollectionStartMessage : Akka.Cluster.Metrics.ClusterMetricsSupervisorMetadata.ICollectionControlMessage
+ {
+ public static readonly Akka.Cluster.Metrics.ClusterMetricsSupervisorMetadata.CollectionStartMessage Instance;
+ }
+ public sealed class CollectionStopMessage : Akka.Cluster.Metrics.ClusterMetricsSupervisorMetadata.ICollectionControlMessage
+ {
+ public static readonly Akka.Cluster.Metrics.ClusterMetricsSupervisorMetadata.CollectionStopMessage Instance;
+ }
+ public interface ICollectionControlMessage { }
+ }
+ public class CpuMetricsSelector : Akka.Cluster.Metrics.CapacityMetricsSelector
+ {
+ public static readonly Akka.Cluster.Metrics.CpuMetricsSelector Instance;
+ public CpuMetricsSelector() { }
+ public override System.Collections.Immutable.IImmutableDictionary Capacity(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ }
+ public interface IClusterMetricsRoutingLogic
+ {
+ void MetricsChanged(Akka.Cluster.Metrics.Events.ClusterMetricsChanged @event);
+ }
+ public interface IMetricsCollector : System.IDisposable
+ {
+ Akka.Cluster.Metrics.Serialization.NodeMetrics Sample();
+ }
+ public interface IMetricsSelector
+ {
+ System.Collections.Immutable.IImmutableDictionary Weights(System.Collections.Immutable.IImmutableSet nodeMetrics);
+ }
+ public class MemoryMetricsSelector : Akka.Cluster.Metrics.CapacityMetricsSelector
+ {
+ public static readonly Akka.Cluster.Metrics.MemoryMetricsSelector Instance;
+ public MemoryMetricsSelector() { }
+ public override System.Collections.Immutable.IImmutableDictionary Capacity(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ }
+ public class MetricsCollectorBuilder
+ {
+ public MetricsCollectorBuilder() { }
+ public Akka.Cluster.Metrics.IMetricsCollector Build(Akka.Actor.ActorSystem system) { }
+ }
+ public class static MetricsSelectorBuilder
+ {
+ public static Akka.Cluster.Metrics.IMetricsSelector BuildFromConfig(Akka.Configuration.Config config) { }
+ }
+ public class MixMetricsSelector : Akka.Cluster.Metrics.MixMetricsSelectorBase
+ {
+ public static readonly Akka.Cluster.Metrics.MixMetricsSelector Instance;
+ public MixMetricsSelector(System.Collections.Immutable.ImmutableArray selectors) { }
+ }
+ public abstract class MixMetricsSelectorBase : Akka.Cluster.Metrics.CapacityMetricsSelector
+ {
+ protected MixMetricsSelectorBase(System.Collections.Immutable.ImmutableArray selectors) { }
+ public System.Collections.Immutable.ImmutableArray Selectors { get; }
+ public override System.Collections.Immutable.IImmutableDictionary Capacity(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ }
+ public class static StandardMetrics
+ {
+ public const string CpuProcessUsage = "CpuProcessUsage";
+ public const string CpuTotalUsage = "CpuTotalUsage";
+ public const string MaxMemoryRecommended = "MaxMemoryRecommended";
+ public const string MemoryAvailable = "MemoryAvailable";
+ public const string MemoryUsed = "MemoryUsed";
+ public const string Processors = "Processors";
+ public static Akka.Util.Option ExtractCpu(Akka.Cluster.Metrics.Serialization.NodeMetrics nodeMetrics) { }
+ public static Akka.Util.Option ExtractMemory(Akka.Cluster.Metrics.Serialization.NodeMetrics nodeMetrics) { }
+ public sealed class Cpu
+ {
+ public Cpu(Akka.Actor.Address address, long timestamp, double cpuProcessUsage, double cpuTotalUsage, int processorsNumber) { }
+ public Akka.Actor.Address Address { get; }
+ public double ProcessUsage { get; }
+ public int ProcessorsNumber { get; }
+ public long Timestamp { get; }
+ public double TotalUsage { get; }
+ [return: System.Runtime.CompilerServices.TupleElementNamesAttribute(new string[] {
+ "Address",
+ "Timestamp",
+ "CpuProcessUsage",
+ "CpuTotalUsage",
+ "Processors"})]
+ public static Akka.Util.Option> Decompose(Akka.Cluster.Metrics.Serialization.NodeMetrics nodeMetrics) { }
+ }
+ public sealed class Memory
+ {
+ public Memory(Akka.Actor.Address address, long timestamp, double used, double available, Akka.Util.Option max) { }
+ public Akka.Actor.Address Address { get; }
+ public double Available { get; }
+ public Akka.Util.Option MaxRecommended { get; }
+ public long Timestamp { get; }
+ public double Used { get; }
+ [return: System.Runtime.CompilerServices.TupleElementNamesAttribute(new string[] {
+ "Address",
+ "Timestamp",
+ "UsedSmoothValue",
+ "AvailableSmoothValue",
+ "MaxRecommendedSmoothValue"})]
+ public static Akka.Util.Option>> Decompose(Akka.Cluster.Metrics.Serialization.NodeMetrics nodeMetrics) { }
+ }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class WeightedRoutees
+ {
+ public WeightedRoutees(System.Collections.Immutable.ImmutableArray routees, Akka.Actor.Address selfAddress, System.Collections.Immutable.IImmutableDictionary weights) { }
+ public bool IsEmpty { get; }
+ public Akka.Routing.Routee this[int value] { get; }
+ public int Total { get; }
+ }
+}
+namespace Akka.Cluster.Metrics.Collectors
+{
+ public class DefaultCollector : Akka.Cluster.Metrics.IMetricsCollector, System.IDisposable
+ {
+ public DefaultCollector(Akka.Actor.Address address) { }
+ public DefaultCollector(Akka.Actor.ActorSystem system) { }
+ public void Dispose() { }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics Sample() { }
+ }
+}
+namespace Akka.Cluster.Metrics.Configuration
+{
+ public class ClusterMetricsSettings
+ {
+ public ClusterMetricsSettings(Akka.Configuration.Config config) { }
+ public bool CollectorEnabled { get; }
+ public bool CollectorFallback { get; }
+ public System.TimeSpan CollectorGossipInterval { get; }
+ public System.TimeSpan CollectorMovingAverageHalfLife { get; }
+ public string CollectorProvider { get; }
+ public System.TimeSpan CollectorSampleInterval { get; }
+ public string MetricsDispatcher { get; }
+ public System.TimeSpan PeriodicTasksInitialDelay { get; }
+ public string SupervisorName { get; }
+ public Akka.Configuration.Config SupervisorStrategyConfiguration { get; }
+ public string SupervisorStrategyProvider { get; }
+ public static Akka.Cluster.Metrics.Configuration.ClusterMetricsSettings Create(Akka.Configuration.Config config) { }
+ }
+}
+namespace Akka.Cluster.Metrics.Events
+{
+ public sealed class ClusterMetricsChanged : Akka.Cluster.Metrics.Events.IClusterMetricsEvent
+ {
+ public ClusterMetricsChanged(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ public System.Collections.Immutable.IImmutableSet NodeMetrics { get; }
+ }
+ public interface IClusterMetricsEvent { }
+}
+namespace Akka.Cluster.Metrics.Helpers
+{
+ [Akka.Annotations.InternalApiAttribute()]
+ public struct AnyNumber
+ {
+ public AnyNumber(int n) { }
+ public AnyNumber(long n) { }
+ public AnyNumber(float n) { }
+ public AnyNumber(double n) { }
+ public double DoubleValue { get; }
+ public long LongValue { get; }
+ [get: System.Runtime.CompilerServices.IsReadOnlyAttribute()]
+ public Akka.Cluster.Metrics.Helpers.AnyNumber.NumberType Type { get; }
+ public override string ToString() { }
+ public static Akka.Cluster.Metrics.Helpers.AnyNumber op_Implicit(int n) { }
+ public static Akka.Cluster.Metrics.Helpers.AnyNumber op_Implicit(long n) { }
+ public static Akka.Cluster.Metrics.Helpers.AnyNumber op_Implicit(float n) { }
+ public static Akka.Cluster.Metrics.Helpers.AnyNumber op_Implicit(double n) { }
+ public enum NumberType
+ {
+ Int = 0,
+ Long = 1,
+ Float = 2,
+ Double = 3,
+ }
+ }
+}
+namespace Akka.Cluster.Metrics.Serialization
+{
+ public sealed class AdaptiveLoadBalancingPool : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int MetricsSelectorFieldNumber = 1;
+ public const int NrOfInstancesFieldNumber = 2;
+ public const int RouterDispatcherFieldNumber = 3;
+ public const int UsePoolDispatcherFieldNumber = 4;
+ public AdaptiveLoadBalancingPool() { }
+ public AdaptiveLoadBalancingPool(Akka.Cluster.Metrics.Serialization.AdaptiveLoadBalancingPool other) { }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public Akka.Cluster.Metrics.Serialization.MetricsSelector MetricsSelector { get; set; }
+ public uint NrOfInstances { get; set; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public string RouterDispatcher { get; set; }
+ public bool UsePoolDispatcher { get; set; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.AdaptiveLoadBalancingPool Clone() { }
+ public override bool Equals(object other) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.AdaptiveLoadBalancingPool other) { }
+ public override int GetHashCode() { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.AdaptiveLoadBalancingPool other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ }
+ public sealed class AddressData : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int HostnameFieldNumber = 2;
+ public const int PortFieldNumber = 3;
+ public const int ProtocolFieldNumber = 4;
+ public const int SystemFieldNumber = 1;
+ public AddressData() { }
+ public AddressData(Akka.Cluster.Metrics.Serialization.AddressData other) { }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public string Hostname { get; set; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public uint Port { get; set; }
+ public string Protocol { get; set; }
+ public string System { get; set; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.AddressData Clone() { }
+ public override bool Equals(object other) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.AddressData other) { }
+ public override int GetHashCode() { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.AddressData other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ }
+ public class ClusterMetricsMessageSerializer : Akka.Serialization.SerializerWithStringManifest
+ {
+ public ClusterMetricsMessageSerializer(Akka.Actor.ExtendedActorSystem system) { }
+ public override object FromBinary(byte[] bytes, string manifest) { }
+ public override string Manifest(object o) { }
+ public override byte[] ToBinary(object obj) { }
+ }
+ public class static ClusterMetricsMessagesReflection
+ {
+ public static Google.Protobuf.Reflection.FileDescriptor Descriptor { get; }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public interface IClusterMetricMessage { }
+ [Akka.Annotations.InternalApiAttribute()]
+ public sealed class MetricsGossip : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int AllAddressesFieldNumber = 1;
+ public const int AllMetricNamesFieldNumber = 2;
+ public static readonly Akka.Cluster.Metrics.Serialization.MetricsGossip Empty;
+ public const int NodeMetricsFieldNumber = 3;
+ public MetricsGossip() { }
+ public MetricsGossip(Akka.Cluster.Metrics.Serialization.MetricsGossip other) { }
+ public MetricsGossip(System.Collections.Immutable.IImmutableSet nodes) { }
+ public Google.Protobuf.Collections.RepeatedField AllAddresses { get; }
+ public Google.Protobuf.Collections.RepeatedField AllMetricNames { get; }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public Google.Protobuf.Collections.RepeatedField NodeMetrics { get; }
+ public System.Collections.Immutable.IImmutableSet Nodes { get; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.MetricsGossip Clone() { }
+ public override bool Equals(object other) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.MetricsGossip other) { }
+ public Akka.Cluster.Metrics.Serialization.MetricsGossip Filter(System.Collections.Immutable.IImmutableSet includeNodes) { }
+ public override int GetHashCode() { }
+ public Akka.Cluster.Metrics.Serialization.MetricsGossip Merge(Akka.Cluster.Metrics.Serialization.MetricsGossip otherGossip) { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.MetricsGossip other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public Akka.Util.Option NodeMetricsFor(Akka.Actor.Address address) { }
+ public Akka.Cluster.Metrics.Serialization.MetricsGossip Remove(Akka.Actor.Address node) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ public static Akka.Cluster.Metrics.Serialization.MetricsGossip +(Akka.Cluster.Metrics.Serialization.MetricsGossip gossip, Akka.Cluster.Metrics.Serialization.NodeMetrics newNodeMetrics) { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public sealed class MetricsGossipEnvelope : Akka.Cluster.Metrics.Serialization.IClusterMetricMessage, Akka.Event.IDeadLetterSuppression, Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int FromFieldNumber = 1;
+ public const int GossipFieldNumber = 2;
+ public const int ReplyFieldNumber = 3;
+ public MetricsGossipEnvelope(Akka.Actor.Address fromAddress, Akka.Cluster.Metrics.Serialization.MetricsGossip gossip, bool reply) { }
+ public MetricsGossipEnvelope() { }
+ public MetricsGossipEnvelope(Akka.Cluster.Metrics.Serialization.MetricsGossipEnvelope other) { }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public Akka.Cluster.Metrics.Serialization.AddressData From { get; set; }
+ public Akka.Actor.Address FromAddress { get; }
+ public Akka.Cluster.Metrics.Serialization.MetricsGossip Gossip { get; set; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public bool Reply { get; set; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.MetricsGossipEnvelope Clone() { }
+ public override bool Equals(object other) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.MetricsGossipEnvelope other) { }
+ public override int GetHashCode() { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.MetricsGossipEnvelope other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ }
+ public sealed class MetricsSelector : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int DataFieldNumber = 3;
+ public const int ManifestFieldNumber = 2;
+ public const int SerializerIdFieldNumber = 1;
+ public MetricsSelector() { }
+ public MetricsSelector(Akka.Cluster.Metrics.Serialization.MetricsSelector other) { }
+ public Google.Protobuf.ByteString Data { get; set; }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public string Manifest { get; set; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public uint SerializerId { get; set; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.MetricsSelector Clone() { }
+ public override bool Equals(object other) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.MetricsSelector other) { }
+ public override int GetHashCode() { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.MetricsSelector other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ }
+ public sealed class MixMetricsSelector : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int SelectorsFieldNumber = 1;
+ public MixMetricsSelector() { }
+ public MixMetricsSelector(Akka.Cluster.Metrics.Serialization.MixMetricsSelector other) { }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public Google.Protobuf.Collections.RepeatedField Selectors { get; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.MixMetricsSelector Clone() { }
+ public override bool Equals(object other) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.MixMetricsSelector other) { }
+ public override int GetHashCode() { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.MixMetricsSelector other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ }
+ public sealed class NodeMetrics : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int AddressIndexFieldNumber = 1;
+ public const int MetricsFieldNumber = 3;
+ public const int TimestampFieldNumber = 2;
+ public NodeMetrics() { }
+ public NodeMetrics(Akka.Cluster.Metrics.Serialization.NodeMetrics other) { }
+ public NodeMetrics(Akka.Actor.Address address, long timestamp, System.Collections.Generic.IEnumerable metrics) { }
+ public Akka.Actor.Address Address { get; }
+ public int AddressIndex { get; set; }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public Google.Protobuf.Collections.RepeatedField Metrics { get; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public long Timestamp { get; set; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics Clone() { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.NodeMetrics other) { }
+ public override int GetHashCode() { }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics Merge(Akka.Cluster.Metrics.Serialization.NodeMetrics that) { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.NodeMetrics other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public Akka.Util.Option Metric(string name) { }
+ public bool SameAs(Akka.Cluster.Metrics.Serialization.NodeMetrics that) { }
+ public override string ToString() { }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics Update(Akka.Cluster.Metrics.Serialization.NodeMetrics that) { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ public class static Types
+ {
+ public sealed class EWMA : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int AlphaFieldNumber = 2;
+ public const int ValueFieldNumber = 1;
+ public EWMA() { }
+ public EWMA(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.EWMA other) { }
+ public EWMA(double value, double alpha) { }
+ public double Alpha { get; set; }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public double Value { get; set; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.EWMA Clone() { }
+ public override bool Equals(object other) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.EWMA other) { }
+ public static double GetAlpha(System.TimeSpan halfLife, System.TimeSpan collectInterval) { }
+ public override int GetHashCode() { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.EWMA other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ public static Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.EWMA +(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.EWMA current, double xn) { }
+ }
+ public sealed class Metric : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int EwmaFieldNumber = 3;
+ public const int NameIndexFieldNumber = 1;
+ public const int NumberFieldNumber = 2;
+ public Metric() { }
+ public Metric(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric other) { }
+ public Metric(string name, Akka.Cluster.Metrics.Helpers.AnyNumber value, Akka.Util.Option average) { }
+ public Akka.Util.Option Average { get; }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.EWMA Ewma { get; set; }
+ public bool IsSmooth { get; }
+ public string Name { get; }
+ public int NameIndex { get; set; }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Number Number { get; set; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public double SmoothValue { get; }
+ public Akka.Cluster.Metrics.Helpers.AnyNumber Value { get; }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric Add(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric latest) { }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric Clone() { }
+ [Akka.Annotations.InternalApiAttribute()]
+ public static Akka.Util.Either ConvertNumber(Akka.Cluster.Metrics.Helpers.AnyNumber number) { }
+ public static Akka.Util.Option Create(string name, Akka.Cluster.Metrics.Helpers.AnyNumber value) { }
+ public static Akka.Util.Option Create(string name, Akka.Cluster.Metrics.Helpers.AnyNumber value, Akka.Util.Option decayFactor) { }
+ public static Akka.Util.Option Create(string name, Akka.Util.Try value, Akka.Util.Option decayFactor) { }
+ public static Akka.Util.Option CreateEWMA(Akka.Cluster.Metrics.Helpers.AnyNumber value, Akka.Util.Option decayFactor) { }
+ [Akka.Annotations.InternalApiAttribute()]
+ public static bool Defined(Akka.Cluster.Metrics.Helpers.AnyNumber value) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric other) { }
+ public override int GetHashCode() { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public bool SameAs(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric that) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ public static Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric +(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric m1, Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Metric m2) { }
+ }
+ public sealed class Number : Google.Protobuf.IDeepCloneable, Google.Protobuf.IMessage, Google.Protobuf.IMessage, System.IEquatable
+ {
+ public const int SerializedFieldNumber = 4;
+ public const int TypeFieldNumber = 1;
+ public const int Value32FieldNumber = 2;
+ public const int Value64FieldNumber = 3;
+ public Number() { }
+ public Number(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Number other) { }
+ public static Google.Protobuf.Reflection.MessageDescriptor Descriptor { get; }
+ public static Google.Protobuf.MessageParser Parser { get; }
+ public Google.Protobuf.ByteString Serialized { get; set; }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.NumberType Type { get; set; }
+ public uint Value32 { get; set; }
+ public ulong Value64 { get; set; }
+ public int CalculateSize() { }
+ public Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Number Clone() { }
+ public override bool Equals(object other) { }
+ public bool Equals(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Number other) { }
+ public override int GetHashCode() { }
+ public void MergeFrom(Akka.Cluster.Metrics.Serialization.NodeMetrics.Types.Number other) { }
+ public void MergeFrom(Google.Protobuf.CodedInputStream input) { }
+ public override string ToString() { }
+ public void WriteTo(Google.Protobuf.CodedOutputStream output) { }
+ }
+ public enum NumberType
+ {
+ [Google.Protobuf.Reflection.OriginalNameAttribute("Serialized")]
+ Serialized = 0,
+ [Google.Protobuf.Reflection.OriginalNameAttribute("Double")]
+ Double = 1,
+ [Google.Protobuf.Reflection.OriginalNameAttribute("Float")]
+ Float = 2,
+ [Google.Protobuf.Reflection.OriginalNameAttribute("Integer")]
+ Integer = 3,
+ [Google.Protobuf.Reflection.OriginalNameAttribute("Long")]
+ Long = 4,
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterMetrics.Net.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterMetrics.Net.verified.txt
new file mode 100644
index 00000000000..4fab075a254
--- /dev/null
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterMetrics.Net.verified.txt
@@ -0,0 +1,564 @@
+[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://github.com/akkadotnet/akka.net")]
+[assembly: System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.0", FrameworkDisplayName="")]
+namespace Akka.Cluster.Metrics
+{
+ public sealed class AdaptiveLoadBalancingGroup : Akka.Routing.Group
+ {
+ public AdaptiveLoadBalancingGroup(Akka.Cluster.Metrics.IMetricsSelector metricsSelector = null, System.Collections.Generic.IEnumerable paths = null, string routerDispatcher = null) { }
+ public AdaptiveLoadBalancingGroup(Akka.Configuration.Config config) { }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override System.Collections.Generic.IEnumerable GetPaths(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public Akka.Cluster.Metrics.AdaptiveLoadBalancingGroup WithDispatcher(string dispatcherId) { }
+ public class AdaptiveLoadBalancingGroupSurrogate : Akka.Util.ISurrogate
+ {
+ public AdaptiveLoadBalancingGroupSurrogate() { }
+ public Akka.Cluster.Metrics.IMetricsSelector MetricsSelector { get; set; }
+ public System.Collections.Generic.IEnumerable Paths { get; set; }
+ public string RouterDispatcher { get; set; }
+ public Akka.Util.ISurrogated FromSurrogate(Akka.Actor.ActorSystem system) { }
+ }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class AdaptiveLoadBalancingMetricsListener : Akka.Actor.ActorBase
+ {
+ public AdaptiveLoadBalancingMetricsListener(Akka.Cluster.Metrics.IClusterMetricsRoutingLogic routingLogic) { }
+ protected override void PostStop() { }
+ protected override void PreStart() { }
+ protected override bool Receive(object message) { }
+ }
+ public sealed class AdaptiveLoadBalancingPool : Akka.Routing.Pool
+ {
+ public AdaptiveLoadBalancingPool(Akka.Cluster.Metrics.IMetricsSelector metricsSelector = null, int nrOfInstances = 0, Akka.Actor.SupervisorStrategy supervisorStrategy = null, string routerDispatcher = null, bool usePoolDispatcher = False) { }
+ public AdaptiveLoadBalancingPool(Akka.Configuration.Config config) { }
+ public Akka.Cluster.Metrics.IMetricsSelector MetricsSelector { get; }
+ public override Akka.Routing.Resizer Resizer { get; }
+ public override Akka.Routing.Router CreateRouter(Akka.Actor.ActorSystem system) { }
+ public override int GetNrOfInstances(Akka.Actor.ActorSystem system) { }
+ public override Akka.Actor.Props RoutingLogicController(Akka.Routing.RoutingLogic routingLogic) { }
+ public override Akka.Util.ISurrogate ToSurrogate(Akka.Actor.ActorSystem system) { }
+ public Akka.Cluster.Metrics.AdaptiveLoadBalancingPool WithDispatcher(string dispatcherId) { }
+ public override Akka.Routing.RouterConfig WithFallback(Akka.Routing.RouterConfig routerConfig) { }
+ public Akka.Cluster.Metrics.AdaptiveLoadBalancingPool WithSupervisorStrategy(Akka.Actor.SupervisorStrategy strategy) { }
+ public class AdaptiveLoadBalancingPoolSurrogate : Akka.Util.ISurrogate
+ {
+ public AdaptiveLoadBalancingPoolSurrogate() { }
+ public Akka.Cluster.Metrics.IMetricsSelector MetricsSelector { get; set; }
+ public int NrOfInstances { get; set; }
+ public string RouterDispatcher { get; set; }
+ public Akka.Actor.SupervisorStrategy SupervisorStrategy { get; set; }
+ public bool UsePoolDispatcher { get; set; }
+ public Akka.Util.ISurrogated FromSurrogate(Akka.Actor.ActorSystem system) { }
+ }
+ }
+ public sealed class AdaptiveLoadBalancingRoutingLogic : Akka.Routing.RoutingLogic, Akka.Cluster.Metrics.IClusterMetricsRoutingLogic
+ {
+ public AdaptiveLoadBalancingRoutingLogic(Akka.Actor.ActorSystem system, Akka.Cluster.Metrics.IMetricsSelector metricsSelector = null) { }
+ public void MetricsChanged(Akka.Cluster.Metrics.Events.ClusterMetricsChanged @event) { }
+ public override Akka.Routing.Routee Select(object message, Akka.Routing.Routee[] routees) { }
+ }
+ public abstract class CapacityMetricsSelector : Akka.Cluster.Metrics.IMetricsSelector
+ {
+ protected CapacityMetricsSelector() { }
+ public abstract System.Collections.Immutable.IImmutableDictionary Capacity(System.Collections.Immutable.IImmutableSet nodeMetrics);
+ public System.Collections.Immutable.IImmutableDictionary Weights(System.Collections.Immutable.IImmutableDictionary capacity) { }
+ public System.Collections.Immutable.IImmutableDictionary Weights(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ }
+ public class ClusterMetrics : Akka.Actor.IExtension
+ {
+ public Akka.Cluster.Metrics.Configuration.ClusterMetricsSettings Settings { get; }
+ [Akka.Annotations.InternalApiAttribute()]
+ public Akka.Cluster.Metrics.ClusterMetricsStrategy Strategy { get; }
+ public Akka.Actor.IActorRef Supervisor { get; }
+ public static Akka.Configuration.Config DefaultConfig() { }
+ public static Akka.Cluster.Metrics.ClusterMetrics Get(Akka.Actor.ActorSystem system) { }
+ public void Subscribe(Akka.Actor.IActorRef metricsListener) { }
+ public void Unsubscribe(Akka.Actor.IActorRef metricsListener) { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterMetricsCollector : Akka.Actor.ActorBase
+ {
+ public ClusterMetricsCollector() { }
+ protected override void PostStop() { }
+ protected override void PreStart() { }
+ protected override bool Receive(object message) { }
+ }
+ public class ClusterMetricsExtensionProvider : Akka.Actor.ExtensionIdProvider
+ {
+ public ClusterMetricsExtensionProvider() { }
+ public override Akka.Cluster.Metrics.ClusterMetrics CreateExtension(Akka.Actor.ExtendedActorSystem system) { }
+ }
+ public class ClusterMetricsStrategy : Akka.Actor.OneForOneStrategy
+ {
+ public ClusterMetricsStrategy(Akka.Configuration.Config config) { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class ClusterMetricsSupervisor : Akka.Actor.ActorBase
+ {
+ public ClusterMetricsSupervisor() { }
+ protected override void PreStart() { }
+ protected override bool Receive(object message) { }
+ protected override Akka.Actor.SupervisorStrategy SupervisorStrategy() { }
+ }
+ [Akka.Annotations.InternalApiAttribute()]
+ public class static ClusterMetricsSupervisorMetadata
+ {
+ public sealed class CollectionStartMessage : Akka.Cluster.Metrics.ClusterMetricsSupervisorMetadata.ICollectionControlMessage
+ {
+ public static readonly Akka.Cluster.Metrics.ClusterMetricsSupervisorMetadata.CollectionStartMessage Instance;
+ }
+ public sealed class CollectionStopMessage : Akka.Cluster.Metrics.ClusterMetricsSupervisorMetadata.ICollectionControlMessage
+ {
+ public static readonly Akka.Cluster.Metrics.ClusterMetricsSupervisorMetadata.CollectionStopMessage Instance;
+ }
+ public interface ICollectionControlMessage { }
+ }
+ public class CpuMetricsSelector : Akka.Cluster.Metrics.CapacityMetricsSelector
+ {
+ public static readonly Akka.Cluster.Metrics.CpuMetricsSelector Instance;
+ public CpuMetricsSelector() { }
+ public override System.Collections.Immutable.IImmutableDictionary Capacity(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ }
+ public interface IClusterMetricsRoutingLogic
+ {
+ void MetricsChanged(Akka.Cluster.Metrics.Events.ClusterMetricsChanged @event);
+ }
+ public interface IMetricsCollector : System.IDisposable
+ {
+ Akka.Cluster.Metrics.Serialization.NodeMetrics Sample();
+ }
+ public interface IMetricsSelector
+ {
+ System.Collections.Immutable.IImmutableDictionary Weights(System.Collections.Immutable.IImmutableSet nodeMetrics);
+ }
+ public class MemoryMetricsSelector : Akka.Cluster.Metrics.CapacityMetricsSelector
+ {
+ public static readonly Akka.Cluster.Metrics.MemoryMetricsSelector Instance;
+ public MemoryMetricsSelector() { }
+ public override System.Collections.Immutable.IImmutableDictionary Capacity(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ }
+ public class MetricsCollectorBuilder
+ {
+ public MetricsCollectorBuilder() { }
+ public Akka.Cluster.Metrics.IMetricsCollector Build(Akka.Actor.ActorSystem system) { }
+ }
+ public class static MetricsSelectorBuilder
+ {
+ public static Akka.Cluster.Metrics.IMetricsSelector BuildFromConfig(Akka.Configuration.Config config) { }
+ }
+ public class MixMetricsSelector : Akka.Cluster.Metrics.MixMetricsSelectorBase
+ {
+ public static readonly Akka.Cluster.Metrics.MixMetricsSelector Instance;
+ public MixMetricsSelector(System.Collections.Immutable.ImmutableArray selectors) { }
+ }
+ public abstract class MixMetricsSelectorBase : Akka.Cluster.Metrics.CapacityMetricsSelector
+ {
+ protected MixMetricsSelectorBase(System.Collections.Immutable.ImmutableArray selectors) { }
+ public System.Collections.Immutable.ImmutableArray Selectors { get; }
+ public override System.Collections.Immutable.IImmutableDictionary Capacity(System.Collections.Immutable.IImmutableSet nodeMetrics) { }
+ }
+ public class static StandardMetrics
+ {
+ public const string CpuProcessUsage = "CpuProcessUsage";
+ public const string CpuTotalUsage = "CpuTotalUsage";
+ public const string MaxMemoryRecommended = "MaxMemoryRecommended";
+ public const string MemoryAvailable = "MemoryAvailable";
+ public const string MemoryUsed = "MemoryUsed";
+ public const string Processors = "Processors";
+ public static Akka.Util.Option ExtractCpu(Akka.Cluster.Metrics.Serialization.NodeMetrics nodeMetrics) { }
+ public static Akka.Util.Option ExtractMemory(Akka.Cluster.Metrics.Serialization.NodeMetrics nodeMetrics) { }
+ public sealed class Cpu
+ {
+ public Cpu(Akka.Actor.Address address, long timestamp, double cpuProcessUsage, double cpuTotalUsage, int processorsNumber) { }
+ public Akka.Actor.Address Address { get; }
+ public double ProcessUsage { get; }
+ public int ProcessorsNumber { get; }
+ public long Timestamp { get; }
+ public double TotalUsage { get; }
+ [return: System.Runtime.CompilerServices.TupleElementNamesAttribute(new string[] {
+ "Address",
+ "Timestamp",
+ "CpuProcessUsage",
+ "CpuTotalUsage",
+ "Processors"})]
+ public static Akka.Util.Option