Working on Windows stability.
This commit is contained in:
parent
3a47372ff0
commit
d6d2ee820d
2 changed files with 16 additions and 12 deletions
|
@ -40,6 +40,7 @@ var _supernode := ""
|
||||||
var _super_port := 0
|
var _super_port := 0
|
||||||
var _local_port := 0
|
var _local_port := 0
|
||||||
var _local_ip := ""
|
var _local_ip := ""
|
||||||
|
var _kill_timer := 10
|
||||||
|
|
||||||
|
|
||||||
signal data_recieved(type: String, data: Array)
|
signal data_recieved(type: String, data: Array)
|
||||||
|
@ -48,15 +49,20 @@ signal network_died
|
||||||
|
|
||||||
func _on_timer_timeout():
|
func _on_timer_timeout():
|
||||||
if _edge_running:
|
if _edge_running:
|
||||||
|
_kill_timer = 10
|
||||||
if _udp.is_socket_connected():
|
if _udp.is_socket_connected():
|
||||||
_send("info")
|
_send("info")
|
||||||
_send("edges")
|
_send("edges")
|
||||||
else:
|
else:
|
||||||
_udp.bind(_my_port, "127.0.0.1")
|
_udp.bind(_my_port, "127.0.0.1")
|
||||||
_udp.connect_to_host("127.0.0.1", _management_port)
|
_udp.connect_to_host("127.0.0.1", _management_port)
|
||||||
|
else:
|
||||||
|
if _kill_timer > 0:
|
||||||
|
_kill_timer -= 1
|
||||||
else:
|
else:
|
||||||
if _edge_pid >= 0:
|
if _edge_pid >= 0:
|
||||||
if OS.is_process_running(_edge_pid):
|
if OS.is_process_running(_edge_pid):
|
||||||
|
print("Timer killing edge pid ", _edge_pid)
|
||||||
OS.kill(_edge_pid)
|
OS.kill(_edge_pid)
|
||||||
_edge_pid = -1
|
_edge_pid = -1
|
||||||
|
|
||||||
|
@ -125,10 +131,6 @@ func shutdown():
|
||||||
|
|
||||||
|
|
||||||
func start_edge():
|
func start_edge():
|
||||||
_timer = Timer.new()
|
|
||||||
_timer.wait_time = 3
|
|
||||||
_timer.autostart = true
|
|
||||||
_timer.timeout.connect(_on_timer_timeout)
|
|
||||||
var binary = OS.get_user_data_dir() + "/edge"
|
var binary = OS.get_user_data_dir() + "/edge"
|
||||||
var arguments = ["-t", _management_port, "--management-password", _password, "-c", _community, "-k", _key, "-l", _supernode + ":" + str(_super_port), "-p"]
|
var arguments = ["-t", _management_port, "--management-password", _password, "-c", _community, "-k", _key, "-l", _supernode + ":" + str(_super_port), "-p"]
|
||||||
if _local_ip != "":
|
if _local_ip != "":
|
||||||
|
@ -150,6 +152,10 @@ func start_edge():
|
||||||
|
|
||||||
|
|
||||||
func startup():
|
func startup():
|
||||||
|
_timer = Timer.new()
|
||||||
|
_timer.wait_time = 3
|
||||||
|
_timer.autostart = true
|
||||||
|
_timer.timeout.connect(_on_timer_timeout)
|
||||||
# Extract the edge binary.
|
# Extract the edge binary.
|
||||||
var binary = OS.get_user_data_dir() + "/edge"
|
var binary = OS.get_user_data_dir() + "/edge"
|
||||||
if OS.get_name() == "Windows":
|
if OS.get_name() == "Windows":
|
||||||
|
@ -163,8 +169,6 @@ func startup():
|
||||||
|
|
||||||
|
|
||||||
func stop_edge():
|
func stop_edge():
|
||||||
if _timer != null:
|
|
||||||
_timer.queue_free()
|
|
||||||
_send("stop", MODE_WRITE)
|
_send("stop", MODE_WRITE)
|
||||||
_udp.close()
|
_udp.close()
|
||||||
_edge_running = false
|
_edge_running = false
|
||||||
|
|
|
@ -112,8 +112,8 @@ func _tcp_server():
|
||||||
peer["tcp"] = new_peer
|
peer["tcp"] = new_peer
|
||||||
print("Updated peer ", peer["ip"], ":", peer["port"])
|
print("Updated peer ", peer["ip"], ":", peer["port"])
|
||||||
peer["tcp"].poll()
|
peer["tcp"].poll()
|
||||||
if peer["tcp"].get_status() == StreamPeerTCP.STATUS_CONNECTED:
|
#if peer["tcp"].get_status() == StreamPeerTCP.STATUS_CONNECTED:
|
||||||
peer["tcp"].set_no_delay(true) # ***TODO*** This throws an error some times.
|
# peer["tcp"].set_no_delay(true) # ***TODO*** This throws an error some times.
|
||||||
|
|
||||||
# Process incoming data and attempt connections.
|
# Process incoming data and attempt connections.
|
||||||
for peer in peerArray:
|
for peer in peerArray:
|
||||||
|
|
Loading…
Add table
Reference in a new issue