From 2e54086d8db842b65e9c895951fb8828a5c9b518 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 26 Apr 2009 20:13:19 +0200 Subject: more tests on proactor pattern --- tests/network/test_proactor.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'tests') 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 /* for size_t */ @@ -44,6 +45,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 @@ -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 ); -- cgit v1.2.3-54-g00ecf