Class: Concurrent::SerializedExecutionDelegator
- Inherits:
- 
      SimpleDelegator
      
        - Object
- SimpleDelegator
- Concurrent::SerializedExecutionDelegator
 
- Defined in:
- lib/concurrent/executor/serialized_execution_delegator.rb
Overview
A wrapper/delegator for any ExecutorService that
guarantees serialized execution of tasks.
Instance Method Summary collapse
- 
  
    
      #initialize(executor)  ⇒ SerializedExecutionDelegator 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of SerializedExecutionDelegator. 
- 
  
    
      #post(*args) { ... } ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Submit a task to the executor for asynchronous processing. 
Constructor Details
#initialize(executor) ⇒ SerializedExecutionDelegator
Returns a new instance of SerializedExecutionDelegator.
| 15 16 17 18 19 | # File 'lib/concurrent/executor/serialized_execution_delegator.rb', line 15 def initialize(executor) @executor = executor @serializer = SerializedExecution.new super(executor) end | 
Instance Method Details
#post(*args) { ... } ⇒ Boolean
Submit a task to the executor for asynchronous processing.
| 22 23 24 25 26 | # File 'lib/concurrent/executor/serialized_execution_delegator.rb', line 22 def post(*args, &task) raise ArgumentError.new('no block given') unless block_given? return false unless running? @serializer.post(@executor, *args, &task) end |