Fixed: Multiple SignalR Improvements

Support for serverSentEvents, connection optimizations

Co-Authored-By: taloth <taloth@users.noreply.github.com>
This commit is contained in:
Qstick
2019-06-19 23:03:08 -04:00
parent 184ab745ae
commit 3ebbf6ff83
5 changed files with 53 additions and 7 deletions

View File

@@ -25,6 +25,8 @@ namespace Lidarr.Http
public void Handle(ModelEvent<TModel> message)
{
if (!_signalRBroadcaster.IsConnected) return;
if (message.Action == ModelAction.Deleted || message.Action == ModelAction.Sync)
{
BroadcastResourceChange(message.Action);
@@ -35,6 +37,8 @@ namespace Lidarr.Http
protected void BroadcastResourceChange(ModelAction action, int id)
{
if (!_signalRBroadcaster.IsConnected) return;
if (action == ModelAction.Deleted)
{
BroadcastResourceChange(action, new TResource { Id = id });
@@ -48,6 +52,8 @@ namespace Lidarr.Http
protected void BroadcastResourceChange(ModelAction action, TResource resource)
{
if (!_signalRBroadcaster.IsConnected) return;
if (GetType().Namespace.Contains("V1"))
{
var signalRMessage = new SignalRMessage
@@ -64,6 +70,8 @@ namespace Lidarr.Http
protected void BroadcastResourceChange(ModelAction action)
{
if (!_signalRBroadcaster.IsConnected) return;
if (GetType().Namespace.Contains("V1"))
{
var signalRMessage = new SignalRMessage