From 858093280c5d3ba7369a3d98ad2ddbbee5cc04ff Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Mon, 17 Jul 2023 11:21:53 -0500 Subject: [PATCH] made transport adapter components public (#6838) Needed for some work we're doing outside the main Akka.NET project --- ...eAPISpec.ApproveRemote.DotNet.verified.txt | 50 +++++++++++++++++++ ...CoreAPISpec.ApproveRemote.Net.verified.txt | 50 +++++++++++++++++++ .../Transport/TransportAdapters.cs | 14 +++--- 3 files changed, 107 insertions(+), 7 deletions(-) diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveRemote.DotNet.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveRemote.DotNet.verified.txt index a3ba5b6f453..b38881b331f 100644 --- a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveRemote.DotNet.verified.txt +++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveRemote.DotNet.verified.txt @@ -479,6 +479,18 @@ namespace Akka.Remote.Transport public override System.Threading.Tasks.Task>> Listen() { } public override System.Threading.Tasks.Task Shutdown() { } } + public abstract class AbstractTransportAdapterHandle : Akka.Remote.Transport.AssociationHandle + { + protected AbstractTransportAdapterHandle(Akka.Remote.Transport.AssociationHandle wrappedHandle, string addedSchemeIdentifier) { } + protected AbstractTransportAdapterHandle(Akka.Actor.Address originalLocalAddress, Akka.Actor.Address originalRemoteAddress, Akka.Remote.Transport.AssociationHandle wrappedHandle, string addedSchemeIdentifier) { } + public Akka.Actor.Address OriginalLocalAddress { get; } + public Akka.Actor.Address OriginalRemoteAddress { get; } + protected Akka.Remote.Transport.SchemeAugmenter SchemeAugmenter { get; } + public Akka.Remote.Transport.AssociationHandle WrappedHandle { get; } + protected bool Equals(Akka.Remote.Transport.AbstractTransportAdapterHandle other) { } + public override bool Equals(object obj) { } + public override int GetHashCode() { } + } public abstract class Activity { protected Activity() { } @@ -506,6 +518,17 @@ namespace Akka.Remote.Transport protected override System.Threading.Tasks.Task InterceptListen(Akka.Actor.Address listenAddress, System.Threading.Tasks.Task listenerTask) { } public override System.Threading.Tasks.Task Shutdown() { } } + public abstract class ActorTransportAdapterManager : Akka.Actor.UntypedActor + { + protected Akka.Remote.Transport.IAssociationEventListener AssociationListener; + protected System.Collections.Generic.Queue DelayedEvents; + protected Akka.Actor.Address LocalAddress; + protected long UniqueId; + protected ActorTransportAdapterManager() { } + protected long NextId() { } + protected override void OnReceive(object message) { } + protected abstract void Ready(object message); + } public class AkkaProtocolException : Akka.Actor.AkkaException { public AkkaProtocolException(string message, System.Exception cause = null) { } @@ -517,6 +540,12 @@ namespace Akka.Remote.Transport public Akka.Actor.Address LocalAddress { get; } public Akka.Actor.Address RemoteAddress { get; } } + public sealed class AssociateUnderlying : Akka.Remote.Transport.TransportOperation + { + public AssociateUnderlying(Akka.Actor.Address remoteAddress, System.Threading.Tasks.TaskCompletionSource statusPromise) { } + public Akka.Actor.Address RemoteAddress { get; } + public System.Threading.Tasks.TaskCompletionSource StatusPromise { get; } + } public abstract class AssociationHandle { protected AssociationHandle(Akka.Actor.Address localAddress, Akka.Actor.Address remoteAddress) { } @@ -568,6 +597,11 @@ namespace Akka.Remote.Transport Shutdown = 1, Quarantined = 2, } + public sealed class DisassociateUnderlying : Akka.Remote.Transport.TransportOperation, Akka.Event.IDeadLetterSuppression + { + public DisassociateUnderlying(Akka.Remote.Transport.DisassociateInfo info = 0) { } + public Akka.Remote.Transport.DisassociateInfo Info { get; } + } public sealed class Disassociated : Akka.Actor.INoSerializationVerificationNeeded, Akka.Event.IDeadLetterSuppression, Akka.Remote.Transport.IHandleEvent { public Disassociated(Akka.Remote.Transport.DisassociateInfo info) { } @@ -669,6 +703,17 @@ namespace Akka.Remote.Transport public ListenAttempt(Akka.Actor.Address boundAddress) { } public Akka.Actor.Address BoundAddress { get; } } + public sealed class ListenUnderlying : Akka.Remote.Transport.TransportOperation + { + public ListenUnderlying(Akka.Actor.Address listenAddress, System.Threading.Tasks.Task upstreamListener) { } + public Akka.Actor.Address ListenAddress { get; } + public System.Threading.Tasks.Task UpstreamListener { get; } + } + public sealed class ListenerRegistered : Akka.Remote.Transport.TransportOperation + { + public ListenerRegistered(Akka.Remote.Transport.IAssociationEventListener listener) { } + public Akka.Remote.Transport.IAssociationEventListener Listener { get; } + } public class SchemeAugmenter { public readonly string AddedSchemeIdentifier; @@ -788,6 +833,11 @@ namespace Akka.Remote.Transport public virtual System.Threading.Tasks.Task ManagementCommand(object message) { } public abstract System.Threading.Tasks.Task Shutdown(); } + public abstract class TransportOperation : Akka.Actor.INoSerializationVerificationNeeded + { + public static readonly System.TimeSpan AskTimeout; + protected TransportOperation() { } + } public sealed class UnderlyingTransportError : Akka.Actor.INoSerializationVerificationNeeded, Akka.Remote.Transport.IHandleEvent { public UnderlyingTransportError(System.Exception cause, string message) { } diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveRemote.Net.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveRemote.Net.verified.txt index bf0609fdb87..418d32c0abf 100644 --- a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveRemote.Net.verified.txt +++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveRemote.Net.verified.txt @@ -479,6 +479,18 @@ namespace Akka.Remote.Transport public override System.Threading.Tasks.Task>> Listen() { } public override System.Threading.Tasks.Task Shutdown() { } } + public abstract class AbstractTransportAdapterHandle : Akka.Remote.Transport.AssociationHandle + { + protected AbstractTransportAdapterHandle(Akka.Remote.Transport.AssociationHandle wrappedHandle, string addedSchemeIdentifier) { } + protected AbstractTransportAdapterHandle(Akka.Actor.Address originalLocalAddress, Akka.Actor.Address originalRemoteAddress, Akka.Remote.Transport.AssociationHandle wrappedHandle, string addedSchemeIdentifier) { } + public Akka.Actor.Address OriginalLocalAddress { get; } + public Akka.Actor.Address OriginalRemoteAddress { get; } + protected Akka.Remote.Transport.SchemeAugmenter SchemeAugmenter { get; } + public Akka.Remote.Transport.AssociationHandle WrappedHandle { get; } + protected bool Equals(Akka.Remote.Transport.AbstractTransportAdapterHandle other) { } + public override bool Equals(object obj) { } + public override int GetHashCode() { } + } public abstract class Activity { protected Activity() { } @@ -506,6 +518,17 @@ namespace Akka.Remote.Transport protected override System.Threading.Tasks.Task InterceptListen(Akka.Actor.Address listenAddress, System.Threading.Tasks.Task listenerTask) { } public override System.Threading.Tasks.Task Shutdown() { } } + public abstract class ActorTransportAdapterManager : Akka.Actor.UntypedActor + { + protected Akka.Remote.Transport.IAssociationEventListener AssociationListener; + protected System.Collections.Generic.Queue DelayedEvents; + protected Akka.Actor.Address LocalAddress; + protected long UniqueId; + protected ActorTransportAdapterManager() { } + protected long NextId() { } + protected override void OnReceive(object message) { } + protected abstract void Ready(object message); + } public class AkkaProtocolException : Akka.Actor.AkkaException { public AkkaProtocolException(string message, System.Exception cause = null) { } @@ -517,6 +540,12 @@ namespace Akka.Remote.Transport public Akka.Actor.Address LocalAddress { get; } public Akka.Actor.Address RemoteAddress { get; } } + public sealed class AssociateUnderlying : Akka.Remote.Transport.TransportOperation + { + public AssociateUnderlying(Akka.Actor.Address remoteAddress, System.Threading.Tasks.TaskCompletionSource statusPromise) { } + public Akka.Actor.Address RemoteAddress { get; } + public System.Threading.Tasks.TaskCompletionSource StatusPromise { get; } + } public abstract class AssociationHandle { protected AssociationHandle(Akka.Actor.Address localAddress, Akka.Actor.Address remoteAddress) { } @@ -568,6 +597,11 @@ namespace Akka.Remote.Transport Shutdown = 1, Quarantined = 2, } + public sealed class DisassociateUnderlying : Akka.Remote.Transport.TransportOperation, Akka.Event.IDeadLetterSuppression + { + public DisassociateUnderlying(Akka.Remote.Transport.DisassociateInfo info = 0) { } + public Akka.Remote.Transport.DisassociateInfo Info { get; } + } public sealed class Disassociated : Akka.Actor.INoSerializationVerificationNeeded, Akka.Event.IDeadLetterSuppression, Akka.Remote.Transport.IHandleEvent { public Disassociated(Akka.Remote.Transport.DisassociateInfo info) { } @@ -669,6 +703,17 @@ namespace Akka.Remote.Transport public ListenAttempt(Akka.Actor.Address boundAddress) { } public Akka.Actor.Address BoundAddress { get; } } + public sealed class ListenUnderlying : Akka.Remote.Transport.TransportOperation + { + public ListenUnderlying(Akka.Actor.Address listenAddress, System.Threading.Tasks.Task upstreamListener) { } + public Akka.Actor.Address ListenAddress { get; } + public System.Threading.Tasks.Task UpstreamListener { get; } + } + public sealed class ListenerRegistered : Akka.Remote.Transport.TransportOperation + { + public ListenerRegistered(Akka.Remote.Transport.IAssociationEventListener listener) { } + public Akka.Remote.Transport.IAssociationEventListener Listener { get; } + } public class SchemeAugmenter { public readonly string AddedSchemeIdentifier; @@ -788,6 +833,11 @@ namespace Akka.Remote.Transport public virtual System.Threading.Tasks.Task ManagementCommand(object message) { } public abstract System.Threading.Tasks.Task Shutdown(); } + public abstract class TransportOperation : Akka.Actor.INoSerializationVerificationNeeded + { + public static readonly System.TimeSpan AskTimeout; + protected TransportOperation() { } + } public sealed class UnderlyingTransportError : Akka.Actor.INoSerializationVerificationNeeded, Akka.Remote.Transport.IHandleEvent { public UnderlyingTransportError(System.Exception cause, string message) { } diff --git a/src/core/Akka.Remote/Transport/TransportAdapters.cs b/src/core/Akka.Remote/Transport/TransportAdapters.cs index ebf4565397a..7ce223d5f09 100644 --- a/src/core/Akka.Remote/Transport/TransportAdapters.cs +++ b/src/core/Akka.Remote/Transport/TransportAdapters.cs @@ -303,7 +303,7 @@ public override Task Shutdown() /// /// TBD /// - internal abstract class AbstractTransportAdapterHandle : AssociationHandle + public abstract class AbstractTransportAdapterHandle : AssociationHandle { /// /// TBD @@ -385,7 +385,7 @@ public override int GetHashCode() /// /// Marker interface for all transport operations /// - internal abstract class TransportOperation : INoSerializationVerificationNeeded + public abstract class TransportOperation : INoSerializationVerificationNeeded { /// /// TBD @@ -396,7 +396,7 @@ internal abstract class TransportOperation : INoSerializationVerificationNeeded /// /// TBD /// - internal sealed class ListenerRegistered : TransportOperation + public sealed class ListenerRegistered : TransportOperation { /// /// TBD @@ -416,7 +416,7 @@ public ListenerRegistered(IAssociationEventListener listener) /// /// TBD /// - internal sealed class AssociateUnderlying : TransportOperation + public sealed class AssociateUnderlying : TransportOperation { /// /// TBD @@ -443,7 +443,7 @@ public AssociateUnderlying(Address remoteAddress, TaskCompletionSource /// TBD /// - internal sealed class ListenUnderlying : TransportOperation + public sealed class ListenUnderlying : TransportOperation { /// /// TBD @@ -470,7 +470,7 @@ public ListenUnderlying(Address listenAddress, Task u /// /// TBD /// - internal sealed class DisassociateUnderlying : TransportOperation, IDeadLetterSuppression + public sealed class DisassociateUnderlying : TransportOperation, IDeadLetterSuppression { /// /// TBD @@ -556,7 +556,7 @@ public override Task Shutdown() /// /// TBD /// - internal abstract class ActorTransportAdapterManager : UntypedActor + public abstract class ActorTransportAdapterManager : UntypedActor { /// /// Lightweight Stash implementation