module EventMachine::Protocols::Memcache

def process_cmd line

Other tags:
    Private: -
def process_cmd line
  case line.strip
  when /^VALUE\s+(.+?)\s+(\d+)\s+(\d+)/ # VALUE <key> <flags> <bytes>
    bytes = Integer($3)
    # set_binary_mode bytes+2
    # @cur_key = $1
    if @buffer.size >= bytes + 2
      @values[$1] = @buffer.slice!(0,bytes)
      @buffer.slice!(0,2) # \r\n
    else
      raise ParserError
    end
  when Cend # END
    if entry = @get_cbs.shift
      keys, cb = entry
      cb.call(@values)
    end
    @values = {}
  when Cstored # STORED
    if cb = @set_cbs.shift
      cb.call(true)
    end
  when Cdeleted # DELETED
    if cb = @del_cbs.shift
      cb.call(true)
    end
  when Cunknown # NOT_FOUND
    if cb = @del_cbs.shift
      cb.call(false)
    end
  else
    p [:MEMCACHE_UNKNOWN, line]
  end
end