Skip to content

Commit 6e8b50b

Browse files
authored
update CallerClientResultsManager (#1697)
add `TryCompleteResult` for `ErrorCompletionMessage`
1 parent 724624c commit 6e8b50b

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/Microsoft.Azure.SignalR.Common/ClientInvocation/ICallerClientResultsManager.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,7 @@ internal interface ICallerClientResultsManager : IClientResultsManager
2727
void CleanupInvocationsByInstance(string instanceId);
2828

2929
bool TryCompleteResult(string connectionId, ClientCompletionMessage message);
30+
31+
bool TryCompleteResult(string connectionId, ErrorCompletionMessage message);
3032
}
3133
}

src/Microsoft.Azure.SignalR/ClientInvocation/CallerClientResultsManager.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void CleanupInvocationsByInstance(string instanceId)
8787
{
8888
if (invocation.RouterInstanceId == instanceId)
8989
{
90-
var message = new CompletionMessage(invocationId, $"Connection '{invocation.ConnectionId}' is disconnected.", null, false);
90+
var message = CompletionMessage.WithError(invocationId, $"Connection '{invocation.ConnectionId}' is disconnected.");
9191

9292
invocation.Complete(invocation.Tcs, message);
9393
_pendingInvocations.TryRemove(invocationId, out _);
@@ -128,7 +128,7 @@ public bool TryCompleteResult(string connectionId, ClientCompletionMessage messa
128128
if (protocol == null)
129129
{
130130
var errorMessage = $"Not supported protocol {message.Protocol} by server.";
131-
return TryCompleteResult(connectionId, new CompletionMessage(message.InvocationId, errorMessage, null, false));
131+
return TryCompleteResult(connectionId, CompletionMessage.WithError(message.InvocationId, errorMessage));
132132
}
133133

134134
var payload = message.Payload;
@@ -146,6 +146,12 @@ public bool TryCompleteResult(string connectionId, ClientCompletionMessage messa
146146
return false;
147147
}
148148

149+
public bool TryCompleteResult(string connectionId, ErrorCompletionMessage message)
150+
{
151+
var errorMessage = CompletionMessage.WithError(message.InvocationId, message.Error);
152+
return TryCompleteResult(connectionId, errorMessage);
153+
}
154+
149155
// Implemented for interface IInvocationBinder
150156
public Type GetReturnType(string invocationId)
151157
{

0 commit comments

Comments
 (0)