Sha256: 56f4271a7fe435e16427f3aaea8aaedb88133834a58060708c45cd580ef5a4e6

Contents?: true

Size: 799 Bytes

Versions: 8

Compression:

Stored size: 799 Bytes

Contents

require "celluloid/fiber"

module Celluloid
  class Thread < ::Thread
    def celluloid?
      true
    end

    attr_accessor :busy

    # Obtain the role of this thread
    def role
      self[:celluloid_role]
    end

    def role=(role)
      self[:celluloid_role] = role
    end

    # Obtain the Celluloid::Actor object for this thread
    def actor
      self[:celluloid_actor]
    end

    # Obtain the Celluloid task object for this thread
    def task
      self[:celluloid_task]
    end

    # Obtain the Celluloid mailbox for this thread
    def mailbox
      self[:celluloid_mailbox]
    end

    # Obtain the call chain ID for this thread
    def call_chain_id
      self[:celluloid_chain_id]
    end

    def <<(proc)
      self[:celluloid_queue] << proc
      self
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
celluloid-0.17.4 lib/celluloid/thread.rb
celluloid-0.18.0.pre lib/celluloid/thread.rb
celluloid-0.17.3 lib/celluloid/thread.rb
celluloid-0.17.2 lib/celluloid/thread.rb
celluloid-0.17.1.2 lib/celluloid/thread.rb
celluloid-0.17.1.1 lib/celluloid/thread.rb
celluloid-0.17.1 lib/celluloid/thread.rb
celluloid-0.17.0 lib/celluloid/thread.rb