Hi, I have this weird issue with wiresock and qbittorrent. In the config, I have allowed only qbittorrent and nothing else and it would actually work fine, only qbittorrent is tunneled through my wireguard server.
However I also play games on this server, specifically Genshin Impact on this server remotely using Parsec and what I found is that when I play Genshin and there’s network activity in qbittorrent, the ping would spike and the Parsec connetion would also get stuttery. And it’s not a Genshin only issue, I ran a ping to google.com in the background and the ping would similarly spike as well. And occasionally the ping would spike so high that the whole internet connection to the server would just freeze up and I can’t even get a ping response from it. I essentially have to reboot the server to get it back up again. And disabling wiresock completely mitigates this issue. I’ve tried WiresockUI and Tunnlto and both has the same issue. Why is this happening and how can I fix it?
The issue seems to be that qBittorrent frequently establishes and terminates TCP sessions, necessitating that Wiresock repeatedly determines the process context for each new connection. This process of context resolution is resource-intensive and currently takes place within a shared flow that manages all traffic. To enhance efficiency, it would be beneficial to shift the process context resolution to a dedicated thread. This would prevent it from impacting connections that are already established. I plan to implement this improvement in the forthcoming release.