summaryrefslogtreecommitdiffstats
path: root/lib/evendoors
diff options
context:
space:
mode:
Diffstat (limited to 'lib/evendoors')
-rw-r--r--lib/evendoors/room.rb37
-rw-r--r--lib/evendoors/twirl.rb4
2 files changed, 21 insertions, 20 deletions
diff --git a/lib/evendoors/room.rb b/lib/evendoors/room.rb
index f619f10..3c7ebc6 100644
--- a/lib/evendoors/room.rb
+++ b/lib/evendoors/room.rb
@@ -74,53 +74,54 @@ module EvenDoors
(not pending_link.nil?)
end
#
- def route_p p, door_name
- if door_name.empty?
+ def route_p p
+ if p.door.empty?
p.error! EvenDoors::ERROR_ROUTE_NDN
elsif p.room.nil? or p.room==path
- if door = @spots[door_name]
- p.dst_done! door
+ if door = @spots[p.door]
+ p.dst_routed! door
else
p.error! EvenDoors::ERROR_ROUTE_RRWD
end
elsif @parent
- @parent.route_p p, door_name
+ @parent.route_p p
else
p.error! EvenDoors::ERROR_ROUTE_TRWR
end
end
#
def send_p p
- if d = p.dst
- puts " * send #{d.to_str} ..." if EvenDoors::Twirl.debug
- route_p p, p.split_dst!
- puts " -> #{p.door.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug
+ if p.next_dst
+ puts " * send #{p.next_dst.to_str} ..." if EvenDoors::Twirl.debug
+ p.split_dst!
+ route_p p
+ puts " -> #{p.dst.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug
EvenDoors::Twirl.send_p p
elsif not try_links p
p.error! EvenDoors::ERROR_ROUTE_NDNL
- puts " -> #{p.door.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug
+ puts " -> #{p.dst.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug
EvenDoors::Twirl.send_p p
end
end
#
def send_sys_p p
- if d = p.dst
- puts " * send_sys #{d.to_str} ..." if EvenDoors::Twirl.debug
- door_name = p.split_dst!
- if door_name.empty?
+ if p.next_dst
+ puts " * send_sys #{p.next_dst.to_str} ..." if EvenDoors::Twirl.debug
+ p.split_dst!
+ if p.door.empty?
if p.action.nil?
p.error! EvenDoors::ERROR_ROUTE_SNDNA
else
- p.dst_done! space
+ p.dst_routed! space
end
else
- route_p p, door_name
+ route_p p
end
- puts " -> #{p.door.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug
+ puts " -> #{p.dst.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug
EvenDoors::Twirl.send_sys_p p
else
p.error! EvenDoors::ERROR_ROUTE_SND
- puts " -> #{p.door.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug
+ puts " -> #{p.dst.path}#{EvenDoors::ACT_SEP}#{p.action}" if EvenDoors::Twirl.debug
EvenDoors::Twirl.send_sys_p p
end
end
diff --git a/lib/evendoors/twirl.rb b/lib/evendoors/twirl.rb
index 9f38bf6..b3eca89 100644
--- a/lib/evendoors/twirl.rb
+++ b/lib/evendoors/twirl.rb
@@ -46,11 +46,11 @@ module EvenDoors
while @run and (@sys_fifo.length>0 or @app_fifo.length>0)
while @run and @sys_fifo.length>0
p = @sys_fifo.shift
- p.door.process_sys_p p
+ p.dst.process_sys_p p
end
while @run and @app_fifo.length>0
p = @app_fifo.shift
- p.door.process_p p
+ p.dst.process_p p
break
end
end