diff options
Diffstat (limited to 'pjlib/src/pjlib-test')
-rw-r--r-- | pjlib/src/pjlib-test/echo_clt.c | 2 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/ioq_perf.c | 86 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/ioq_tcp.c | 102 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/ioq_udp.c | 68 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/ioq_unreg.c | 4 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/main.c | 4 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/select.c | 6 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/sock.c | 39 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/sock_perf.c | 8 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/test.c | 9 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c | 2 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/udp_echo_srv_sync.c | 2 | ||||
-rw-r--r-- | pjlib/src/pjlib-test/util.c | 8 |
13 files changed, 217 insertions, 123 deletions
diff --git a/pjlib/src/pjlib-test/echo_clt.c b/pjlib/src/pjlib-test/echo_clt.c index d13391e9..4f7448b0 100644 --- a/pjlib/src/pjlib-test/echo_clt.c +++ b/pjlib/src/pjlib-test/echo_clt.c @@ -65,7 +65,7 @@ static int echo_client_thread(void *arg) pj_status_t last_recv_err = PJ_SUCCESS, last_send_err = PJ_SUCCESS; unsigned counter = 0; - rc = app_socket(PJ_AF_INET, client->sock_type, 0, -1, &sock); + rc = app_socket(pj_AF_INET(), client->sock_type, 0, -1, &sock); if (rc != PJ_SUCCESS) { app_perror("...unable to create socket", rc); return -10; diff --git a/pjlib/src/pjlib-test/ioq_perf.c b/pjlib/src/pjlib-test/ioq_perf.c index e15fe1be..92d4540d 100644 --- a/pjlib/src/pjlib-test/ioq_perf.c +++ b/pjlib/src/pjlib-test/ioq_perf.c @@ -275,7 +275,7 @@ static int perform_test(int sock_type, const char *type_name, /* Create socket pair. */ TRACE_((THIS_FILE, " calling socketpair..")); - rc = app_socketpair(PJ_AF_INET, sock_type, 0, + rc = app_socketpair(pj_AF_INET(), sock_type, 0, &items[i].server_fd, &items[i].client_fd); if (rc != PJ_SUCCESS) { app_perror("...error: unable to create socket pair", rc); @@ -451,49 +451,49 @@ int ioqueue_perf_test(void) int sockpair_cnt; } test_param[] = { - { PJ_SOCK_DGRAM, "udp", 1, 1}, - { PJ_SOCK_DGRAM, "udp", 1, 2}, - { PJ_SOCK_DGRAM, "udp", 1, 4}, - { PJ_SOCK_DGRAM, "udp", 1, 8}, - { PJ_SOCK_DGRAM, "udp", 2, 1}, - { PJ_SOCK_DGRAM, "udp", 2, 2}, - { PJ_SOCK_DGRAM, "udp", 2, 4}, - { PJ_SOCK_DGRAM, "udp", 2, 8}, - { PJ_SOCK_DGRAM, "udp", 4, 1}, - { PJ_SOCK_DGRAM, "udp", 4, 2}, - { PJ_SOCK_DGRAM, "udp", 4, 4}, - { PJ_SOCK_DGRAM, "udp", 4, 8}, - { PJ_SOCK_DGRAM, "udp", 4, 16}, - { PJ_SOCK_STREAM, "tcp", 1, 1}, - { PJ_SOCK_STREAM, "tcp", 1, 2}, - { PJ_SOCK_STREAM, "tcp", 1, 4}, - { PJ_SOCK_STREAM, "tcp", 1, 8}, - { PJ_SOCK_STREAM, "tcp", 2, 1}, - { PJ_SOCK_STREAM, "tcp", 2, 2}, - { PJ_SOCK_STREAM, "tcp", 2, 4}, - { PJ_SOCK_STREAM, "tcp", 2, 8}, - { PJ_SOCK_STREAM, "tcp", 4, 1}, - { PJ_SOCK_STREAM, "tcp", 4, 2}, - { PJ_SOCK_STREAM, "tcp", 4, 4}, - { PJ_SOCK_STREAM, "tcp", 4, 8}, - { PJ_SOCK_STREAM, "tcp", 4, 16}, + { pj_SOCK_DGRAM(), "udp", 1, 1}, + { pj_SOCK_DGRAM(), "udp", 1, 2}, + { pj_SOCK_DGRAM(), "udp", 1, 4}, + { pj_SOCK_DGRAM(), "udp", 1, 8}, + { pj_SOCK_DGRAM(), "udp", 2, 1}, + { pj_SOCK_DGRAM(), "udp", 2, 2}, + { pj_SOCK_DGRAM(), "udp", 2, 4}, + { pj_SOCK_DGRAM(), "udp", 2, 8}, + { pj_SOCK_DGRAM(), "udp", 4, 1}, + { pj_SOCK_DGRAM(), "udp", 4, 2}, + { pj_SOCK_DGRAM(), "udp", 4, 4}, + { pj_SOCK_DGRAM(), "udp", 4, 8}, + { pj_SOCK_DGRAM(), "udp", 4, 16}, + { pj_SOCK_STREAM(), "tcp", 1, 1}, + { pj_SOCK_STREAM(), "tcp", 1, 2}, + { pj_SOCK_STREAM(), "tcp", 1, 4}, + { pj_SOCK_STREAM(), "tcp", 1, 8}, + { pj_SOCK_STREAM(), "tcp", 2, 1}, + { pj_SOCK_STREAM(), "tcp", 2, 2}, + { pj_SOCK_STREAM(), "tcp", 2, 4}, + { pj_SOCK_STREAM(), "tcp", 2, 8}, + { pj_SOCK_STREAM(), "tcp", 4, 1}, + { pj_SOCK_STREAM(), "tcp", 4, 2}, + { pj_SOCK_STREAM(), "tcp", 4, 4}, + { pj_SOCK_STREAM(), "tcp", 4, 8}, + { pj_SOCK_STREAM(), "tcp", 4, 16}, /* - { PJ_SOCK_DGRAM, "udp", 32, 1}, - { PJ_SOCK_DGRAM, "udp", 32, 1}, - { PJ_SOCK_DGRAM, "udp", 32, 1}, - { PJ_SOCK_DGRAM, "udp", 32, 1}, - { PJ_SOCK_DGRAM, "udp", 1, 32}, - { PJ_SOCK_DGRAM, "udp", 1, 32}, - { PJ_SOCK_DGRAM, "udp", 1, 32}, - { PJ_SOCK_DGRAM, "udp", 1, 32}, - { PJ_SOCK_STREAM, "tcp", 32, 1}, - { PJ_SOCK_STREAM, "tcp", 32, 1}, - { PJ_SOCK_STREAM, "tcp", 32, 1}, - { PJ_SOCK_STREAM, "tcp", 32, 1}, - { PJ_SOCK_STREAM, "tcp", 1, 32}, - { PJ_SOCK_STREAM, "tcp", 1, 32}, - { PJ_SOCK_STREAM, "tcp", 1, 32}, - { PJ_SOCK_STREAM, "tcp", 1, 32}, + { pj_SOCK_DGRAM(), "udp", 32, 1}, + { pj_SOCK_DGRAM(), "udp", 32, 1}, + { pj_SOCK_DGRAM(), "udp", 32, 1}, + { pj_SOCK_DGRAM(), "udp", 32, 1}, + { pj_SOCK_DGRAM(), "udp", 1, 32}, + { pj_SOCK_DGRAM(), "udp", 1, 32}, + { pj_SOCK_DGRAM(), "udp", 1, 32}, + { pj_SOCK_DGRAM(), "udp", 1, 32}, + { pj_SOCK_STREAM(), "tcp", 32, 1}, + { pj_SOCK_STREAM(), "tcp", 32, 1}, + { pj_SOCK_STREAM(), "tcp", 32, 1}, + { pj_SOCK_STREAM(), "tcp", 32, 1}, + { pj_SOCK_STREAM(), "tcp", 1, 32}, + { pj_SOCK_STREAM(), "tcp", 1, 32}, + { pj_SOCK_STREAM(), "tcp", 1, 32}, + { pj_SOCK_STREAM(), "tcp", 1, 32}, */ }; pj_size_t best_bandwidth; diff --git a/pjlib/src/pjlib-test/ioq_tcp.c b/pjlib/src/pjlib-test/ioq_tcp.c index fc280de3..c6e117db 100644 --- a/pjlib/src/pjlib-test/ioq_tcp.c +++ b/pjlib/src/pjlib-test/ioq_tcp.c @@ -50,6 +50,7 @@ static pj_ssize_t callback_read_size, callback_write_size, callback_accept_status, callback_connect_status; +static unsigned callback_call_count; static pj_ioqueue_key_t *callback_read_key, *callback_write_key, *callback_accept_key, @@ -65,6 +66,7 @@ static void on_ioqueue_read(pj_ioqueue_key_t *key, callback_read_key = key; callback_read_op = op_key; callback_read_size = bytes_read; + callback_call_count++; } static void on_ioqueue_write(pj_ioqueue_key_t *key, @@ -74,6 +76,7 @@ static void on_ioqueue_write(pj_ioqueue_key_t *key, callback_write_key = key; callback_write_op = op_key; callback_write_size = bytes_written; + callback_call_count++; } static void on_ioqueue_accept(pj_ioqueue_key_t *key, @@ -96,6 +99,7 @@ static void on_ioqueue_accept(pj_ioqueue_key_t *key, callback_accept_key = key; callback_accept_op = op_key; callback_accept_status = status; + callback_call_count++; } } @@ -103,6 +107,7 @@ static void on_ioqueue_connect(pj_ioqueue_key_t *key, int status) { callback_connect_key = key; callback_connect_status = status; + callback_call_count++; } static pj_ioqueue_callback test_cb = @@ -168,7 +173,12 @@ static int send_recv_test(pj_ioqueue_t *ioque, status = 0; while (pending_op > 0) { timeout.sec = 1; timeout.msec = 0; +#ifdef PJ_SYMBIAN + PJ_UNUSED_ARG(ioque); + status = pj_symbianos_poll(-1, 1000); +#else status = pj_ioqueue_poll(ioque, &timeout); +#endif if (status > 0) { if (callback_read_size) { if (callback_read_size != bufsize) @@ -197,7 +207,11 @@ static int send_recv_test(pj_ioqueue_t *ioque, // Pending op is zero. // Subsequent poll should yield zero too. timeout.sec = timeout.msec = 0; +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, 1); +#else status = pj_ioqueue_poll(ioque, &timeout); +#endif if (status != 0) return -173; @@ -226,7 +240,7 @@ static int compliance_test_0(void) pj_pool_t *pool = NULL; char *send_buf, *recv_buf; pj_ioqueue_t *ioque = NULL; - pj_ioqueue_key_t *skey, *ckey0, *ckey1; + pj_ioqueue_key_t *skey=NULL, *ckey0=NULL, *ckey1=NULL; pj_ioqueue_op_key_t accept_op; int bufsize = BUF_MIN_SIZE; pj_ssize_t status = -1; @@ -243,13 +257,13 @@ static int compliance_test_0(void) recv_buf = (char*)pj_pool_alloc(pool, bufsize); // Create server socket and client socket for connecting - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_STREAM, 0, &ssock); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &ssock); if (rc != PJ_SUCCESS) { app_perror("...error creating socket", rc); status=-1; goto on_error; } - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_STREAM, 0, &csock1); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &csock1); if (rc != PJ_SUCCESS) { app_perror("...error creating socket", rc); status=-1; goto on_error; @@ -321,6 +335,7 @@ static int compliance_test_0(void) // Poll until connected callback_read_size = callback_write_size = 0; callback_accept_status = callback_connect_status = -2; + callback_call_count = 0; callback_read_key = callback_write_key = callback_accept_key = callback_connect_key = NULL; @@ -329,7 +344,13 @@ static int compliance_test_0(void) while (pending_op) { pj_time_val timeout = {1, 0}; - status=pj_ioqueue_poll(ioque, &timeout); +#ifdef PJ_SYMBIAN + callback_call_count = 0; + pj_symbianos_poll(-1, 1000); + status = callback_call_count; +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif if (status > 0) { if (callback_accept_status != -2) { if (callback_accept_status != 0) { @@ -373,7 +394,11 @@ static int compliance_test_0(void) // When we poll the ioqueue, there must not be events. if (pending_op == 0) { pj_time_val timeout = {1, 0}; +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, 1000); +#else status = pj_ioqueue_poll(ioque, &timeout); +#endif if (status != 0) { status=-60; goto on_error; } @@ -407,12 +432,21 @@ static int compliance_test_0(void) status = 0; on_error: - if (ssock != PJ_INVALID_SOCKET) + if (skey != NULL) + pj_ioqueue_unregister(skey); + else if (ssock != PJ_INVALID_SOCKET) pj_sock_close(ssock); - if (csock1 != PJ_INVALID_SOCKET) + + if (ckey1 != NULL) + pj_ioqueue_unregister(ckey1); + else if (csock1 != PJ_INVALID_SOCKET) pj_sock_close(csock1); - if (csock0 != PJ_INVALID_SOCKET) + + if (ckey0 != NULL) + pj_ioqueue_unregister(ckey0); + else if (csock0 != PJ_INVALID_SOCKET) pj_sock_close(csock0); + if (ioque != NULL) pj_ioqueue_destroy(ioque); pj_pool_release(pool); @@ -426,11 +460,11 @@ on_error: */ static int compliance_test_1(void) { - pj_sock_t csock1=-1; + pj_sock_t csock1=PJ_INVALID_SOCKET; pj_sockaddr_in addr; pj_pool_t *pool = NULL; pj_ioqueue_t *ioque = NULL; - pj_ioqueue_key_t *ckey1; + pj_ioqueue_key_t *ckey1 = NULL; pj_ssize_t status = -1; int pending_op = 0; pj_str_t s; @@ -446,7 +480,7 @@ static int compliance_test_1(void) } // Create client socket - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_STREAM, 0, &csock1); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &csock1); if (rc != PJ_SUCCESS) { app_perror("...ERROR in pj_sock_socket()", rc); status=-1; goto on_error; @@ -483,7 +517,13 @@ static int compliance_test_1(void) while (pending_op) { pj_time_val timeout = {1, 0}; - status=pj_ioqueue_poll(ioque, &timeout); +#ifdef PJ_SYMBIAN + callback_call_count = 0; + pj_symbianos_poll(-1, 1000); + status = callback_call_count; +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif if (status > 0) { if (callback_connect_key==ckey1) { if (callback_connect_status == 0) { @@ -512,7 +552,11 @@ static int compliance_test_1(void) // When we poll the ioqueue, there must not be events. if (pending_op == 0) { pj_time_val timeout = {1, 0}; +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, 1000); +#else status = pj_ioqueue_poll(ioque, &timeout); +#endif if (status != 0) { status=-60; goto on_error; } @@ -522,8 +566,11 @@ static int compliance_test_1(void) status = 0; on_error: - if (csock1 != PJ_INVALID_SOCKET) + if (ckey1 != NULL) + pj_ioqueue_unregister(ckey1); + else if (csock1 != PJ_INVALID_SOCKET) pj_sock_close(csock1); + if (ioque != NULL) pj_ioqueue_destroy(ioque); pj_pool_release(pool); @@ -576,6 +623,19 @@ static int compliance_test_2(void) pj_str_t s; pj_status_t rc; + listener.sock = PJ_INVALID_SOCKET; + listener.key = NULL; + + for (i=0; i<MAX_PAIR; ++i) { + server[i].sock = PJ_INVALID_SOCKET; + server[i].key = NULL; + } + + for (i=0; i<MAX_PAIR; ++i) { + client[i].sock = PJ_INVALID_SOCKET; + client[i].key = NULL; + } + // Create pool. pool = pj_pool_create(mem, NULL, POOL_SIZE, 4000, NULL); @@ -593,7 +653,7 @@ static int compliance_test_2(void) recv_buf = (char*)pj_pool_alloc(pool, bufsize); // Create listener socket - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_STREAM, 0, &listener.sock); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &listener.sock); if (rc != PJ_SUCCESS) { app_perror("...error creating socket", rc); status=-20; goto on_error; @@ -635,7 +695,7 @@ static int compliance_test_2(void) for (test_loop=0; test_loop < TEST_LOOP; ++test_loop) { // Client connect and server accept. for (i=0; i<MAX_PAIR; ++i) { - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_STREAM, 0, &client[i].sock); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &client[i].sock); if (rc != PJ_SUCCESS) { app_perror("...error creating socket", rc); status=-70; goto on_error; @@ -683,7 +743,11 @@ static int compliance_test_2(void) while (pending_op) { pj_time_val timeout = {1, 0}; - status=pj_ioqueue_poll(ioque, &timeout); +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, 1000); +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif if (status > 0) { if (status > pending_op) { PJ_LOG(3,(THIS_FILE, @@ -704,7 +768,11 @@ static int compliance_test_2(void) // When we poll the ioqueue, there must not be events. if (pending_op == 0) { pj_time_val timeout = {1, 0}; +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, 1000); +#else status = pj_ioqueue_poll(ioque, &timeout); +#endif if (status != 0) { status=-120; goto on_error; } @@ -719,7 +787,7 @@ static int compliance_test_2(void) } // Check addresses - if (server[i].local_addr.sin_family != PJ_AF_INET || + if (server[i].local_addr.sin_family != pj_AF_INET() || server[i].local_addr.sin_addr.s_addr == 0 || server[i].local_addr.sin_port == 0) { @@ -728,7 +796,7 @@ static int compliance_test_2(void) goto on_error; } - if (server[i].rem_addr.sin_family != PJ_AF_INET || + if (server[i].rem_addr.sin_family != pj_AF_INET() || server[i].rem_addr.sin_addr.s_addr == 0 || server[i].rem_addr.sin_port == 0) { diff --git a/pjlib/src/pjlib-test/ioq_udp.c b/pjlib/src/pjlib-test/ioq_udp.c index e6f4c0f9..1bbe494f 100644 --- a/pjlib/src/pjlib-test/ioq_udp.c +++ b/pjlib/src/pjlib-test/ioq_udp.c @@ -133,7 +133,7 @@ static int compliance_test(void) pj_pool_t *pool = NULL; char *send_buf, *recv_buf; pj_ioqueue_t *ioque = NULL; - pj_ioqueue_key_t *skey, *ckey; + pj_ioqueue_key_t *skey = NULL, *ckey = NULL; pj_ioqueue_op_key_t read_op, write_op; int bufsize = BUF_MIN_SIZE; pj_ssize_t bytes, status = -1; @@ -152,9 +152,9 @@ static int compliance_test(void) // Allocate sockets for sending and receiving. TRACE_("creating sockets..."); - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &ssock); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &ssock); if (rc==PJ_SUCCESS) - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &csock); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &csock); else csock = PJ_INVALID_SOCKET; if (rc != PJ_SUCCESS) { @@ -165,7 +165,7 @@ static int compliance_test(void) // Bind server socket. TRACE_("bind socket..."); pj_bzero(&addr, sizeof(addr)); - addr.sin_family = PJ_AF_INET; + addr.sin_family = pj_AF_INET(); addr.sin_port = pj_htons(PORT); if (pj_sock_bind(ssock, &addr, sizeof(addr))) { status=-10; goto on_error; @@ -258,7 +258,11 @@ static int compliance_test(void) pj_time_val timeout = { 5, 0 }; TRACE_("poll..."); +#ifdef PJ_SYMBIAN + rc = pj_symbianos_poll(-1, 5000); +#else rc = pj_ioqueue_poll(ioque, &timeout); +#endif if (rc == 0) { PJ_LOG(1,(THIS_FILE, "...ERROR: timed out...")); @@ -285,7 +289,7 @@ static int compliance_test(void) if (addrlen != sizeof(pj_sockaddr_in)) { status=-68; goto on_error; } - if (addr.sin_family != PJ_AF_INET) { + if (addr.sin_family != pj_AF_INET()) { status=-69; goto on_error; } @@ -312,10 +316,16 @@ static int compliance_test(void) status = 0; on_error: - if (ssock) + if (skey) + pj_ioqueue_unregister(skey); + else if (ssock != -1) pj_sock_close(ssock); - if (csock) + + if (ckey) + pj_ioqueue_unregister(ckey); + else if (csock != -1) pj_sock_close(csock); + if (ioque != NULL) pj_ioqueue_destroy(ioque); pj_pool_release(pool); @@ -372,14 +382,14 @@ static int unregister_test(void) } /* Create sender socket */ - status = app_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, SPORT, &ssock); + status = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, SPORT, &ssock); if (status != PJ_SUCCESS) { app_perror("Error initializing socket", status); return -120; } /* Create receiver socket. */ - status = app_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, RPORT, &rsock); + status = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, RPORT, &rsock); if (status != PJ_SUCCESS) { app_perror("Error initializing socket", status); return -130; @@ -435,7 +445,11 @@ static int unregister_test(void) /* Check if packet is received. */ timeout.sec = 1; timeout.msec = 0; +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else pj_ioqueue_poll(ioqueue, &timeout); +#endif if (packet_cnt != 1) { return -180; @@ -469,8 +483,12 @@ static int unregister_test(void) pj_ioqueue_unregister(key); /* Poll ioqueue. */ +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else timeout.sec = 1; timeout.msec = 0; pj_ioqueue_poll(ioqueue, &timeout); +#endif /* Must NOT receive any packets after socket is closed! */ if (packet_cnt > 0) { @@ -524,7 +542,7 @@ static int many_handles_test(void) /* Register as many sockets. */ for (count=0; count<MAX; ++count) { sock[count] = PJ_INVALID_SOCKET; - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &sock[count]); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &sock[count]); if (rc != PJ_SUCCESS || sock[count] == PJ_INVALID_SOCKET) { PJ_LOG(3,(THIS_FILE, "....unable to create %d-th socket, rc=%d", count, rc)); @@ -591,7 +609,7 @@ static int bench_test(int bufsize, int inactive_sock_count) pj_ioqueue_op_key_t *inactive_read_op; char *send_buf, *recv_buf; pj_ioqueue_t *ioque = NULL; - pj_ioqueue_key_t *skey, *ckey, *key; + pj_ioqueue_key_t *skey, *ckey, *keys[SOCK_INACTIVE_MAX+2]; pj_timestamp t1, t2, t_elapsed; int rc=0, i; /* i must be signed */ pj_str_t temp; @@ -607,9 +625,9 @@ static int bench_test(int bufsize, int inactive_sock_count) recv_buf = (char*)pj_pool_alloc(pool, bufsize); // Allocate sockets for sending and receiving. - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &ssock); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &ssock); if (rc == PJ_SUCCESS) { - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &csock); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &csock); } else csock = PJ_INVALID_SOCKET; if (rc != PJ_SUCCESS) { @@ -619,7 +637,7 @@ static int bench_test(int bufsize, int inactive_sock_count) // Bind server socket. pj_bzero(&addr, sizeof(addr)); - addr.sin_family = PJ_AF_INET; + addr.sin_family = pj_AF_INET(); addr.sin_port = pj_htons(PORT); if (pj_sock_bind(ssock, &addr, sizeof(addr))) goto on_error; @@ -640,11 +658,11 @@ static int bench_test(int bufsize, int inactive_sock_count) inactive_read_op = (pj_ioqueue_op_key_t*)pj_pool_alloc(pool, inactive_sock_count*sizeof(pj_ioqueue_op_key_t)); pj_bzero(&addr, sizeof(addr)); - addr.sin_family = PJ_AF_INET; + addr.sin_family = pj_AF_INET(); for (i=0; i<inactive_sock_count; ++i) { pj_ssize_t bytes; - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &inactive_sock[i]); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &inactive_sock[i]); if (rc != PJ_SUCCESS || inactive_sock[i] < 0) { app_perror("...error: pj_sock_socket()", rc); goto on_error; @@ -656,7 +674,7 @@ static int bench_test(int bufsize, int inactive_sock_count) goto on_error; } rc = pj_ioqueue_register_sock(pool, ioque, inactive_sock[i], - NULL, &test_cb, &key); + NULL, &test_cb, &keys[i]); if (rc != PJ_SUCCESS) { pj_sock_close(inactive_sock[i]); inactive_sock[i] = PJ_INVALID_SOCKET; @@ -665,7 +683,7 @@ static int bench_test(int bufsize, int inactive_sock_count) goto on_error; } bytes = bufsize; - rc = pj_ioqueue_recv(key, &inactive_read_op[i], recv_buf, &bytes, 0); + rc = pj_ioqueue_recv(keys[i], &inactive_read_op[i], recv_buf, &bytes, 0); if (rc != PJ_EPENDING) { pj_sock_close(inactive_sock[i]); inactive_sock[i] = PJ_INVALID_SOCKET; @@ -735,7 +753,11 @@ static int bench_test(int bufsize, int inactive_sock_count) TRACE__((THIS_FILE, " waiting for key = %p", skey)); do { pj_time_val timeout = { 1, 0 }; +#ifdef PJ_SYMBIAN + rc = pj_symbianos_poll(-1, 1000); +#else rc = pj_ioqueue_poll(ioque, &timeout); +#endif TRACE__((THIS_FILE, " poll rc=%d", rc)); } while (rc >= 0 && callback_read_key != skey); @@ -760,7 +782,11 @@ static int bench_test(int bufsize, int inactive_sock_count) // Poll until all events are exhausted, before we start the next loop. do { pj_time_val timeout = { 0, 10 }; +#ifdef PJ_SYMBIAN + rc = pj_symbianos_poll(-1, 100); +#else rc = pj_ioqueue_poll(ioque, &timeout); +#endif } while (rc>0); rc = 0; @@ -784,11 +810,11 @@ static int bench_test(int bufsize, int inactive_sock_count) // Cleaning up. for (i=inactive_sock_count-1; i>=0; --i) { - pj_sock_close(inactive_sock[i]); + pj_ioqueue_unregister(keys[i]); } - pj_sock_close(ssock); - pj_sock_close(csock); + pj_ioqueue_unregister(skey); + pj_ioqueue_unregister(ckey); pj_ioqueue_destroy(ioque); diff --git a/pjlib/src/pjlib-test/ioq_unreg.c b/pjlib/src/pjlib-test/ioq_unreg.c index 791befc7..33e86270 100644 --- a/pjlib/src/pjlib-test/ioq_unreg.c +++ b/pjlib/src/pjlib-test/ioq_unreg.c @@ -159,7 +159,7 @@ static int perform_unreg_test(pj_ioqueue_t *ioqueue, * will return from the poll early. */ if (other_socket) { - status = app_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, 56127, &osd.sock); + status = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, 56127, &osd.sock); if (status != PJ_SUCCESS) { app_perror("Error creating other socket", status); return -12; @@ -200,7 +200,7 @@ static int perform_unreg_test(pj_ioqueue_t *ioqueue, } /* Create pair of client/server sockets */ - status = app_socketpair(PJ_AF_INET, PJ_SOCK_DGRAM, 0, + status = app_socketpair(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &sock_data.sock, &sock_data.csock); if (status != PJ_SUCCESS) { app_perror("app_socketpair error", status); diff --git a/pjlib/src/pjlib-test/main.c b/pjlib/src/pjlib-test/main.c index 2670ba7d..60dc319b 100644 --- a/pjlib/src/pjlib-test/main.c +++ b/pjlib/src/pjlib-test/main.c @@ -81,9 +81,9 @@ int main(int argc, char *argv[]) pj_str_t type = pj_str(argv[--argc]); if (pj_stricmp2(&type, "tcp")==0) - param_echo_sock_type = PJ_SOCK_STREAM; + param_echo_sock_type = pj_SOCK_STREAM(); else if (pj_stricmp2(&type, "udp")==0) - param_echo_sock_type = PJ_SOCK_DGRAM; + param_echo_sock_type = pj_SOCK_DGRAM(); else { PJ_LOG(3,("", "error: unknown socket type %s", type.ptr)); return 1; diff --git a/pjlib/src/pjlib-test/select.c b/pjlib/src/pjlib-test/select.c index 949d1463..c3c3f8fc 100644 --- a/pjlib/src/pjlib-test/select.c +++ b/pjlib/src/pjlib-test/select.c @@ -112,12 +112,12 @@ int select_test() PJ_LOG(3, (THIS_FILE, "...Testing simple UDP select()")); // Create two UDP sockets. - rc = pj_sock_socket( PJ_AF_INET, PJ_SOCK_DGRAM, 0, &udp1); + rc = pj_sock_socket( pj_AF_INET(), pj_SOCK_DGRAM(), 0, &udp1); if (rc != PJ_SUCCESS) { app_perror("...error: unable to create socket", rc); status=-10; goto on_return; } - rc = pj_sock_socket( PJ_AF_INET, PJ_SOCK_DGRAM, 0, &udp2); + rc = pj_sock_socket( pj_AF_INET(), pj_SOCK_DGRAM(), 0, &udp2); if (udp2 == PJ_INVALID_SOCKET) { app_perror("...error: unable to create socket", rc); status=-20; goto on_return; @@ -125,7 +125,7 @@ int select_test() // Bind one of the UDP socket. pj_bzero(&udp_addr, sizeof(udp_addr)); - udp_addr.sin_family = PJ_AF_INET; + udp_addr.sin_family = pj_AF_INET(); udp_addr.sin_port = UDP_PORT; udp_addr.sin_addr = pj_inet_addr(pj_cstr(&s, "127.0.0.1")); diff --git a/pjlib/src/pjlib-test/sock.c b/pjlib/src/pjlib-test/sock.c index 9011a706..5e583e42 100644 --- a/pjlib/src/pjlib-test/sock.c +++ b/pjlib/src/pjlib-test/sock.c @@ -77,12 +77,7 @@ static int format_test(void) char zero[64]; pj_sockaddr_in addr2; const pj_str_t *hostname; -#if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 - /* Symbian IP address is saved in host order */ - unsigned char A[] = {1, 0, 0, 127}; -#else - unsigned char A[] = {127, 0, 0, 1}; -#endif + const unsigned char A[] = {127, 0, 0, 1}; PJ_LOG(3,("test", "...format_test()")); @@ -136,16 +131,16 @@ static int simple_sock_test(void) int i; pj_status_t rc = PJ_SUCCESS; - types[0] = PJ_SOCK_STREAM; - types[1] = PJ_SOCK_DGRAM; + types[0] = pj_SOCK_STREAM(); + types[1] = pj_SOCK_DGRAM(); PJ_LOG(3,("test", "...simple_sock_test()")); for (i=0; i<(int)(sizeof(types)/sizeof(types[0])); ++i) { - rc = pj_sock_socket(PJ_AF_INET, types[i], 0, &sock); + rc = pj_sock_socket(pj_AF_INET(), types[i], 0, &sock); if (rc != PJ_SUCCESS) { - app_perror("...error: unable to create socket type %d", rc); + app_perror("...error: unable to create socket", rc); break; } else { rc = pj_sock_close(sock); @@ -237,7 +232,7 @@ static int send_recv_test(int sock_type, rc = -156; goto on_error; } if (received != DATA_LEN-total_received) { - if (sock_type != PJ_SOCK_STREAM) { + if (sock_type != pj_SOCK_STREAM()) { PJ_LOG(3,("", "...error: expecting %u bytes, got %u bytes", DATA_LEN-total_received, received)); rc = -157; goto on_error; @@ -295,7 +290,7 @@ static int send_recv_test(int sock_type, rc = -173; goto on_error; } if (received != BIG_DATA_LEN-total_received) { - if (sock_type != PJ_SOCK_STREAM) { + if (sock_type != pj_SOCK_STREAM()) { PJ_LOG(3,("", "...error: expecting %u bytes, got %u bytes", BIG_DATA_LEN-total_received, received)); rc = -176; goto on_error; @@ -325,19 +320,19 @@ static int udp_test(void) PJ_LOG(3,("test", "...udp_test()")); - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &ss); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &ss); if (rc != 0) { app_perror("...error: unable to create socket", rc); return -100; } - rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &cs); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &cs); if (rc != 0) return -110; /* Bind server socket. */ pj_bzero(&dstaddr, sizeof(dstaddr)); - dstaddr.sin_family = PJ_AF_INET; + dstaddr.sin_family = pj_AF_INET(); dstaddr.sin_port = pj_htons(UDP_PORT); dstaddr.sin_addr = pj_inet_addr(pj_cstr(&s, ADDRESS)); @@ -348,7 +343,7 @@ static int udp_test(void) /* Bind client socket. */ pj_bzero(&srcaddr, sizeof(srcaddr)); - srcaddr.sin_family = PJ_AF_INET; + srcaddr.sin_family = pj_AF_INET(); srcaddr.sin_port = pj_htons(UDP_PORT-1); srcaddr.sin_addr = pj_inet_addr(pj_cstr(&s, ADDRESS)); @@ -358,13 +353,13 @@ static int udp_test(void) } /* Test send/recv, with sendto */ - rc = send_recv_test(PJ_SOCK_DGRAM, ss, cs, &dstaddr, NULL, + rc = send_recv_test(pj_SOCK_DGRAM(), ss, cs, &dstaddr, NULL, sizeof(dstaddr)); if (rc != 0) goto on_error; /* Test send/recv, with sendto and recvfrom */ - rc = send_recv_test(PJ_SOCK_DGRAM, ss, cs, &dstaddr, + rc = send_recv_test(pj_SOCK_DGRAM(), ss, cs, &dstaddr, &srcaddr, sizeof(dstaddr)); if (rc != 0) goto on_error; @@ -382,12 +377,12 @@ static int udp_test(void) } /* Test send/recv with send() */ - rc = send_recv_test(PJ_SOCK_DGRAM, ss, cs, NULL, NULL, 0); + rc = send_recv_test(pj_SOCK_DGRAM(), ss, cs, NULL, NULL, 0); if (rc != 0) goto on_error; /* Test send/recv with send() and recvfrom */ - rc = send_recv_test(PJ_SOCK_DGRAM, ss, cs, NULL, &srcaddr, + rc = send_recv_test(pj_SOCK_DGRAM(), ss, cs, NULL, &srcaddr, sizeof(srcaddr)); if (rc != 0) goto on_error; @@ -420,14 +415,14 @@ static int tcp_test(void) PJ_LOG(3,("test", "...tcp_test()")); - rc = app_socketpair(PJ_AF_INET, PJ_SOCK_STREAM, 0, &ss, &cs); + rc = app_socketpair(pj_AF_INET(), pj_SOCK_STREAM(), 0, &ss, &cs); if (rc != PJ_SUCCESS) { app_perror("...error: app_socketpair():", rc); return -2000; } /* Test send/recv with send() and recv() */ - retval = send_recv_test(PJ_SOCK_STREAM, ss, cs, NULL, NULL, 0); + retval = send_recv_test(pj_SOCK_STREAM(), ss, cs, NULL, NULL, 0); rc = pj_sock_close(cs); if (rc != PJ_SUCCESS) { diff --git a/pjlib/src/pjlib-test/sock_perf.c b/pjlib/src/pjlib-test/sock_perf.c index a5420af7..41548ea6 100644 --- a/pjlib/src/pjlib-test/sock_perf.c +++ b/pjlib/src/pjlib-test/sock_perf.c @@ -62,7 +62,7 @@ static int sock_producer_consumer(int sock_type, return -10; /* Create producer-consumer pair. */ - rc = app_socketpair(PJ_AF_INET, sock_type, 0, &consumer, &producer); + rc = app_socketpair(pj_AF_INET(), sock_type, 0, &consumer, &producer); if (rc != PJ_SUCCESS) { app_perror("...error: create socket pair", rc); return -20; @@ -105,7 +105,7 @@ static int sock_producer_consumer(int sock_type, return -73; } if ((pj_size_t)part_received != buf_size-received) { - if (sock_type != PJ_SOCK_STREAM) { + if (sock_type != pj_SOCK_STREAM()) { PJ_LOG(3,("", "...error: expecting %u bytes, got %u bytes", buf_size-received, part_received)); return -76; @@ -165,13 +165,13 @@ int sock_perf_test(void) */ #if !defined(PJ_SYMBIAN) || PJ_SYMBIAN==0 /* Benchmarking UDP */ - rc = sock_producer_consumer(PJ_SOCK_DGRAM, 512, LOOP, &bandwidth); + rc = sock_producer_consumer(pj_SOCK_DGRAM(), 512, LOOP, &bandwidth); if (rc != 0) return rc; PJ_LOG(3,("", "....bandwidth UDP = %d KB/s", bandwidth)); #endif /* Benchmarking TCP */ - rc = sock_producer_consumer(PJ_SOCK_STREAM, 512, LOOP, &bandwidth); + rc = sock_producer_consumer(pj_SOCK_STREAM(), 512, LOOP, &bandwidth); if (rc != 0) return rc; PJ_LOG(3,("", "....bandwidth TCP = %d KB/s", bandwidth)); diff --git a/pjlib/src/pjlib-test/test.c b/pjlib/src/pjlib-test/test.c index 5c783970..0202a3da 100644 --- a/pjlib/src/pjlib-test/test.c +++ b/pjlib/src/pjlib-test/test.c @@ -64,7 +64,7 @@ int test_inner(void) } //pj_dump_config(); - pj_caching_pool_init( &caching_pool, &pj_pool_factory_default_policy, 0 ); + pj_caching_pool_init( &caching_pool, NULL, 0 ); #if INCLUDE_ERRNO_TEST DO_TEST( errno_test() ); @@ -165,7 +165,7 @@ int test_inner(void) #elif INCLUDE_ECHO_CLIENT if (param_echo_sock_type == 0) - param_echo_sock_type = PJ_SOCK_DGRAM; + param_echo_sock_type = pj_SOCK_DGRAM(); echo_client( param_echo_sock_type, param_echo_server, @@ -191,10 +191,15 @@ on_return: return 0; } +#include <pj/sock.h> + int test_main(void) { + int i; PJ_USE_EXCEPTION; + i = pj_AF_INET(); + PJ_TRY { return test_inner(); } diff --git a/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c b/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c index d2d2246a..231facc6 100644 --- a/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c +++ b/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c @@ -176,7 +176,7 @@ int udp_echo_srv_ioqueue(void) return -20; } - rc = app_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, + rc = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, ECHO_SERVER_START_PORT, &sock); if (rc != PJ_SUCCESS) { app_perror("...app_socket error", rc); diff --git a/pjlib/src/pjlib-test/udp_echo_srv_sync.c b/pjlib/src/pjlib-test/udp_echo_srv_sync.c index 8c0ef2b7..37a9e04c 100644 --- a/pjlib/src/pjlib-test/udp_echo_srv_sync.c +++ b/pjlib/src/pjlib-test/udp_echo_srv_sync.c @@ -77,7 +77,7 @@ int echo_srv_sync(void) return -6; } - rc = app_socket(PJ_AF_INET, PJ_SOCK_DGRAM,0, ECHO_SERVER_START_PORT, &sock); + rc = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(),0, ECHO_SERVER_START_PORT, &sock); if (rc != PJ_SUCCESS) { app_perror("...socket error", rc); return -10; diff --git a/pjlib/src/pjlib-test/util.c b/pjlib/src/pjlib-test/util.c index a38c0764..4f68b25b 100644 --- a/pjlib/src/pjlib-test/util.c +++ b/pjlib/src/pjlib-test/util.c @@ -53,7 +53,7 @@ pj_status_t app_socket(int family, int type, int proto, int port, return rc; #if PJ_HAS_TCP - if (type == PJ_SOCK_STREAM) { + if (type == pj_SOCK_STREAM()) { rc = pj_sock_listen(sock, 5); if (rc != PJ_SUCCESS) return rc; @@ -86,7 +86,7 @@ pj_status_t app_socketpair(int family, int type, int protocol, /* Retry bind */ pj_bzero(&addr, sizeof(addr)); - addr.sin_family = PJ_AF_INET; + addr.sin_family = pj_AF_INET(); for (i=0; i<5; ++i) { addr.sin_port = pj_htons(port++); rc = pj_sock_bind(sock[SERVER], &addr, sizeof(addr)); @@ -99,7 +99,7 @@ pj_status_t app_socketpair(int family, int type, int protocol, /* For TCP, listen the socket. */ #if PJ_HAS_TCP - if (type == PJ_SOCK_STREAM) { + if (type == pj_SOCK_STREAM()) { rc = pj_sock_listen(sock[SERVER], PJ_SOMAXCONN); if (rc != PJ_SUCCESS) goto on_error; @@ -114,7 +114,7 @@ pj_status_t app_socketpair(int family, int type, int protocol, /* For TCP, must accept(), and get the new socket. */ #if PJ_HAS_TCP - if (type == PJ_SOCK_STREAM) { + if (type == pj_SOCK_STREAM()) { pj_sock_t newserver; rc = pj_sock_accept(sock[SERVER], &newserver, NULL, NULL); |