You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The way the JsonRpcIpcRunner is implemented now doesn't allow multiple simultaneous clients to be connected. This is because in accept connection loop we do the following
while(true){if(_logger.IsInfo)_logger.Info("Waiting for an IPC connection...");Socketsocket=await_server.AcceptAsync(cancellationToken);socket.ReceiveTimeout=_jsonRpcConfig.Timeout;socket.SendTimeout=_jsonRpcConfig.Timeout;usingJsonRpcSocketsClient<IpcSocketMessageStream>?socketsClient=new(string.Empty,newIpcSocketMessageStream(socket),RpcEndpoint.IPC,_jsonRpcProcessor,_jsonRpcLocalStats,_jsonSerializer,maxBatchResponseBodySize:_jsonRpcConfig.MaxBatchResponseBodySize);awaitsocketsClient.ReceiveLoopAsync();}
The issue is the line await socketsClient.ReceiveLoopAsync(); because as long as we are serving one client, we cannot accept others.
Describe the solution you'd like
To be able to use JSON RPC over IPC/UnixDomainSockets with multiple clients simultaneously.
Additional context
Additionally the way this whole section is written, more specifically thanks to this call to Dispose if the client Disconnects in erroneous way the whole IPC is shut down and no more clients are able to connect unless the node is restarted.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
The way the
JsonRpcIpcRunner
is implemented now doesn't allow multiple simultaneous clients to be connected. This is because in accept connection loop we do the followingThe issue is the line
await socketsClient.ReceiveLoopAsync();
because as long as we are serving one client, we cannot accept others.Describe the solution you'd like
To be able to use JSON RPC over IPC/UnixDomainSockets with multiple clients simultaneously.
Additional context
Additionally the way this whole section is written, more specifically thanks to this call to
Dispose
if the client Disconnects in erroneous way the whole IPC is shut down and no more clients are able to connect unless the node is restarted.The text was updated successfully, but these errors were encountered: