chore: add example for testing blocking tasks
This commit is contained in:
parent
f78738ca92
commit
854e8c3809
5 changed files with 53 additions and 0 deletions
38
example/blocking.c
Normal file
38
example/blocking.c
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#include <unistd.h>
|
||||
|
||||
#include "lnm/log.h"
|
||||
#include "lnm/http/loop.h"
|
||||
|
||||
lnm_err ctx_init(void **c_ctx, void *gctx) {
|
||||
*c_ctx = NULL;
|
||||
|
||||
return lnm_err_ok;
|
||||
}
|
||||
|
||||
void ctx_reset(void *c_ctx) {}
|
||||
void ctx_free(void *c_ctx) {}
|
||||
|
||||
lnm_http_step_err slow_step(lnm_http_conn *conn) {
|
||||
sleep(1);
|
||||
|
||||
return lnm_http_step_err_done;
|
||||
}
|
||||
|
||||
int main() {
|
||||
lnm_http_loop *hl;
|
||||
lnm_http_step *step = NULL;
|
||||
lnm_http_route *route;
|
||||
|
||||
lnm_http_loop_init(&hl, NULL, ctx_init,
|
||||
ctx_reset,
|
||||
ctx_free);
|
||||
|
||||
lnm_http_step_init(&step, slow_step);
|
||||
lnm_http_route_init_literal(&route, lnm_http_method_get, "/", step);
|
||||
lnm_http_loop_route_add(hl, route);
|
||||
|
||||
lnm_log_init_global();
|
||||
lnm_log_register_stdout(lnm_log_level_debug);
|
||||
|
||||
lnm_http_loop_run(hl, 8080, 1);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue