timeout rpc supported

This commit is contained in:
2024-09-05 15:06:44 +08:00
parent 7dc2ac6a86
commit 6af68da3eb
2 changed files with 10 additions and 6 deletions
+4 -2
View File
@@ -40,7 +40,8 @@ public partial class Synapse
Client!.SubscribeAsync(rcSubOpts).Wait();
}
private string? FireRpc(string app, string action, object? param, Dictionary<string, string>? headers = null)
private string? FireRpc(string app, string action, object? param, Dictionary<string, string>? headers = null,
int? timeout = null)
{
string paramJson;
if (param is string strParam)
@@ -77,7 +78,8 @@ public partial class Synapse
string response;
try
{
if (tcs.Task.Wait(Options.RpcTimeout * 1000))
timeout ??= Options.RpcTimeout;
if (tcs.Task.Wait(timeout.Value * 1000))
{
response = tcs.Task.Result;
logger.LogDebug(