I think there may be a generally conflicting status codes between the underlaying socket codes, and what have been used by various exceptions.

A real solution to that would be to have a different IO Exception for when the IO fails..
I think thats a bit outside the scope of this work though.

Unsure what to do with the status=2 situation. It is used by two different messages now, but I suppose they can both be interpreted as Cursor Timeouts?