diff options
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 ); |