dns.server: do work in separate thread
parent
1883929dee
commit
b8f1d71d2e
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
USING: kernel combinators sequences sets math
|
USING: kernel combinators sequences sets math threads
|
||||||
io.sockets unicode.case accessors
|
io.sockets unicode.case accessors
|
||||||
combinators.cleave combinators.lib
|
combinators.cleave combinators.lib
|
||||||
newfx
|
newfx fry
|
||||||
dns dns.util dns.misc ;
|
dns dns.util dns.misc ;
|
||||||
|
|
||||||
IN: dns.server
|
IN: dns.server
|
||||||
|
@ -204,15 +204,18 @@ DEFER: query->rrs
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
: loop ( -- )
|
: (handle-request) ( byte-array addr-spec -- )
|
||||||
socket receive
|
>r
|
||||||
swap
|
|
||||||
parse-message
|
parse-message
|
||||||
find-answer
|
find-answer
|
||||||
message->ba
|
message->ba
|
||||||
swap
|
r>
|
||||||
socket send
|
socket send ;
|
||||||
loop ;
|
|
||||||
|
: handle-request ( byte-array addr-spec -- )
|
||||||
|
'[ , , (handle-request) ] in-thread ;
|
||||||
|
|
||||||
|
: loop ( -- ) socket receive handle-request loop ;
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue