The problem here was that SbtClient randomly threw SocketException
when you called close(), and this meant API users had to catch it
all over the place. Instead, we want requests with a reply
(things returning a Future) to fail the future, and requests with
no reply to just fire-and-forget (ignoring any socket exceptions).
The problem here was that SbtClient randomly threw SocketException when you called close(), and this meant API users had to catch it all over the place. Instead, we want requests with a reply (things returning a Future) to fail the future, and requests with no reply to just fire-and-forget (ignoring any socket exceptions).