Method: Hakuban::ObjectExposeContract#initialize
- Defined in:
- lib/hakuban/contract.rb
#initialize(exchange, descriptor, capacity, &block) ⇒ ObjectExposeContract
Returns a new instance of ObjectExposeContract.
57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/hakuban/contract.rb', line 57 def initialize(exchange, descriptor, capacity, &block) super() @exchange, @descriptor = exchange, descriptor Thread.handle_interrupt(Object => :never) { @exchange.with_pointer { |exchange_pointer| @descriptor.with_pointer { |descriptor_pointer| initialize_pointer(FFI::hakuban_object_expose_contract_new(exchange_pointer, descriptor_pointer, capacity),:hakuban_object_expose_contract_drop,nil) } } do_and_drop_or_return(&block) } end |