Method: Sparrow::Server#get_command

Defined in:
lib/sparrow/server.rb

#get_commandObject

GET <key>*rn

Raises:



175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# File 'lib/sparrow/server.rb', line 175

def get_command
  args.shift # get rid of the command
  raise ClientError if args.empty?
  rsp = []
  args.each do |queue|
    logger.debug "Getting message from queue - #{queue}"
    begin
      msg = Sparrow::Queue.next_message(queue)
      next unless msg
    rescue NoMoreMessages
      next
    end
    flag = msg[-1..-1]
    msg = msg[0..-2]
    rsp << [VALUE, queue, flag, msg.length].join(' ')
    rsp << msg
    self.get_count += 1
  end
  rsp << EOF
  send_data(rsp.join(CR) + CR)
end