SocketReader and SocketWriter classes