1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
fiber = require 'fiber'
---
...
test_run = require('test_run').new()
---
...
net = require('net.box')
---
...
--
-- On_connect/disconnect triggers.
--
test_run:cmd('create server connecter with script = "box/proxy.lua"')
---
- true
...
test_run:cmd('start server connecter')
---
- true
...
test_run:cmd("set variable connect_to to 'connecter.listen'")
---
- true
...
conn = net.connect(connect_to, { reconnect_after = 0.1 })
---
...
conn.state
---
- active
...
connected_cnt = 0
---
...
disconnected_cnt = 0
---
...
function on_connect() connected_cnt = connected_cnt + 1 end
---
...
function on_disconnect() disconnected_cnt = disconnected_cnt + 1 end
---
...
conn:on_connect(on_connect)
---
...
conn:on_disconnect(on_disconnect)
---
...
test_run:cmd('stop server connecter')
---
- true
...
test_run:cmd('start server connecter')
---
- true
...
while conn.state ~= 'active' do fiber.sleep(0.1) end
---
...
connected_cnt
---
- 1
...
old_disconnected_cnt = disconnected_cnt
---
...
disconnected_cnt >= 1
---
- true
...
conn:close()
---
...
disconnected_cnt == old_disconnected_cnt + 1
---
- true
...
test_run:cmd('stop server connecter')
---
- true
...
|