Class: Hakuban::ObjectStateSink

Inherits:
FFIObject show all
Includes:
Stream
Defined in:
lib/hakuban/object_state_sink.rb

Instance Method Summary collapse

Methods included from Stream

#each, #for_each, #for_each_concurrent, #for_each_in_thread, #for_each_till_next

Methods inherited from FFIObject

#do_and_drop_or_return, #drop, #dropped?, from_ffi_pointer, generate_finalizer, #initialize, #initialize_copy, #inspect, #with_pointer, with_pointers

Constructor Details

This class inherits a constructor from Hakuban::FFIObject

Instance Method Details

#descriptorObject



38
39
40
# File 'lib/hakuban/object_state_sink.rb', line 38

def descriptor
  Hakuban::FFIObject.from_ffi_pointer(Hakuban::ObjectDescriptor, with_pointer { |pointer| FFI::hakuban_object_state_sink_descriptor(pointer) })
end

#initialize_from_ffi_pointer(pointer) ⇒ Object



12
13
14
# File 'lib/hakuban/object_state_sink.rb', line 12

def initialize_from_ffi_pointer(pointer)
  super(pointer, :hakuban_object_state_sink_drop, nil)
end

#next(drop_at_the_end_of_block = true, &block) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/hakuban/object_state_sink.rb', line 20

def next(drop_at_the_end_of_block=true, &block)
  process_item(
    lambda { |pointer| FFI::hakuban_object_state_sink_next(pointer) },
    lambda { |pointer| FFIObject::from_ffi_pointer(ObjectStateSinkParams, pointer) },
    &block
  )
end

#send(object_state) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/hakuban/object_state_sink.rb', line 29

def send(object_state)
  process_item(
    lambda { |pointer| object_state.with_pointer { |object_state_pointer| FFI::hakuban_object_state_sink_send(pointer, object_state_pointer) } },
    lambda { |_pointer| nil },
    &lambda {}
  )
end