diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2009-04-26 20:13:19 +0200 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2009-04-26 20:13:19 +0200 |
commit | 2e54086d8db842b65e9c895951fb8828a5c9b518 (patch) | |
tree | dcd8a7e7ceb3e2d0bbc7ee2e040e069f724f7cbc /tests | |
parent | 17a67d9faefbff1cc7e05b82ea1981f5e14ace2c (diff) | |
download | wolfbones-2e54086d8db842b65e9c895951fb8828a5c9b518.tar.gz wolfbones-2e54086d8db842b65e9c895951fb8828a5c9b518.tar.bz2 |
more tests on proactor pattern
Diffstat (limited to 'tests')
-rw-r--r-- | tests/network/test_proactor.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/network/test_proactor.c b/tests/network/test_proactor.c index 2d998cc..7bc1582 100644 --- a/tests/network/test_proactor.c +++ b/tests/network/test_proactor.c @@ -8,6 +8,7 @@ #include "errors.h" #include "port/unused.h" +#include "network/network.h" #include <sys/types.h> /* for size_t */ @@ -45,6 +46,12 @@ wolf_asio_proc_p wolf_asio_proc_new( wolf_asio_completion_dispatcher_p completi wolf_error_t wolf_asio_proc_free( wolf_asio_proc_p proc ); /* + * The main event loop of the asio processor. We can run it were we want, even with + * a dedicated pool of threads, if we like + */ +wolf_error_t wolf_asio_proc_event_loop( wolf_asio_proc_p proc ); + +/* * Asynchronous Operations: * - the asynchronous operation must be performed without using * the applications thread! @@ -145,6 +152,11 @@ wolf_error_t wolf_asio_proc_accept( wolf_asio_proc_p proc, return WOLF_OK; } +wolf_error_t wolf_asio_proc_event_loop( wolf_asio_proc_p proc ) { + WOLF_UNUSED( proc ); + return WOLF_OK; +} + wolf_asio_completion_dispatcher_p wolf_asio_completion_dispatcher_new( wolf_error_t *error ) { wolf_asio_completion_dispatcher_p dispatcher; @@ -193,9 +205,16 @@ int main( void ) { return EXIT_FAILURE; } + error = wolf_asio_proc_accept( proc, accept_handler ); + if( error != WOLF_OK ) { + (void)wolf_asio_completion_dispatcher_free( dispatcher ); + (void)wolf_asio_proc_free( proc ); + return EXIT_FAILURE; + } + /* loop and wait for clients connecting */ while( 1 ) { - error = wolf_asio_proc_accept( proc, accept_handler ); + error = wolf_asio_proc_event_loop( proc ); if( error != WOLF_OK ) { (void)wolf_asio_completion_dispatcher_free( dispatcher ); (void)wolf_asio_proc_free( proc ); |