def retrbinary(cmd, blocksize, rest_offset = nil) # :yield: data
      synchronize do
	with_binary(true) do
          conn = transfercmd(cmd, rest_offset)
          loop do
            data = conn.read(blocksize)
            break if data == nil
            yield(data)
          end
          conn.close
          voidresp
        end
      end
    end
def retrbinary(cmd, blocksize, rest_offset = nil) # :yield: data
      synchronize do
	with_binary(true) do
          conn = transfercmd(cmd, rest_offset)
          loop do
            data = conn.read(blocksize)
            break if data == nil
            yield(data)
          end
          conn.close
          voidresp
        end
      end
    end
Puts the connection into binary (image) mode, issues the given command,
 and fetches the data returned, passing it to the associated block in
 chunks of +blocksize+ characters. Note that +cmd+ is a server command
 (such as "RETR myfile").