Sha256: 99583f4517080fd10c52789867d1bff7540a9bbe0664be122770b764aaac7f6c

Contents?: true

Size: 695 Bytes

Versions: 1

Compression:

Stored size: 695 Bytes

Contents

require_relative 'pf2/pf2'
require_relative 'pf2/version'

module Pf2
  class Error < StandardError; end

  def self.default_scheduler_class
    # SignalScheduler is Linux-only. Use TimerThreadScheduler on other platforms.
    if defined?(SignalScheduler)
      SignalScheduler
    else
      TimerThreadScheduler
    end
  end

  def self.default_scheduler
    @@default_scheduler ||= default_scheduler_class.new
  end

  def self.start(...)
    default_scheduler.start(...)
  end

  def self.stop(...)
    default_scheduler.stop(...)
  end

  def self.profile(&block)
    raise ArgumentError, "block required" unless block_given?
    start([Thread.current], true)
    yield
    stop
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pf2-0.2.0 lib/pf2.rb