Author: Steve 2011-09-06 14:17:29
Published on: 2011-09-06T14:17:29+00:00
In an email exchange, Mike Hearn suggests to a developer that they could experiment with writing a proxy that sits in front of bitcoind and multiplexes connections. The goal is to reduce socket exhaustion as users move to lightweight clients. BitCoinJ uses thread-per-connection so wouldn't do a good job of that right now, but allowing it to use a mix of async io and multi-threading would be a nice improvement. It'd need some changes to bitcoind as well for a really good effort, to allow for IPs to be forwarded. Later on, the developer responds saying that they are not confident enough to submit patches for bitcoinj yet, but building a pool protocol using protobufs and netty could potentially lead to implementing the kind of multiplexing proxy that Mike is talking about. However, the developer is unsure of the use case and whether the goal is to increase the default max connections of 8 without fundamentally altering the bitcoind concurrency model, or to provide capacity for a more hub/client oriented network. If the latter is the case, then this functionality should ideally be native to the client in the long term in the form of NIO.
Updated on: 2023-06-04T18:56:28.061179+00:00