summaryrefslogtreecommitdiff
path: root/src/router_test.moon
blob: e8d67c86304a51e2cc2e4bd3bfccb9e8706ad9aa (plain)
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
import Router from require("router")
ui = require("ui")

button_client = ui.button(0,0,100,100,"Client")
client_id = ui.textbox(0,100,100,32,"")
button_server = ui.button(-300,0,100,100,"Server")
co = nil
button_client.on = () =>
	if not co
		co = coroutine.create((id) ->
			router = Router!
			print("Made router!")
			router\initalize(id)
			print("Finished initalize!")
			router
		)
	print("Pumping... " .. coroutine.status(co))
	if coroutine.status(co) ~= "dead"
		succ, err = coroutine.resume(co, client_id.text.text)
		if not succ
			error(debug.traceback(co,err))
		if type(err) == "string"
			print(err)
			@text.text = err
		else
			router = err
	print("Got to the end of co!")
button_server.on = () =>
	if not co
		co = coroutine.create(() ->
			router = Router!
			router\initalize!
			router
		)
	print("Pumping... " .. coroutine.status(co))
	if coroutine.status(co) ~= "dead"
		succ, err = coroutine.resume(co)
		if not succ
			error(debug.traceback(co,err))
		if err 
			if coroutine.status(co) ~= "dead"
				print(err)
				@text.text = err
			else
				print("Got router", err)
				@text.text = err.peer.id