Exemplo n.º 1
0
int main(int argc, char const *argv[])
{
    char err[SOCKET_ERR_LEN];

    pool = buffer_pool_create(100);
    prev_recv = prev_send = 0;
    recv_total = send_total = 0;

    int sfd = tcp_server_serve(err, "localhost", 3456, SOMAXCONN);
    if (sfd < 0) {
        printf("%d %s\n", sfd, err);
        return 0;
    }

    if (set_nonblock(err, sfd) != 0) {
        printf("%s\n", err);
        return 0;
    }

    if (set_tcp_nodelay(err, sfd, 1) != 0) {
        printf("%s\n", err);
        return 0;
    }

    event_loop_t *loop = event_loop_create(100, 10);
    assert(loop != NULL);

    create_timer(loop, 1000, print_info, NULL);
    create_event(loop, sfd, EV_RDABLE, server_accept_cb, NULL);

    event_loop_start(loop);
}
Exemplo n.º 2
0
int main(int argc, const char *argv[]) {
    signals_register(SIGINT, &on_keyboardinterrupt);
    signals_register(SIGTERM, &on_signalterm);
    /* forever event loop to heart-beat every 10s */
    struct event_loop *loop = event_loop(0);
    event_add_timer(loop, 1000, &beat1000, NULL);
    event_loop_start(loop);
    event_loop_free(loop);
    return 0;
}