Sha256: 52b2b335a20f892cc8178f7488fa4dcc85000c9a9aef9c0013661b456529f5bd

Contents?: true

Size: 468 Bytes

Versions: 1

Compression:

Stored size: 468 Bytes

Contents

module Mutant
  module Actor

    # Sender for messages to acting thread
    class Sender
      include Concord.new(:thread, :mutex, :mailbox)

      # Send a message to actor
      #
      # @param [Object] message
      #
      # @return [self]
      #
      # @api private
      #
      def call(message)
        mutex.synchronize do
          mailbox << message
          thread.run
        end

        self
      end

    end # Sender
  end # Actor
end # Mutant

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mutant-0.7.1 lib/mutant/actor/sender.rb