From 910d2b6ef572f6dfd8a7f4824f9bed552818dfdc Mon Sep 17 00:00:00 2001 From: Pandu Masabathula Date: Tue, 4 Jul 2023 20:12:46 +0530 Subject: [PATCH 1/5] Added UnsubscribeAllEvent to states --- .../EventEngine/Subscribe/Events/SubscriptionEvents.cs | 6 +++++- .../EventEngine/Subscribe/States/HandshakeFailedState.cs | 5 +++++ .../Subscribe/States/HandshakeReconnectingState.cs | 5 +++++ .../EventEngine/Subscribe/States/HandshakeStoppedState.cs | 5 +++++ .../EventEngine/Subscribe/States/HandshakingState.cs | 5 +++++ .../EventEngine/Subscribe/States/ReceiveFailedState.cs | 5 +++++ .../Subscribe/States/ReceiveReconnectingState.cs | 5 +++++ .../EventEngine/Subscribe/States/ReceiveStoppedState.cs | 5 +++++ .../EventEngine/Subscribe/States/ReceivingState.cs | 5 +++++ .../EventEngine/Subscribe/States/UnsubscribedState.cs | 2 ++ 10 files changed, 47 insertions(+), 1 deletion(-) diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/Events/SubscriptionEvents.cs b/src/Api/PubnubApi/EventEngine/Subscribe/Events/SubscriptionEvents.cs index 42739802d..c305d1711 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/Events/SubscriptionEvents.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/Events/SubscriptionEvents.cs @@ -1,7 +1,11 @@ using System.Collections.Generic; namespace PubnubApi.PubnubEventEngine.Subscribe.Events { - public class SubscriptionChangedEvent : Core.IEvent { + public class UnsubscribeAllEvent : Core.IEvent { + public IEnumerable Channels; + public IEnumerable ChannelGroups; + } + public class SubscriptionChangedEvent : Core.IEvent { public IEnumerable Channels; public IEnumerable ChannelGroups; } diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs index b21ca1c8b..300184410 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs @@ -17,6 +17,11 @@ internal class HandshakeFailedState : Core.IState { return e switch { + Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() + { + Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, + }.With(), + Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() { Channels = subscriptionChanged.Channels, ChannelGroups = subscriptionChanged.ChannelGroups, diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs index 89d8092f6..a533b93c8 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs @@ -18,6 +18,11 @@ internal class HandshakeReconnectingState : Core.IState { return e switch { + Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() + { + Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, + }.With(), + Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() { Channels = subscriptionChanged.Channels, ChannelGroups = subscriptionChanged.ChannelGroups, diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs index 91df0fca8..812b3a7b5 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs @@ -17,6 +17,11 @@ internal class HandshakeStoppedState : Core.IState { return e switch { + Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() + { + Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, + }.With(), + Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() { Channels = subscriptionChanged.Channels, ChannelGroups = subscriptionChanged.ChannelGroups, diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs index 154282a13..137048099 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs @@ -19,6 +19,11 @@ internal class HandshakingState : Core.IState { return e switch { + Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() + { + Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, + }.With(), + Events.SubscriptionChangedEvent subscriptionChanged => new States.HandshakingState() { Channels = subscriptionChanged.Channels, ChannelGroups = subscriptionChanged.ChannelGroups diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs index 3bb0c7c3a..7bcf50185 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs @@ -18,6 +18,11 @@ internal class ReceiveFailedState : Core.IState { return e switch { + Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() + { + Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, + }.With(), + Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() { Channels = subscriptionChanged.Channels, diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs index 159d229cc..b68c3683b 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs @@ -21,6 +21,11 @@ internal class ReceiveReconnectingState : Core.IState { return e switch { + Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() + { + Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, + }.With(), + Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() { Channels = subscriptionChanged.Channels, diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs index 9684a0ad0..7c5619493 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs @@ -19,6 +19,11 @@ internal class ReceiveStoppedState : Core.IState { return e switch { + Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() + { + Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, + }.With(), + Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() { Channels = subscriptionChanged.Channels, diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs index 882eb3987..8c6279c58 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs @@ -20,6 +20,11 @@ internal class ReceivingState : Core.IState { return e switch { + Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() + { + Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, + }.With(), + Events.ReceiveSuccessEvent receiveSuccess => new ReceivingState() { Channels = receiveSuccess.Channels, diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs index 757ce04ce..217f17c21 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs @@ -7,6 +7,8 @@ namespace PubnubApi.PubnubEventEngine.Subscribe.States { internal class UnsubscribedState : Core.IState { + public IEnumerable Channels; + public IEnumerable ChannelGroups; public IEnumerable OnEntry { get; } public IEnumerable OnExit { get; } From 8467815958aa609544b85fa172f3e50c3d313ae1 Mon Sep 17 00:00:00 2001 From: Pandu Masabathula Date: Wed, 12 Jul 2023 19:25:50 +0530 Subject: [PATCH 2/5] removed With() --- .../EventEngine/Subscribe/States/HandshakeFailedState.cs | 2 +- .../Subscribe/States/HandshakeReconnectingState.cs | 2 +- .../EventEngine/Subscribe/States/HandshakeStoppedState.cs | 2 +- .../EventEngine/Subscribe/States/HandshakingState.cs | 2 +- .../EventEngine/Subscribe/States/ReceiveFailedState.cs | 2 +- .../EventEngine/Subscribe/States/ReceiveReconnectingState.cs | 2 +- .../EventEngine/Subscribe/States/ReceiveStoppedState.cs | 2 +- .../PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs | 2 +- .../EventEngine/Subscribe/States/UnsubscribedState.cs | 4 ++-- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs index 5e35fc537..c9aed24fa 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs @@ -17,7 +17,7 @@ public override TransitionResult Transition(IEvent e) Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, - }.With(), + }, Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() { diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs index 39b5b8003..68e0ea4a7 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs @@ -21,7 +21,7 @@ public override TransitionResult Transition(IEvent e) Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, - }.With(), + }, Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() { diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs index 4037dd11f..f553a717c 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs @@ -17,7 +17,7 @@ public override TransitionResult Transition(IEvent e) Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, - }.With(), + }, Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() { diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs index 85d98ecc1..23c731ce8 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs @@ -22,7 +22,7 @@ public override TransitionResult Transition(IEvent e) Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, - }.With(), + }, Events.SubscriptionChangedEvent subscriptionChanged => new States.HandshakingState() { diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs index 40912c0d0..447bd6148 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs @@ -21,7 +21,7 @@ public override TransitionResult Transition(IEvent e) Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, - }.With(), + }, Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() { diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs index 1749141da..62fc1ae7d 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs @@ -24,7 +24,7 @@ public override TransitionResult Transition(IEvent e) Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, - }.With(), + }, Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() { diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs index fc6918a4f..b95cbe16c 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs @@ -18,7 +18,7 @@ public override TransitionResult Transition(IEvent e) Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, - }.With(), + }, Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() { diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs index 1ae554ee8..fb62a281a 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs @@ -23,7 +23,7 @@ public override TransitionResult Transition(IEvent e) Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, - }.With(), + }, Events.ReceiveSuccessEvent receiveSuccess => new ReceivingState() { diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs index f93cea906..8d2be8e29 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs @@ -9,8 +9,8 @@ internal class UnsubscribedState : Core.State { public IEnumerable Channels; public IEnumerable ChannelGroups; - public IEnumerable OnEntry { get; } - public IEnumerable OnExit { get; } + public override IEnumerable OnEntry { get; } = null; + public override IEnumerable OnExit { get; } = null; public override TransitionResult Transition(Core.IEvent e) { From 8e7214722ece91d438c10d0297d79b0c02e7193d Mon Sep 17 00:00:00 2001 From: Pandu Masabathula Date: Fri, 14 Jul 2023 13:35:36 +0530 Subject: [PATCH 3/5] Added leave effect handler --- .../Subscribe/Effects/LeaveEffectHandler.cs | 34 +++++++++++++++++++ .../Invocations/SubscriptionInvocations.cs | 7 ++++ .../Subscribe/States/UnsubscribedState.cs | 3 +- .../Subscribe/SubscribeEventEngine.cs | 4 +++ src/Api/PubnubApiPCL/PubnubApiPCL.csproj | 1 + src/Api/PubnubApiUWP/PubnubApiUWP.csproj | 1 + 6 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 src/Api/PubnubApi/EventEngine/Subscribe/Effects/LeaveEffectHandler.cs diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/Effects/LeaveEffectHandler.cs b/src/Api/PubnubApi/EventEngine/Subscribe/Effects/LeaveEffectHandler.cs new file mode 100644 index 000000000..1d0cbfe63 --- /dev/null +++ b/src/Api/PubnubApi/EventEngine/Subscribe/Effects/LeaveEffectHandler.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Newtonsoft.Json; +using PubnubApi.EndPoint; +using PubnubApi.PubnubEventEngine.Core; +using PubnubApi.PubnubEventEngine.Subscribe.Invocations; + +namespace PubnubApi.PubnubEventEngine.Subscribe.Effects { + internal class LeaveEffectHandler : Core.IEffectHandler { + private SubscribeManager2 manager; + private EventQueue eventQueue; + + public LeaveEffectHandler(SubscribeManager2 manager, EventQueue eventQueue) { + this.manager = manager; + this.eventQueue = eventQueue; + } + + public async Task Run(LeaveInvocation invocation) { + // TODO identity method for unsubscribe all + //var resp = null;//await manager.UnsubscribeRequest( + // PNOperationType.PNSubscribeOperation, + // invocation.Channels.ToArray(), + // invocation.ChannelGroups.ToArray(), + //); + + + } + + public async Task Cancel() { + //manager.LeaveRequestCancellation(); + } + } +} diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/Invocations/SubscriptionInvocations.cs b/src/Api/PubnubApi/EventEngine/Subscribe/Invocations/SubscriptionInvocations.cs index 7fc22eceb..0e55ab98d 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/Invocations/SubscriptionInvocations.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/Invocations/SubscriptionInvocations.cs @@ -66,4 +66,11 @@ internal class ReceiveReconnectInvocation: Core.IEffectInvocation } internal class CancelReceiveReconnectInvocation: ReceiveReconnectInvocation, Core.IEffectCancelInvocation { } + + internal class LeaveInvocation: Core.IEffectInvocation + { + public IEnumerable Channels; + public IEnumerable ChannelGroups; + } + internal class CancelLeaveInvocation : LeaveInvocation, Core.IEffectCancelInvocation { } } \ No newline at end of file diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs index 8d2be8e29..e5c91c16e 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs @@ -9,7 +9,8 @@ internal class UnsubscribedState : Core.State { public IEnumerable Channels; public IEnumerable ChannelGroups; - public override IEnumerable OnEntry { get; } = null; + public override IEnumerable OnEntry => new LeaveInvocation() + { Channels = this.Channels, ChannelGroups = this.ChannelGroups }.AsArray(); public override IEnumerable OnExit { get; } = null; public override TransitionResult Transition(Core.IEvent e) diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/SubscribeEventEngine.cs b/src/Api/PubnubApi/EventEngine/Subscribe/SubscribeEventEngine.cs index f71bd366f..f3b8659b1 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/SubscribeEventEngine.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/SubscribeEventEngine.cs @@ -15,6 +15,10 @@ public SubscribeEventEngine(SubscribeManager2 subscribeManager) { dispatcher.Register(handshakeHandler); dispatcher.Register(handshakeHandler); + var leaveHandler = new Effects.LeaveEffectHandler(subscribeManager, eventQueue); + dispatcher.Register(leaveHandler); + dispatcher.Register(leaveHandler); + currentState = new UnsubscribedState(); } } diff --git a/src/Api/PubnubApiPCL/PubnubApiPCL.csproj b/src/Api/PubnubApiPCL/PubnubApiPCL.csproj index 4527aad73..80f7b2114 100644 --- a/src/Api/PubnubApiPCL/PubnubApiPCL.csproj +++ b/src/Api/PubnubApiPCL/PubnubApiPCL.csproj @@ -229,6 +229,7 @@ + diff --git a/src/Api/PubnubApiUWP/PubnubApiUWP.csproj b/src/Api/PubnubApiUWP/PubnubApiUWP.csproj index 0b0b9c5d0..5de79ff7f 100644 --- a/src/Api/PubnubApiUWP/PubnubApiUWP.csproj +++ b/src/Api/PubnubApiUWP/PubnubApiUWP.csproj @@ -346,6 +346,7 @@ + From 5ab269a94aced48a7b2c589ec267a704561c1598 Mon Sep 17 00:00:00 2001 From: Pandu Masabathula Date: Fri, 14 Jul 2023 14:32:03 +0530 Subject: [PATCH 4/5] Revert "Added leave effect handler" This reverts commit 8e7214722ece91d438c10d0297d79b0c02e7193d. --- .../Subscribe/Effects/LeaveEffectHandler.cs | 34 ------------------- .../Invocations/SubscriptionInvocations.cs | 7 ---- .../Subscribe/States/UnsubscribedState.cs | 3 +- .../Subscribe/SubscribeEventEngine.cs | 4 --- src/Api/PubnubApiPCL/PubnubApiPCL.csproj | 1 - src/Api/PubnubApiUWP/PubnubApiUWP.csproj | 1 - 6 files changed, 1 insertion(+), 49 deletions(-) delete mode 100644 src/Api/PubnubApi/EventEngine/Subscribe/Effects/LeaveEffectHandler.cs diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/Effects/LeaveEffectHandler.cs b/src/Api/PubnubApi/EventEngine/Subscribe/Effects/LeaveEffectHandler.cs deleted file mode 100644 index 1d0cbfe63..000000000 --- a/src/Api/PubnubApi/EventEngine/Subscribe/Effects/LeaveEffectHandler.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Newtonsoft.Json; -using PubnubApi.EndPoint; -using PubnubApi.PubnubEventEngine.Core; -using PubnubApi.PubnubEventEngine.Subscribe.Invocations; - -namespace PubnubApi.PubnubEventEngine.Subscribe.Effects { - internal class LeaveEffectHandler : Core.IEffectHandler { - private SubscribeManager2 manager; - private EventQueue eventQueue; - - public LeaveEffectHandler(SubscribeManager2 manager, EventQueue eventQueue) { - this.manager = manager; - this.eventQueue = eventQueue; - } - - public async Task Run(LeaveInvocation invocation) { - // TODO identity method for unsubscribe all - //var resp = null;//await manager.UnsubscribeRequest( - // PNOperationType.PNSubscribeOperation, - // invocation.Channels.ToArray(), - // invocation.ChannelGroups.ToArray(), - //); - - - } - - public async Task Cancel() { - //manager.LeaveRequestCancellation(); - } - } -} diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/Invocations/SubscriptionInvocations.cs b/src/Api/PubnubApi/EventEngine/Subscribe/Invocations/SubscriptionInvocations.cs index 0e55ab98d..7fc22eceb 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/Invocations/SubscriptionInvocations.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/Invocations/SubscriptionInvocations.cs @@ -66,11 +66,4 @@ internal class ReceiveReconnectInvocation: Core.IEffectInvocation } internal class CancelReceiveReconnectInvocation: ReceiveReconnectInvocation, Core.IEffectCancelInvocation { } - - internal class LeaveInvocation: Core.IEffectInvocation - { - public IEnumerable Channels; - public IEnumerable ChannelGroups; - } - internal class CancelLeaveInvocation : LeaveInvocation, Core.IEffectCancelInvocation { } } \ No newline at end of file diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs index e5c91c16e..8d2be8e29 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs @@ -9,8 +9,7 @@ internal class UnsubscribedState : Core.State { public IEnumerable Channels; public IEnumerable ChannelGroups; - public override IEnumerable OnEntry => new LeaveInvocation() - { Channels = this.Channels, ChannelGroups = this.ChannelGroups }.AsArray(); + public override IEnumerable OnEntry { get; } = null; public override IEnumerable OnExit { get; } = null; public override TransitionResult Transition(Core.IEvent e) diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/SubscribeEventEngine.cs b/src/Api/PubnubApi/EventEngine/Subscribe/SubscribeEventEngine.cs index f3b8659b1..f71bd366f 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/SubscribeEventEngine.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/SubscribeEventEngine.cs @@ -15,10 +15,6 @@ public SubscribeEventEngine(SubscribeManager2 subscribeManager) { dispatcher.Register(handshakeHandler); dispatcher.Register(handshakeHandler); - var leaveHandler = new Effects.LeaveEffectHandler(subscribeManager, eventQueue); - dispatcher.Register(leaveHandler); - dispatcher.Register(leaveHandler); - currentState = new UnsubscribedState(); } } diff --git a/src/Api/PubnubApiPCL/PubnubApiPCL.csproj b/src/Api/PubnubApiPCL/PubnubApiPCL.csproj index 80f7b2114..4527aad73 100644 --- a/src/Api/PubnubApiPCL/PubnubApiPCL.csproj +++ b/src/Api/PubnubApiPCL/PubnubApiPCL.csproj @@ -229,7 +229,6 @@ - diff --git a/src/Api/PubnubApiUWP/PubnubApiUWP.csproj b/src/Api/PubnubApiUWP/PubnubApiUWP.csproj index 5de79ff7f..0b0b9c5d0 100644 --- a/src/Api/PubnubApiUWP/PubnubApiUWP.csproj +++ b/src/Api/PubnubApiUWP/PubnubApiUWP.csproj @@ -346,7 +346,6 @@ - From 3988679978192d93077488fbc9de5ff14dd4bf3e Mon Sep 17 00:00:00 2001 From: Pandu Masabathula Date: Fri, 14 Jul 2023 14:36:03 +0530 Subject: [PATCH 5/5] removed channels/cg in unsuball --- .../EventEngine/Subscribe/Events/SubscriptionEvents.cs | 2 -- .../EventEngine/Subscribe/States/HandshakeFailedState.cs | 1 - .../EventEngine/Subscribe/States/HandshakeReconnectingState.cs | 1 - .../EventEngine/Subscribe/States/HandshakeStoppedState.cs | 1 - .../PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs | 1 - .../EventEngine/Subscribe/States/ReceiveFailedState.cs | 1 - .../EventEngine/Subscribe/States/ReceiveReconnectingState.cs | 1 - .../EventEngine/Subscribe/States/ReceiveStoppedState.cs | 1 - .../PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs | 1 - .../PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs | 2 -- 10 files changed, 12 deletions(-) diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/Events/SubscriptionEvents.cs b/src/Api/PubnubApi/EventEngine/Subscribe/Events/SubscriptionEvents.cs index c305d1711..90efa6b9a 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/Events/SubscriptionEvents.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/Events/SubscriptionEvents.cs @@ -2,8 +2,6 @@ namespace PubnubApi.PubnubEventEngine.Subscribe.Events { public class UnsubscribeAllEvent : Core.IEvent { - public IEnumerable Channels; - public IEnumerable ChannelGroups; } public class SubscriptionChangedEvent : Core.IEvent { public IEnumerable Channels; diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs index c9aed24fa..0ce533158 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs @@ -16,7 +16,6 @@ public override TransitionResult Transition(IEvent e) { Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { - Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, }, Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs index 68e0ea4a7..a9dff98e3 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs @@ -20,7 +20,6 @@ public override TransitionResult Transition(IEvent e) { Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { - Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, }, Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs index f553a717c..fc69db008 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs @@ -16,7 +16,6 @@ public override TransitionResult Transition(IEvent e) { Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { - Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, }, Events.SubscriptionChangedEvent subscriptionChanged => new HandshakingState() diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs index 23c731ce8..9d3b50e18 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs @@ -21,7 +21,6 @@ public override TransitionResult Transition(IEvent e) { Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { - Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, }, Events.SubscriptionChangedEvent subscriptionChanged => new States.HandshakingState() diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs index 447bd6148..f6fc39ca4 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs @@ -20,7 +20,6 @@ public override TransitionResult Transition(IEvent e) { Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { - Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, }, Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs index 62fc1ae7d..d0eac310f 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs @@ -23,7 +23,6 @@ public override TransitionResult Transition(IEvent e) { Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { - Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, }, Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs index b95cbe16c..bec729a2b 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs @@ -17,7 +17,6 @@ public override TransitionResult Transition(IEvent e) { Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { - Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, }, Events.SubscriptionChangedEvent subscriptionChanged => new ReceivingState() diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs index fb62a281a..d94a67d9f 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs @@ -22,7 +22,6 @@ public override TransitionResult Transition(IEvent e) { Events.UnsubscribeAllEvent unsubscribeAll => new UnsubscribedState() { - Channels = unsubscribeAll.Channels, ChannelGroups = unsubscribeAll.ChannelGroups, }, Events.ReceiveSuccessEvent receiveSuccess => new ReceivingState() diff --git a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs index 8d2be8e29..12dd75edd 100644 --- a/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs +++ b/src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs @@ -7,8 +7,6 @@ namespace PubnubApi.PubnubEventEngine.Subscribe.States { internal class UnsubscribedState : Core.State { - public IEnumerable Channels; - public IEnumerable ChannelGroups; public override IEnumerable OnEntry { get; } = null; public override IEnumerable OnExit { get; } = null;