Class: Bones::RPC::Protocol::Acknowledge
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from ExtMessage
#data, #datasize, #deserialize_ext_length, #ext_code, #ext_length, #ext_type, #serialize_ext_length
included, #inspect, #receive_replies, #serialize
Constructor Details
#initialize(id, ready) ⇒ Acknowledge
Returns a new instance of Acknowledge.
12
13
14
15
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 12
def initialize(id, ready)
self.id = id
self.ready = ready
end
|
Class Method Details
.deserialize(buffer, adapter = nil) ⇒ Object
55
56
57
58
59
60
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 55
def self.deserialize(buffer, adapter = nil)
message = super
message.deserialize_id(buffer)
message.deserialize_ready(buffer)
message
end
|
.unpack(data) ⇒ Object
62
63
64
65
66
67
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 62
def self.unpack(data)
buffer = StringIO.new(data)
id, = buffer.read(4).unpack('N')
ready = buffer.read(1)
new(id, ready)
end
|
Instance Method Details
#ext_head ⇒ Object
22
23
24
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 22
def ext_head
1
end
|
#get(node) ⇒ Object
69
70
71
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 69
def get(node)
node.detach(:synack, id)
end
|
#log_inspect ⇒ Object
45
46
47
48
49
50
51
52
53
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 45
def log_inspect
type = "ACKNOWLEDGE"
fields = []
fields << ["%-12s", type]
fields << ["id=%s", id]
fields << ["ready=%s", ready]
f, v = fields.transpose
f.join(" ") % v
end
|
#ready ⇒ Object
26
27
28
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 26
def ready
@ready
end
|
#ready=(val) ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 30
def ready=(val)
@ready = case val
when 0xC2
false
when 0xC3
true
else
!!val
end
end
|
#serialize_ready(buffer) ⇒ Object
41
42
43
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 41
def serialize_ready(buffer)
buffer << [ready ? 0xC3 : 0xC2].pack('C')
end
|
#signal(future) ⇒ Object
73
74
75
|
# File 'lib/bones/rpc/protocol/acknowledge.rb', line 73
def signal(future)
future.signal(FutureValue.new(self))
end
|