class Hakuban::ObjectObserveState
Attributes
data[R]
data_type[R]
data_version[R]
synchronized[R]
Public Class Methods
finalize(raw_state)
click to toggle source
# File lib/hakuban/hakuban.rb, line 370 def ObjectObserveState.finalize(raw_state) proc { |_| FFI::hakuban_object_observe_state_return(raw_state) } end
new(raw_state, deserializer)
click to toggle source
# File lib/hakuban/hakuban.rb, line 361 def initialize(raw_state, deserializer) @raw_state = raw_state @synchronized = (raw_state[:synchronized] == 1) @data_version = raw_state[:version].read_array_of_type(::FFI::TYPE_INT64, :read_int64, raw_state[:version_length]) if not raw_state[:version].null? serialized_data_type = raw_state[:data_type].read_array_of_pointer(raw_state[:data_type_length]).map { |string| string.read_string() } @data_type, @data = deserializer.call(serialized_data_type, raw_state[:raw].read_string_length(raw_state[:raw_length])) if not raw_state[:raw].null? ObjectSpace.define_finalizer(self, ObjectObserveState.finalize(@raw_state)) end
Public Instance Methods
inspect()
click to toggle source
# File lib/hakuban/hakuban.rb, line 380 def inspect "#<ObjectObserveState @synchronized=%p @version=%p>"%[@synchronized, @data_version] end
version()
click to toggle source
# File lib/hakuban/hakuban.rb, line 376 def version @data_version end