From 9c44faa81105f9620c55009302be88c9e69887bb Mon Sep 17 00:00:00 2001 From: Rahix Date: Tue, 16 Apr 2019 21:09:37 +0200 Subject: [PATCH] Fix network mock Signed-off-by: Rahix --- event.lua | 2 +- network.lua | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/event.lua b/event.lua index 083a564bbf91..2ff638074586 100644 --- a/event.lua +++ b/event.lua @@ -28,7 +28,7 @@ end function event.pullFiltered(timeout, filter) while true do local msg = table.pack(network.pull()) - if msg == nil then + if msg[1] == nil then return nil elseif filter(table.unpack(msg)) then return table.unpack(msg) diff --git a/network.lua b/network.lua index 3cc4fdc66d88..e45a125fb17b 100644 --- a/network.lua +++ b/network.lua @@ -64,18 +64,19 @@ function network.pull() local message = inject_message[current_node][1] table.remove(inject_message[current_node], 1) - -- print("pulled "..require("serialization").serialize(message)) - -- Actually send the injected message now + -- but save the last latest_message + local latest = latest_message[current_node] table.insert(active_node, message.from) network.send(current_node, message.port, message.msg) active_node[#active_node] = nil + latest_message[current_node] = latest return "modem_message", current_node, message.from, message.port, 0, message.msg end if latest_message[current_node] == nil then - error("Tried to pull while no message was available") + return nil end local message = latest_message[current_node]