fr::HttpSocket has been removed.
fr::Sendable has been added. Classes can inherit this if they want to be sendable through sockets. Both fr::Http (which is inherited by fr::HttpRequest and fr::HttpResponse), and fr::Packet inherit this, to allow them to be sent through fr::Socket::send()/fr::Socket::receive().
Fixed broken fr::SocketSelector and fr::SocketReactor, as they no longer accepted fr::Listener's due to fr::Listener no longer inheriting fr::Socket.
Send/Recv often needs to be called multiple times to transfer all of the data. send_raw/receive_raw are now mutex protected and so both send & receive can be called simultaneously.
The CMake build system now uses a relative path for modules, and supports a 'USE_SSL' option to optionally link in mbedtls and enable SSL support.
The readme now provides SSL examples.
You can now accept SSL connections using SSLListeners, and then send/receive data through the associated SSLSocket.
HttpSocket's now support both HTTP and HTTPS, using templates:
fr::HttpSocket<fr::SSLSocket> https_socket;
fr::HttpSocket<fr::TcpSocket> http_socket;
Added 'HttpSocket', which inherits TcpSocket and adds a receive and send functions for WebRequest objects.
WebRequest objects can be used to parse, construct and extract HTTP requests. They can be sent through HttpSocket's.
Can now send and receive raw data over TcpSockets for communicating with other protocols, such as HTTP.
Fixed TcpSocket::close only calling close() if the connection isn't open (gg wp)