1 A handle may watch for priority data alone. TCP urgent data invokes the 2 callback with ULOOP_PRIORITY. 3 4 -- Testcase -- 5 {% 6 import * as uloop from 'uloop'; 7 import * as socket from 'socket'; 8 9 if (!uloop.ULOOP_PRIORITY) 10 exit(77); 11 12 uloop.init(); 13 14 let hints = { family: socket.AF_INET, socktype: socket.SOCK_STREAM }; 15 let server = socket.listen('127.0.0.1', 0, hints); 16 let client = socket.connect('127.0.0.1', server.sockname().port, hints); 17 let peer = server.accept(); 18 let events = []; 19 20 let handle = uloop.handle(peer, (flags) => { 21 push(events, [ flags, peer.recv(1, socket.MSG_OOB) ]); 22 }, uloop.ULOOP_PRIORITY); 23 24 printf("handle: %s\n", type(handle)); 25 26 client.send('!', socket.MSG_OOB); 27 28 uloop.timer(100, () => uloop.end()); 29 uloop.run(); 30 31 printf("events: %J\n", events); 32 printf("priority: %s\n", events[0]?.[0] == uloop.ULOOP_PRIORITY); 33 34 handle.delete(); 35 peer.close(); 36 client.close(); 37 server.close(); 38 uloop.done(); 39 %} 40 -- End -- 41 42 -- Expect stdout -- 43 handle: resource 44 events: [ [ 128, "!" ] ] 45 priority: true 46 -- End -- 47 48 -- Platform -- 49 Linux 50 -- End --
This page was automatically generated by LXR 0.3.1. • OpenWrt