Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
    npro  
 Modern all-safe Rust Network Protocol library supporting h1, h2, h3, ws, wt sans-IO and with socket IO + tls
git clone https://npro.rs/repo/npro
 
root / READMEs / README-sai-push.md
Author[]Andy Green <andy@warmcat.com> 2025-04-27 05:46 UTC
Committer[]Andy Green <andy@warmcat.com> 2025-04-27 09:54 UTC
Tree8cdbb443f9ebce29bb877b16e2d0a8292ea37e29   Raw Patch
 
debug-builders
debug-builders
diff --git a/src/server/s-websrv.c b/src/server/s-websrv.c index 5d39fd4..1db4f46 100644 --- a/src/server/s-websrv.c +++ b/src/server/s-websrv.c @@ -121,6 +121,8 @@ _sais_websrv_broadcast(struct lws_ss_handle *h, void *arg) websrvss_srv_t *m = (websrvss_srv_t *)lws_ss_to_user_object(h); sais_websrv_broadcast_t *a = (sais_websrv_broadcast_t *)arg; + lwsl_err("%s: entry\n", __func__); + if (lws_buflist_append_segment(&m->bltx, a->buf, a->len) < 0) { lwsl_warn("%s: buflist append fail\n", __func__); @@ -154,6 +156,8 @@ sais_list_builders(struct vhd *vhd) size_t w; int n; + lwsl_err("%s: entry\n", __func__); + p += lws_snprintf((char *)p, lws_ptr_diff_size_t(end, p), "{\"schema\":\"sai-builders\"," "\"platforms\":["); @@ -166,8 +170,10 @@ sais_list_builders(struct vhd *vhd) lsm_schema_map_plat_simple, LWS_ARRAY_SIZE(lsm_schema_map_plat_simple), 0, b); - if (!js) + if (!js) { + lwsl_err("%s: failed at json serialize create\n", __func__); return 1; + } if (subsequent) *p++ = ','; subsequent = 1; @@ -177,13 +183,25 @@ sais_list_builders(struct vhd *vhd) p += w; lws_struct_json_serialize_destroy(&js); - if (n == LSJS_RESULT_ERROR) + if (n == LSJS_RESULT_ERROR) { + lwsl_err("%s: json serialize error\n", __func__); return 1; + } walk = walk->next; if (!walk) { + + /* end of the list of builders */ + p += lws_snprintf((char *)p, lws_ptr_diff_size_t(end, p), "]}"); + /* + * This is the SERVER's WEB daemon server, broadcasting to all connected clients (the WEB daemons)... + * the list of BUILDERS + */ + + lwsl_ss_err(vhd->h_ss_websrv, "sai-server's WEB daemon server broadcasting to all WEB daemons: %s\n", vhd->json_builders); + sais_websrv_broadcast(vhd->h_ss_websrv, vhd->json_builders, lws_ptr_diff_size_t(p, vhd->json_builders)); @@ -467,6 +485,8 @@ websrvss_ws_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, char som, eom; int used; + lwsl_err("%s: entry\n", __func__); + if (!m->bltx) return LWSSSSRET_TX_DONT_SEND; diff --git a/src/web/w-comms.c b/src/web/w-comms.c index 35002ae..717a811 100644 --- a/src/web/w-comms.c +++ b/src/web/w-comms.c @@ -134,7 +134,7 @@ sais_event_db_ensure_open(struct vhd *vhd, const char *event_uuid, char filepath[256], saf[33]; sais_sqlite_cache_t *sc; - lwsl_notice("%s: (sai-web) entry\n", __func__); +// lwsl_notice("%s: (sai-web) entry\n", __func__); if (*ppdb) return 0; @@ -400,6 +400,8 @@ callback_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, if (!vhd) return -1; + lwsl_err("web-callback-ws: LWS_CALLBACK_PROTOCOL_INIT\n"); + vhd->context = lws_get_context(wsi); vhd->vhost = lws_get_vhost(wsi); @@ -1096,7 +1098,7 @@ clean_spa: case LWS_CALLBACK_CLOSED: - lwsl_info("%s: CLOSED browse conn\n", __func__); + lwsl_err("%s: CLOSED browse conn\n", __func__); lws_dll2_remove(&pss->same); lws_dll2_remove(&pss->subs_list); diff --git a/src/web/w-websrv.c b/src/web/w-websrv.c index 8ab9359..3d9316f 100644 --- a/src/web/w-websrv.c +++ b/src/web/w-websrv.c @@ -72,8 +72,8 @@ saiw_lp_rx(void *userobj, const uint8_t *buf, size_t len, int flags) sai_browse_rx_evinfo_t *ei; int n; - // lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); - // lwsl_hexdump_info(buf, len); + lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + lwsl_hexdump_notice(buf, len); if (flags & LWSSS_FLAG_SOM) { memset(&m->a, 0, sizeof(m->a)); diff --git a/src/web/w-ws-browser.c b/src/web/w-ws-browser.c index dfa6418..16f1432 100644 --- a/src/web/w-ws-browser.c +++ b/src/web/w-ws-browser.c @@ -954,6 +954,8 @@ so_finish: pss->authorized, pss->authorized ? pss->expiry_unix_time - lws_now_secs() : 0, lws_json_purify(esc1, pss->auth_user, sizeof(esc1) - 1, &iu)); + lwsl_err("%s: vhd %p vhd->builders %p\n", __func__, vhd, vhd ? vhd->builders : NULL); + if (vhd && vhd->builders) { lwsac_reference(vhd->builders); sch->walk = lws_dll2_get_head(vhd->builders_owner);
Page fetched 0s ago, creation time: 13ms (vhost etag hits: 0%, cache hits: 0%)