Sha256: fdf9dbc1bc2fdbf6a38b3f7c4c21de0109eb41e24bae60225dbb7aa5f7a6bfe6
Contents?: true
Size: 1.09 KB
Versions: 3
Compression:
Stored size: 1.09 KB
Contents
require 'concurrent/actor/type_check' module Concurrent module Actor class Envelope include TypeCheck # @!attribute [r] message # @return [Object] a message # @!attribute [r] future # @return [Edge::Future] a future which becomes resolved after message is processed # @!attribute [r] sender # @return [Reference, Thread] an actor or thread sending the message # @!attribute [r] address # @return [Reference] where this message will be delivered attr_reader :message, :future, :sender, :address def initialize(message, future, sender, address) @message = message @future = Type! future, Promises::ResolvableFuture, NilClass @sender = Type! sender, Reference, Thread @address = Type! address, Reference end def sender_path if sender.is_a? Reference sender.path else sender.to_s end end def address_path address.path end def reject!(error) future.reject error unless future.nil? end end end end
Version data entries
3 entries across 3 versions & 1 rubygems