Overview
Comment: | wip |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.70-captain-ulex | v1.70-defunct-try |
Files: | files | file ages | folders |
SHA1: |
ad7092727d0240cb20788979b288e600 |
User & Date: | mrwellan on 2020-01-02 19:48:57 |
Other Links: | branch diff | manifest | tags |
Context
2020-01-02
| ||
21:39 | wip check-in: b95526b7f3 user: matt tags: v1.70-captain-ulex, v1.70-defunct-try | |
19:48 | wip check-in: ad7092727d user: mrwellan tags: v1.70-captain-ulex, v1.70-defunct-try | |
2020-01-01
| ||
23:28 | wip check-in: 852e127507 user: matt tags: v1.70-captain-ulex, v1.70-defunct-try | |
Changes
Modified ulex/ulex.scm from [b8061e96e6] to [d39aeae93d].
︙ | ︙ | |||
168 169 170 171 172 173 174 | ;; create a tcp listener and return a populated udat struct with ;; my port, address, hostname, pid etc. ;; return #f if fail to find a port to allocate. ;; (define (start-server-find-port udata #!optional (port 4242)) (handle-exceptions exn | | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | ;; create a tcp listener and return a populated udat struct with ;; my port, address, hostname, pid etc. ;; return #f if fail to find a port to allocate. ;; (define (start-server-find-port udata #!optional (port 4242)) (handle-exceptions exn (if (< port 65535)(start-server-find-port udata (+ port 1)) #f) (connect-server udata port))) (define (connect-server udata port) ;; (tcp-listener-socket LISTENER)(socket-name so) ;; sockaddr-address, sockaddr-port, sockaddr->string (let* ((tlsn (tcp-listen port 1000 #f)) ;; (tcp-listen TCPPORT [BACKLOG [HOST]]) (addr (get-my-best-address))) ;; (hostinfo-addresses (host-information (current-hostname))) |
︙ | ︙ | |||
253 254 255 256 257 258 259 | handler " " (udat-my-address udata) ":" (udat-my-port udata) " " (udat-my-hostname udata) " " (udat-my-pid udata) " " qrykey) oup) (write-line data oup))) ;; we must send a second line - for the ack let it be the qrykey | | > > > | | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | handler " " (udat-my-address udata) ":" (udat-my-port udata) " " (udat-my-hostname udata) " " (udat-my-pid udata) " " qrykey) oup) (write-line data oup))) ;; we must send a second line - for the ack let it be the qrykey (define (add-to-work-queue udata . blah) #f) ;; send back ack ;; (define (send-ack udata host-port qrykey #!optional (hostname #f)(pid #f)) (reply udata "ack" qrykey qrykey hostname pid)) ;; we must send a second line - for the ack let it be the qrykey ;; ;; (define (ulex-handler udata) (let* ((serv-listener (udat-serv-listener udata))) (let-values (((inp oup)(tcp-accept serv-listener))) ;; data comes as two lines |
︙ | ︙ | |||
280 281 282 283 284 285 286 | ((ack)(print "Got ack!")) ((rucaptain) (reply udata host:port "iamcaptain" qrykey (if (udat-my-cpkt-key udata) "yes" "no"))) (else (send-ack udata host:port qrykey hostname pid) | | | | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | ((ack)(print "Got ack!")) ((rucaptain) (reply udata host:port "iamcaptain" qrykey (if (udat-my-cpkt-key udata) "yes" "no"))) (else (send-ack udata host:port qrykey hostname pid) (add-to-work-queue udata (get-peer-dat udata host:port) handlerkey data))) (else (print "BAD DATA? handler=" handlerkey " data=" data))))) (loop state))))) ;;====================================================================== ;; connection setup and management functions ;;====================================================================== ;; find or become the captain, return a ulex object |
︙ | ︙ |