diff options
Diffstat (limited to 'lib/evendoors/twirl.rb')
-rw-r--r-- | lib/evendoors/twirl.rb | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/lib/evendoors/twirl.rb b/lib/evendoors/twirl.rb deleted file mode 100644 index cb01618..0000000 --- a/lib/evendoors/twirl.rb +++ /dev/null @@ -1,71 +0,0 @@ -#! /usr/bin/env ruby -# -*- coding: UTF-8 -*- - -# -module EvenDoors - # - class Twirl - # - @debug_routing = false - @debug_errors = false - @pool = {} # per particle class free list - @sys_fifo = [] # system particles fifo list - @app_fifo = [] # application particles fifo list - # - @run = false - # - class << self - # - attr_accessor :run, :debug_routing, :debug_errors - # - def release_p p - # hope there is no circular loop - while p2=p.merged_shift - release_p p2 - end - ( @pool[p.class] ||= [] ) << p - end - # - def require_p p_kls - l = @pool[p_kls] - return p_kls.new if l.nil? - p = l.pop - return p_kls.new if p.nil? - p.reset! - p - end - # - def send_p p - @app_fifo << p - end - # - def send_sys_p p - @sys_fifo << p - end - # - def twirl! - 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 - end - while @run and @app_fifo.length>0 - p = @app_fifo.shift - p.dst.process_p p - break - end - end - end - # - def clear! - @sys_fifo.clear - @app_fifo.clear - end - # - end - # - end - # -end -# -# EOF |