50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/gearman/connection.rb', line 50
def next(*expected_packet_types)
connect if disconnected?
= read()
magic, type, length = .unpack()
body = read(length)
arguments = String(body).split(NULL_BYTE)
@repository.load(type).new(arguments).tap do |packet|
debug "Read #{packet.inspect}"
if packet.is_a?(Packet::ERROR)
message = "server sent error #{packet.error_code}: #{packet.text}"
raise ServerError, message
end
verify packet, expected_packet_types
end
end
|