keep buffer context while sending to avoid conflict in buffer's state
CA2240: Implement ISerializable correctly
CA1063: IDisposable
CA2200: Rethrow to preserve stack details
remove IoHandler from AbstractIoService's interface list
change IoFuture.Complete to EventHandler<IoFutureEventArgs>

CA1009: Declare event handlers correctly
CA1009: Declare event handlers correctly
lots of correctness by Code Analysis
unchecked overflow in Subnet