HOOK: (raw) io-backend ( addr -- raw )
-HOOK: (receive) io-backend ( n buf datagram -- size addrspec )
+HOOK: (receive-unsafe) io-backend ( n buf datagram -- size addrspec )
ERROR: invalid-port object ;
: receive-unsafe ( n buf datagram -- count addrspec )
check-receive
- [ (receive) ] [ addr>> ] bi parse-sockaddr ; inline
+ [ (receive-unsafe) ] [ addr>> ] bi parse-sockaddr ; inline
CONSTANT: datagram-size 65536
2drop [ +input+ wait-for-port ] [ (receive-loop) ] bi
] if ; inline recursive
-M: unix (receive) ( n buf datagram -- count sockaddr )
+M: unix (receive-unsafe) ( n buf datagram -- count sockaddr )
(receive-loop) ;
:: do-send ( packet sockaddr len socket datagram -- )