fwmkeys (TokyoTyrant::RDB)

    # File tokyotyrant.rb, line 495
        def fwmkeys(prefix, max = -1)
          prefix = _argstr(prefix)
          max = _argnum(max)
          if !@sock
            @ecode = EINVALID
            return Array::new
          end
          sbuf = [0xC8, 0x58, prefix.length, max].pack("CCNN")
          sbuf += prefix
          if !_send(sbuf)
            @ecode = ESEND
            return Array::new
          end
          code = _recvcode
          if code == -1
            @ecode = ERECV
            return Array::new
          end
          if code != 0
            @ecode = ENOREC
            return Array::new
          end
          knum = _recvint32
          if knum < 0
            @ecode = ERECV
            return Array::new
          end
          keys = Array::new
          for i in 1..knum
            ksiz = _recvint32()
            if ksiz < 0
              @ecode = ERECV
              return Array::new
            end
            kbuf = _recv(ksiz)
            if !kbuf
              @ecode = ERECV
              return Array::new
            end
            keys.push(_retstr(kbuf))
          end
          return keys
        end