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  | 
