public void write(int b) throws IOException {try {beginWrite();dst.write(b);} catch (InterruptedIOException e) {throw writeTimedOut(e);} finally {endWrite();}}
public override void Write(int b){try{BeginWrite();dst.Write(b);}catch (ThreadInterruptedException){throw WriteTimedOut();}finally{EndWrite();}}