Skip to content

Commit 0fee497

Browse files
committed
wip: base class for states
1 parent 796b4b3 commit 0fee497

10 files changed

+30
-43
lines changed

src/Api/PubnubApi/EventEngine/Subscribe/Common/CommonSubscribeTypes.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
using Newtonsoft.Json;
2+
using System.Collections.Generic;
3+
using PubnubApi.EventEngine.Subscribe.Context;
24

35
namespace PubnubApi.EventEngine.Subscribe.Common
46
{
@@ -82,4 +84,11 @@ public class Message<T>
8284
[JsonProperty("p")]
8385
public Timetoken Timetoken { get; set; }
8486
}
87+
88+
public abstract class SubscriptionState : Core.State
89+
{
90+
public IEnumerable<string> Channels;
91+
public IEnumerable<string> ChannelGroups;
92+
public ReconnectionConfiguration ReconnectionConfiguration;
93+
}
8594
}

src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeFailedState.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
using System;
22
using System.Collections.Generic;
33
using PubnubApi.EventEngine.Core;
4+
using PubnubApi.EventEngine.Subscribe.Common;
45
using PubnubApi.EventEngine.Subscribe.Context;
56
using PubnubApi.EventEngine.Subscribe.Invocations;
67

78
namespace PubnubApi.EventEngine.Subscribe.States
89
{
9-
public class HandshakeFailedState : Core.State
10+
public class HandshakeFailedState : SubscriptionState
1011
{
11-
public IEnumerable<string> Channels;
12-
public IEnumerable<string> ChannelGroups;
13-
public ReconnectionConfiguration ReconnectionConfiguration;
14-
15-
public override TransitionResult Transition(IEvent e)
12+
public override TransitionResult Transition(IEvent e)
1613
{
1714
return e switch
1815
{

src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeReconnectingState.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
using System;
22
using System.Collections.Generic;
33
using PubnubApi.EventEngine.Core;
4+
using PubnubApi.EventEngine.Subscribe.Common;
45
using PubnubApi.EventEngine.Subscribe.Context;
56
using PubnubApi.EventEngine.Subscribe.Invocations;
67

78
namespace PubnubApi.EventEngine.Subscribe.States
89
{
9-
public class HandshakeReconnectingState : Core.State
10+
public class HandshakeReconnectingState : SubscriptionState
1011
{
11-
public IEnumerable<string> Channels;
12-
public IEnumerable<string> ChannelGroups;
13-
public ReconnectionConfiguration ReconnectionConfiguration;
1412
public int AttemptedRetries;
1513

1614
public override IEnumerable<IEffectInvocation> OnEntry => new HandshakeReconnectInvocation()

src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakeStoppedState.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
using System;
22
using System.Collections.Generic;
33
using PubnubApi.EventEngine.Core;
4+
using PubnubApi.EventEngine.Subscribe.Common;
45
using PubnubApi.EventEngine.Subscribe.Context;
56
using PubnubApi.EventEngine.Subscribe.Invocations;
67

78
namespace PubnubApi.EventEngine.Subscribe.States
89
{
9-
public class HandshakeStoppedState : Core.State
10+
public class HandshakeStoppedState : SubscriptionState
1011
{
11-
public IEnumerable<string> Channels;
12-
public IEnumerable<string> ChannelGroups;
13-
public ReconnectionConfiguration ReconnectionConfiguration;
14-
15-
public override TransitionResult Transition(IEvent e)
12+
public override TransitionResult Transition(IEvent e)
1613
{
1714
return e switch
1815
{

src/Api/PubnubApi/EventEngine/Subscribe/States/HandshakingState.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
using System;
22
using System.Collections.Generic;
33
using PubnubApi.EventEngine.Core;
4+
using PubnubApi.EventEngine.Subscribe.Common;
45
using PubnubApi.EventEngine.Subscribe.Context;
56
using PubnubApi.EventEngine.Subscribe.Invocations;
67

78
namespace PubnubApi.EventEngine.Subscribe.States
89
{
9-
public class HandshakingState : Core.State
10+
public class HandshakingState : SubscriptionState
1011
{
11-
public IEnumerable<string> Channels;
12-
public IEnumerable<string> ChannelGroups;
13-
public ReconnectionConfiguration ReconnectionConfiguration;
14-
15-
16-
public override IEnumerable<IEffectInvocation> OnEntry => new HandshakeInvocation()
12+
public override IEnumerable<IEffectInvocation> OnEntry => new HandshakeInvocation()
1713
{ Channels = this.Channels,
1814
ChannelGroups = this.ChannelGroups }.AsArray();
1915

src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveFailedState.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@
77

88
namespace PubnubApi.EventEngine.Subscribe.States
99
{
10-
public class ReceiveFailedState : Core.State
10+
public class ReceiveFailedState : SubscriptionState
1111
{
12-
public IEnumerable<string> Channels;
13-
public IEnumerable<string> ChannelGroups;
1412
public SubscriptionCursor Cursor;
15-
public ReconnectionConfiguration ReconnectionConfiguration;
1613

17-
public IEnumerable<IEffectInvocation> OnEntry { get; }
18-
public IEnumerable<IEffectInvocation> OnExit { get; }
14+
public override IEnumerable<IEffectInvocation> OnEntry { get; }
15+
public override IEnumerable<IEffectInvocation> OnExit { get; }
1916

2017
public override TransitionResult Transition(IEvent e)
2118
{

src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveReconnectingState.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace PubnubApi.EventEngine.Subscribe.States
99
{
10-
public class ReceiveReconnectingState : Core.State
10+
public class ReceiveReconnectingState : SubscriptionState
1111
{
1212
public IEnumerable<string> Channels;
1313
public IEnumerable<string> ChannelGroups;

src/Api/PubnubApi/EventEngine/Subscribe/States/ReceiveStoppedState.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@
77

88
namespace PubnubApi.EventEngine.Subscribe.States
99
{
10-
public class ReceiveStoppedState : Core.State
10+
public class ReceiveStoppedState : SubscriptionState
1111
{
12-
public IEnumerable<string> Channels;
13-
public IEnumerable<string> ChannelGroups;
1412
public SubscriptionCursor Cursor;
15-
public ReconnectionConfiguration ReconnectionConfiguration;
1613

17-
public override TransitionResult Transition(IEvent e)
14+
public override TransitionResult Transition(IEvent e)
1815
{
1916
return e switch
2017
{

src/Api/PubnubApi/EventEngine/Subscribe/States/ReceivingState.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@
77

88
namespace PubnubApi.EventEngine.Subscribe.States
99
{
10-
public class ReceivingState : Core.State
10+
public class ReceivingState : SubscriptionState
1111
{
12-
public IEnumerable<string> Channels;
13-
public IEnumerable<string> ChannelGroups;
1412
public SubscriptionCursor Cursor;
15-
public ReconnectionConfiguration ReconnectionConfiguration;
1613

17-
public override IEnumerable<IEffectInvocation> OnEntry => new ReceiveMessagesInvocation()
14+
public override IEnumerable<IEffectInvocation> OnEntry => new ReceiveMessagesInvocation()
1815
{ Channels = this.Channels,ChannelGroups = this.ChannelGroups, Cursor = this.Cursor }.AsArray();
1916

2017
public override IEnumerable<IEffectInvocation> OnExit { get; } = new CancelReceiveMessagesInvocation().AsArray();

src/Api/PubnubApi/EventEngine/Subscribe/States/UnsubscribedState.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
using System;
22
using System.Collections.Generic;
33
using PubnubApi.EventEngine.Core;
4+
using PubnubApi.EventEngine.Subscribe.Common;
45
using PubnubApi.EventEngine.Subscribe.Context;
56
using PubnubApi.EventEngine.Subscribe.Invocations;
67

78
namespace PubnubApi.EventEngine.Subscribe.States
89
{
9-
public class UnsubscribedState : Core.State
10+
public class UnsubscribedState : SubscriptionState
1011
{
11-
public ReconnectionConfiguration ReconnectionConfiguration;
12-
1312
public override TransitionResult Transition(Core.IEvent e)
1413
{
1514
return e switch

0 commit comments

Comments
 (0)