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
Sometimes you get the wrong message type being received from a request to peer when sending multiple requests at once. This should not happen and is because we're not handling the sockets properly. Right now, we are reusing the sockets with nodejs setKeepAlive, but I suspect we are reusing sockets for concurrent requests and not discriminating between the end of the request/response cycle. This could be done by either attaching a random string to the request packet so it can look for it in the response, or only reassigning a socket once the request/response cycle is finished.
That being said, I suspect this won't be an issue until we get a large number of concurrent requests to a single peer.
The text was updated successfully, but these errors were encountered:
Can you explain what is your protocol being used when sending messages? I thought it would be GRPC and we shouldn't have to deal with multiplexing problems. You're not using raw TCP frames right?
originally, all peer sharing was done via gRPC, but I changed it halfway through implementing the TURN server as gRPC is not byo socket and we need that to control the sockets.
Now that I have a working implementation of packet relay, I've realised that this is not really the case at all as we don't need to access the sockets of the GitServer/GitClient, we just need to relay the packets.
I will be changing the git transport back to using gRPC shortly.
Sometimes you get the wrong message type being received from a request to peer when sending multiple requests at once. This should not happen and is because we're not handling the sockets properly. Right now, we are reusing the sockets with nodejs
setKeepAlive
, but I suspect we are reusing sockets for concurrent requests and not discriminating between the end of the request/response cycle. This could be done by either attaching a random string to the request packet so it can look for it in the response, or only reassigning a socket once the request/response cycle is finished.That being said, I suspect this won't be an issue until we get a large number of concurrent requests to a single peer.
The text was updated successfully, but these errors were encountered: