Sha256: 1bc3a303fdf9d5c19936192f85c80285428ded8e89a11ddfb35f0e923fd6f692
Contents?: true
Size: 375 Bytes
Versions: 35
Compression:
Stored size: 375 Bytes
Contents
require "thread" module Errplane class MaxQueue < Queue attr_reader :max def initialize(max = 10_000) raise ArgumentError, "queue size must be positive" unless max > 0 @max = max Errplane::Worker.spawn_threads if Errplane::Worker.current_thread_count.zero? super() end def push(obj) super if length < @max end end end
Version data entries
35 entries across 35 versions & 1 rubygems