Sha256: 05b85b1bdbb29c8be32f05803fae7e32af23a1ef7ea041448d1f49c02c7050af

Contents?: true

Size: 491 Bytes

Versions: 6

Compression:

Stored size: 491 Bytes

Contents

module FSSM::Backends
  class Polling
  def initialize(options={})
    @handlers  = []
    @latency   = options[:latency]   || 1
  end
  
  def add_path(path, preload=true)
    @handlers << FSSM::State.new(path, preload)
  end
  
  def run
    begin
      loop do
        start = Time.now.to_f
        @handlers.each {|handler| handler.refresh}
        nap_time = @latency - (Time.now.to_f - start)
        sleep nap_time if nap_time > 0
      end
    rescue Interrupt
    end
  end
end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
chriseppstein-compass-0.8.13 lib/vendor/fssm/backends/polling.rb
compass-edge-0.9.4 lib/vendor/fssm/backends/polling.rb
compass-edge-0.9.3 lib/vendor/fssm/backends/polling.rb
compass-edge-0.9.2 lib/vendor/fssm/backends/polling.rb
compass-edge-0.9.1 lib/vendor/fssm/backends/polling.rb
compass-edge-0.10.0.pre lib/vendor/fssm/backends/polling.rb