Skip to content

Commit 7583c0f

Browse files
authored
add WebsocketReconnectedArgs, update WebsocketDisconnectedArgs (#69)
add `WebsocketReconnectedArgs`, update `WebsocketDisconnectedArgs`
1 parent 47f9402 commit 7583c0f

5 files changed

Lines changed: 19 additions & 18 deletions

File tree

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ You can also find a console app example for .NET 8 and for .NET Framework 4.8 in
3535
- Properties from `EventSubNotification<T>` were moved to `TwitchLibEventSubEventArgs<T>`.
3636
- Property `Notification` was removed from `TwitchLibEventSubEventArgs<T>`.
3737
- Class `EventSubMetadata` was renamed to `WebsocketEventSubMetadata`.
38+
- `WebsocketDisconnected` and `WebsocketReconnected` now contain more specific EventArgs.
3839

3940
## Setup
4041

@@ -121,7 +122,7 @@ namespace TwitchLib.EventSub.Websockets.Test
121122
}
122123
}
123124

124-
private async Task OnWebsocketDisconnected(object sender, EventArgs e)
125+
private async Task OnWebsocketDisconnected(object sender, WebsocketDisconnectedArgs e)
125126
{
126127
_logger.LogError($"Websocket {_eventSubWebsocketClient.SessionId} disconnected!");
127128

@@ -133,7 +134,7 @@ namespace TwitchLib.EventSub.Websockets.Test
133134
}
134135
}
135136

136-
private async Task OnWebsocketReconnected(object sender, EventArgs e)
137+
private async Task OnWebsocketReconnected(object sender, WebsocketReconnectedArgs e)
137138
{
138139
_logger.LogWarning($"Websocket {_eventSubWebsocketClient.SessionId} reconnected");
139140
}

TwitchLib.EventSub.Websockets.Example/WebsocketHostedService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ await _twitchApi.Helix.EventSub.CreateEventSubSubscriptionAsync("channel.follow"
8383
}
8484
}
8585

86-
private async Task OnWebsocketDisconnected(object sender, EventArgs e)
86+
private async Task OnWebsocketDisconnected(object sender, WebsocketDisconnectedArgs e)
8787
{
8888
_logger.LogError($"Websocket {_eventSubWebsocketClient.SessionId} disconnected!");
8989

@@ -95,7 +95,7 @@ private async Task OnWebsocketDisconnected(object sender, EventArgs e)
9595
}
9696
}
9797

98-
private async Task OnWebsocketReconnected(object sender, EventArgs e)
98+
private async Task OnWebsocketReconnected(object sender, WebsocketReconnectedArgs e)
9999
{
100100
_logger.LogWarning($"Websocket {_eventSubWebsocketClient.SessionId} reconnected");
101101
}
Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
1-
using System.Net.WebSockets;
1+
namespace TwitchLib.EventSub.Websockets.Core.EventArgs;
22

3-
namespace TwitchLib.EventSub.Websockets.Core.EventArgs
3+
public class WebsocketDisconnectedArgs : System.EventArgs
44
{
5-
public class WebsocketDisconnectedArgs : System.EventArgs
6-
{
7-
public WebSocketCloseStatus CloseStatus { get; set; }
8-
public string CloseStatusDescription { get; set; }
9-
}
10-
}
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
namespace TwitchLib.EventSub.Websockets.Core.EventArgs;
2+
3+
public class WebsocketReconnectedArgs : System.EventArgs
4+
{
5+
}

TwitchLib.EventSub.Websockets/EventSubWebsocketClient.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ public class EventSubWebsocketClient
4040
/// <summary>
4141
/// Event that triggers when the websocket disconnected
4242
/// </summary>
43-
public event AsyncEventHandler? WebsocketDisconnected;
43+
public event AsyncEventHandler<WebsocketDisconnectedArgs>? WebsocketDisconnected;
4444
/// <summary>
4545
/// Event that triggers when an error occurred on the websocket
4646
/// </summary>
4747
public event AsyncEventHandler<ErrorOccuredArgs>? ErrorOccurred;
4848
/// <summary>
4949
/// Event that triggers when the websocket was successfully reconnected
5050
/// </summary>
51-
public event AsyncEventHandler? WebsocketReconnected;
51+
public event AsyncEventHandler<WebsocketReconnectedArgs>? WebsocketReconnected;
5252
/// <summary>
5353
/// Event that triggers when the websocket received revocation event
5454
/// </summary>
@@ -551,7 +551,7 @@ private async Task<bool> ReconnectAsync(Uri url)
551551
await oldRunningClient.DisconnectAsync();
552552
oldRunningClient.Dispose();
553553

554-
await WebsocketReconnected.InvokeAsync(this, EventArgs.Empty);
554+
await WebsocketReconnected.InvokeAsync(this, new());
555555

556556
_reconnectRequested = false;
557557
_reconnectComplete = false;
@@ -582,7 +582,7 @@ private async Task<bool> ReconnectAsync(Uri url)
582582
if (!await ConnectAsync())
583583
return false;
584584

585-
await WebsocketReconnected.InvokeAsync(this, EventArgs.Empty);
585+
await WebsocketReconnected.InvokeAsync(this, new());
586586

587587
return true;
588588
}
@@ -606,7 +606,7 @@ private async Task ConnectionCheckAsync()
606606

607607
await DisconnectAsync();
608608

609-
await WebsocketDisconnected.InvokeAsync(this, EventArgs.Empty);
609+
await WebsocketDisconnected.InvokeAsync(this, new());
610610
}
611611

612612
/// <summary>
@@ -712,7 +712,7 @@ private async Task HandleDisconnect(WebsocketEventSubMetadata metadata, JsonElem
712712
if (data != null)
713713
_logger?.LogForceDisconnected(data.Session.Id, data.Session.DisconnectedAt, data.Session.DisconnectReason);
714714

715-
await WebsocketDisconnected.InvokeAsync(this, EventArgs.Empty);
715+
await WebsocketDisconnected.InvokeAsync(this, new());
716716
}
717717

718718
/// <summary>

0 commit comments

Comments
 (0)