-
Linux: ubuntu14 64bit g++4.8.1 tested
-
MacOSX: LLVM version 6.1.0 tested
programmer can write operations for exit
can use valgrind to check memory leak
-
use epoll on Linux
-
use kqueue on MacOSX
only 10 lines can finish a complete server
#include <handy/handy.h>
using namespace handy;
int main(int argc, const char* argv[]) {
EventBase base;
Signal::signal(SIGINT, [&]{ base.exit(); });
TcpServerPtr svr = TcpServer::startServer(&base, "", 99);
exitif(svr == NULL, "start tcp server failed");
svr->onConnRead([](const TcpConnPtr& con) {
con->send(con->getInput());
});
base.loop();
}
processing I/O asynchronously and Request synchronously can greatly simplify the coding of business processing
example can be found examples/hsha.cc
asynchronously handle the openssl connection
###protobuf supported
examples can be found in directory protobuf
###Installation
make && make install
###contents
- handy--------handy library
- examples----
- ssl------------openssl support and examples
- protobuf-----protobuf support and examples
- test-----------handy test case
###hand book
Use of this source code is governed by a BSD-style license that can be found in the License file.