Lines Matching defs:wsi

96 	struct lws *wsi = (struct lws *)((uv_handle_t *)watcher)->data;
97 struct lws_context *context = wsi->a.context;
98 struct lws_context_per_thread *pt = &context->pt[(int)wsi->tsi];
148 lws_service_fd_tsi(context, &eventfd, wsi->tsi);
166 * wsi, and set a flag; when all the wsi closures are finalized then we
288 * That's it... all wsi were down, and now every
346 lws_libuv_check_watcher_active(struct lws *wsi)
348 uv_handle_t *h = (uv_handle_t *)wsi_to_priv_uv(wsi)->w_read.pwatcher;
425 elops_wsi_logical_close_uv(struct lws *wsi)
427 if (!lws_socket_is_valid(wsi->desc.sockfd) &&
428 wsi->role_ops && strcmp(wsi->role_ops->name, "raw-file") &&
429 !wsi_to_priv_uv(wsi)->w_read.pwatcher)
432 if (wsi->listener || wsi->event_pipe) {
433 lwsl_wsi_debug(wsi, "%d %d stop listener / pipe poll",
434 wsi->listener,
435 wsi->event_pipe);
436 if (wsi_to_priv_uv(wsi)->w_read.pwatcher)
437 uv_poll_stop(wsi_to_priv_uv(wsi)->w_read.pwatcher);
439 lwsl_wsi_debug(wsi, "lws_libuv_closehandle");
443 lws_libuv_closehandle(wsi);
445 return 1; /* do not complete the wsi close, uv close cb will do it */
449 elops_check_client_connect_ok_uv(struct lws *wsi)
451 if (lws_libuv_check_watcher_active(wsi)) {
452 lwsl_wsi_warn(wsi, "Waiting for libuv watcher to close");
470 elops_close_handle_manually_uv(struct lws *wsi)
472 uv_handle_t *h = (uv_handle_t *)wsi_to_priv_uv(wsi)->w_read.pwatcher;
474 lwsl_wsi_debug(wsi, "lws_libuv_closehandle");
480 h->data = (void *)(lws_intptr_t)wsi->desc.sockfd;
484 * Remove any trace from the wsi.
487 wsi->desc.sockfd = LWS_SOCK_INVALID;
488 wsi_to_priv_uv(wsi)->w_read.pwatcher = NULL;
489 wsi->told_event_loop_closed = 1;
495 elops_accept_uv(struct lws *wsi)
497 struct lws_context_per_thread *pt = &wsi->a.context->pt[(int)wsi->tsi];
499 struct lws_io_watcher_libuv *w_read = &wsi_to_priv_uv(wsi)->w_read;
508 w_read->context = wsi->a.context;
514 if (wsi->role_ops->file_handle)
516 (int)(lws_intptr_t)wsi->desc.filefd);
519 w_read->pwatcher, wsi->desc.sockfd);
522 lwsl_wsi_err(wsi, "uv_poll_init failed %d, sockfd=%p", n,
523 (void *)(lws_intptr_t)wsi->desc.sockfd);
529 ((uv_handle_t *)w_read->pwatcher)->data = (void *)wsi;
533 lwsl_wsi_debug(wsi, "thr %d: sa left %d: dyn left: %d",
542 elops_io_uv(struct lws *wsi, unsigned int flags)
544 struct lws_context_per_thread *pt = &wsi->a.context->pt[(int)wsi->tsi];
545 struct lws_io_watcher_libuv *w = &(wsi_to_priv_uv(wsi)->w_read);
548 lwsl_wsi_debug(wsi, "%d", flags);
553 lwsl_wsi_info(wsi, "no io loop yet");
559 lwsl_wsi_err(wsi, "assert: flags %d", flags);
563 if (!w->pwatcher || wsi->told_event_loop_closed) {
564 lwsl_wsi_info(wsi, "no watcher");
594 elops_init_vhost_listen_wsi_uv(struct lws *wsi)
601 if (!wsi)
604 w_read = &wsi_to_priv_uv(wsi)->w_read;
609 pt = &wsi->a.context->pt[(int)wsi->tsi];
614 w_read->context = wsi->a.context;
621 w_read->pwatcher, wsi->desc.sockfd);
623 lwsl_wsi_err(wsi, "uv_poll_init failed %d, sockfd=%p", n,
624 (void *)(lws_intptr_t)wsi->desc.sockfd);
631 lwsl_wsi_debug(wsi, "thr %d: sa left %d: dyn left: %d",
636 ((uv_handle_t *)w_read->pwatcher)->data = (void *)wsi;
638 elops_io_uv(wsi, LWS_EV_START | LWS_EV_READ);
701 struct lws *wsi = lws_container_of(d, struct lws, listen_list);
703 if (elops_init_vhost_listen_wsi_uv(wsi) == -1)
770 * Initialize the accept wsi read watcher with all the listening sockets
790 struct lws *wsi = (struct lws *)handle->data;
791 struct lws_context *context = lws_get_context(wsi);
792 struct lws_context_per_thread *pt = &context->pt[(int)wsi->tsi];
798 // lwsl_wsi_notice(wsi, "in");
803 * We get called back here for every wsi that closes
807 if (wsi->role_ops && !strcmp(wsi->role_ops->name, "listen") &&
808 wsi->a.context->deprecated) {
818 lwsl_wsi_info(wsi, "thr %d: sa left %d: dyn left: %d (rk %d)",
824 __lws_close_free_wsi_final(wsi);
840 * eventually, we closed all the wsi...
861 lws_libuv_closehandle(struct lws *wsi)
864 struct lws_io_watcher_libuv *w_read = &wsi_to_priv_uv(wsi)->w_read;
869 if (wsi->told_event_loop_closed)
872 // lwsl_wsi_debug(wsi, "in");
874 wsi->told_event_loop_closed = 1;
877 * The normal close path attaches the related wsi as the
925 /* destroy wsi */ NULL,