| | |
| | | case SEND: |
| | | if ((rv = nng_aio_result(work->aio)) != 0) { |
| | | nng_msg_free(work->msg); |
| | | work->msg = NULL; |
| | | } |
| | | work->state = RECV; |
| | | nng_ctx_recv(work->ctx, work->aio); |
| | |
| | | w->user_data = rep; |
| | | |
| | | if ((rv = nng_aio_alloc(&w->aio, server_cb, w)) != 0) { |
| | | nng_free(w, sizeof(*w)); |
| | | return NULL; |
| | | } |
| | | if ((rv = nng_ctx_open(&w->ctx, sock)) != 0) { |
| | | nng_free(w, sizeof(*w)); |
| | | return NULL; |
| | | } |
| | | w->state = INIT; |
| | |
| | | remove_exist(url); |
| | | rv = nng_listen(*sock, url.c_str(), NULL, 0); |
| | | if (rv < 0){ |
| | | for(int i = 0; i < count; i++) if(works[i]) nng_free(works[i], sizeof(work)); |
| | | free(works); |
| | | PRNTVITAG("create_server nng_listen failed"); |
| | | PRNTVITAG(url); |