Class: Celluloid::AsyncCall

Inherits:
Call show all
Defined in:
lib/vendor/celluloid/lib/celluloid/calls.rb

Overview

Asynchronous calls don’t wait for a response

Instance Attribute Summary

Attributes inherited from Call

#arguments, #block, #caller, #id, #method

Instance Method Summary collapse

Methods inherited from Call

#check_signature, #initialize

Constructor Details

This class inherits a constructor from Celluloid::Call

Instance Method Details

#dispatch(obj) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/vendor/celluloid/lib/celluloid/calls.rb', line 79

def dispatch(obj)
  begin
    check_signature(obj)
  rescue Exception => ex
    Logger.crash("#{obj.class}: async call failed!", ex)
    return
  end

  obj.send(@method, *@arguments, &@block)
rescue AbortError => ex
  # Swallow aborted async calls, as they indicate the caller made a mistake
  Logger.crash("#{obj.class}: async call aborted!", ex)
end