From f019da2e338733dd88d3a8efe60f260d74b9a7ad Mon Sep 17 00:00:00 2001 From: polwex Date: Fri, 31 Oct 2025 22:59:42 +0700 Subject: fixes to iris request flow with threads --- app/lib/websockets.hoon | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'app/lib/websockets.hoon') diff --git a/app/lib/websockets.hoon b/app/lib/websockets.hoon index 4d1f952..98ea25b 100644 --- a/app/lib/websockets.hoon +++ b/app/lib/websockets.hoon @@ -1,17 +1,34 @@ |% - ++ give-ws-payload + ++ give-ws-payload-client + |= [wid=@ msg=websocket-message:eyre] + ^- card:agent:gall + =/ =cage + [%message !>(msg)] + =/ wsid (scot %ud wid) + [%give %fact ~[/websocket-client/[wsid]] cage] + + ++ give-ws-payload-server |= [wid=@ event=websocket-event:eyre] - ^- (list card:agent:gall) + ^- card:agent:gall =/ =cage [%websocket-response !>([wid event])] =/ wsid (scot %ud wid) - :~ [%give %fact ~[/websocket-server/[wsid]] cage] - == + [%give %fact ~[/websocket-server/[wsid]] cage] + ++ accept-handshake |= wid=@ =/ response [%accept ~] - (give-ws-payload wid response) + :~ + (give-ws-payload-server wid response) + == ++ refuse-handshake |= wid=@ =/ response [%reject ~] - (give-ws-payload wid response) + :~ + (give-ws-payload-server wid response) + == + ++ check-connected + |= [url=@t =bowl:gall] ^- (unit websocket-connection:iris) + =/ scry-path=path /(scot %p our.bowl)/ws/(scot %da now.bowl)/url/[url] + =/ conn .^((unit websocket-connection:iris) %ix scry-path) + conn -- -- cgit v1.2.3