]> gitweb.factorcode.org Git - factor.git/blob - basis/io/servers/packet/datagram.factor
Updating code for make and fry changes
[factor.git] / basis / io / servers / packet / datagram.factor
1 IN: io.servers.datagram
2
3 <PRIVATE
4
5 LOG: received-datagram NOTICE
6
7 : datagram-loop ( quot datagram -- )
8     [
9         [ receive dup received-datagram [ swap call ] dip ] keep
10         pick [ send ] [ 3drop ] if
11     ] 2keep datagram-loop ; inline
12
13 : spawn-datagrams ( quot addrspec -- )
14     <datagram> [ datagram-loop ] with-disposal ; inline
15
16 \ spawn-datagrams NOTICE add-input-logging
17
18 PRIVATE>
19
20 : with-datagrams ( seq service quot -- )
21     '[ [ [ _ ] dip spawn-datagrams ] parallel-each ] with-logging ; inline