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