36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/em/protocols/frame_object_protocol.rb', line 36
def receive_data data
p data
begin
if data.size < 4
raise "Received invalid datagram, datagram way too small"
end
size=data.unpack('N').first
if data.size != 4+size
actual_size = data.size-4
raise "Received invalid datagram: expected size=#{size}, actual size=#{actual_size}"
end
obj = serializer.load data[4..-1]
rescue => e
handle_exception(data, e)
return
end
p obj
receive_object obj
end
|