Create tickets for the following items and discard the not needed ones.
Introduce socket options and allow to pass them to mg::aio::TCPServer and mg::aio::TCPSocket. Allow to set which of them are critical;
Introduce const SharedPtr;
Introduce UDPSocket;
Introduce SSLSocket based on OpenSSL (Introduce SSL protocol utilities #5 );
Introduce SSLSocket based on mbedTLS;
Introduce HTTPClient (Introduce HTTPClient and HTTPServer #22 );
Use uint32_t in Error.h for all codes, not int;
Make IPV6 optional and cover it with tests;
Introduce destructor of all globals including DomainToIP;
Perform IOCore benchmarks same way as the others, via report.py, and save the results for public (bench: provide mg::aio bench results #8 );
Introduce mg::net create and destroy, for WSAStartup;
Allow to destroy IOCore while having sockets in it. They should all get a special on-close event;
Introduce mini buffers;
Make RecvCommit in TCPSocket shrink the recv buffer if it is too much bigger than recvsize;
Make TCPSocketIface::Delete more explicit with its own callback;
Create tickets for the following items and discard the not needed ones.
mg::aio::TCPServerandmg::aio::TCPSocket. Allow to set which of them are critical;const SharedPtr;UDPSocket;SSLSocketbased on OpenSSL (Introduce SSL protocol utilities #5);SSLSocketbased on mbedTLS;HTTPClient(IntroduceHTTPClientandHTTPServer#22);uint32_tinError.hfor all codes, notint;DomainToIP;IOCorebenchmarks same way as the others, viareport.py, and save the results for public (bench: provide mg::aio bench results #8);mg::netcreate and destroy, forWSAStartup;IOCorewhile having sockets in it. They should all get a special on-close event;RecvCommitinTCPSocketshrink the recv buffer if it is too much bigger than recvsize;TCPSocketIface::Deletemore explicit with its own callback;