change BufferedSocket.recv to always return the rbuf data, even when it is less than the size requested. this way there is no chance of getting a socket error when there is data still in the read buffer, and when sockets are closed while calling recv, we know that the recv buffer is empty.
change BufferedSocket.recv to always return the rbuf data, even when it is less than the size requested. this way there is no chance of getting a socket error when there is data still in the read buffer, and when sockets are closed while calling recv, we know that the recv buffer is empty.

doublereedkurt/boltons,markrwilliams/boltons,zeroSteiner/boltons