diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-06-02 22:08:08 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-06-02 22:08:08 +0200 |
commit | ae7b1c31a84bdad05376ceccb8882286185f70d6 (patch) | |
tree | 5955d20358de9086279b5e8c0409866128059f65 /lib/iotas | |
parent | 2a461e013ed0dfe7601292d71b080d83b8edcbf0 (diff) | |
download | edoors-ruby-ae7b1c31a84bdad05376ceccb8882286185f70d6.zip edoors-ruby-ae7b1c31a84bdad05376ceccb8882286185f70d6.tar.gz |
add Particle#dst_reached! end use it
it allows us to reset Particle@dst before processing it
Diffstat (limited to 'lib/iotas')
-rw-r--r-- | lib/iotas/particle.rb | 6 | ||||
-rw-r--r-- | lib/iotas/spin.rb | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/iotas/particle.rb b/lib/iotas/particle.rb index 850c6ad..3cb48b3 100644 --- a/lib/iotas/particle.rb +++ b/lib/iotas/particle.rb @@ -134,6 +134,12 @@ module Iotas @dsts.shift end # + def dst_reached! + d = @dst + @dst = nil + d + end + # def error! e, dst=nil @action = Iotas::ACT_ERROR @dst = dst||@src diff --git a/lib/iotas/spin.rb b/lib/iotas/spin.rb index 6383ff9..e8c48e1 100644 --- a/lib/iotas/spin.rb +++ b/lib/iotas/spin.rb @@ -128,11 +128,11 @@ module Iotas while @run and (@sys_fifo.length>0 or @app_fifo.length>0) while @run and @sys_fifo.length>0 p = @sys_fifo.shift - p.dst.process_sys_p p + p.dst_reached!.process_sys_p p end while @run and @app_fifo.length>0 p = @app_fifo.shift - p.dst.process_p p + p.dst_reached!.process_p p break end end |