Sha256: 7f1343063baf26db0135b58d3b52298007adae335aaf439fb6c7aec3136d53dc

Contents?: true

Size: 571 Bytes

Versions: 3

Compression:

Stored size: 571 Bytes

Contents

module Rpush
  module Daemon
    class DispatcherLoopCollection
      attr_reader :loops

      def initialize
        @loops = []
      end

      def push(dispatcher_loop)
        @loops << dispatcher_loop
      end

      def pop
        dispatcher_loop = @loops.pop
        dispatcher_loop.stop
        dispatcher_loop.wakeup
        @loops.map(&:wakeup)
        dispatcher_loop.wait
      end

      def size
        @loops.size
      end

      def stop
        @loops.map(&:stop)
        @loops.map(&:wakeup)
        @loops.map(&:wait)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rpush-2.0.0.beta1 lib/rpush/daemon/dispatcher_loop_collection.rb
rpush-1.0.0-java lib/rpush/daemon/dispatcher_loop_collection.rb
rpush-1.0.0 lib/rpush/daemon/dispatcher_loop_collection.rb