Write a function to calculate a rolling average over a specific window size without using built-in high-level functions, optimizing for memory usage.
Implement def rolling_average(values, window_size):. Given a list of numbers and a valid positive window size no larger than the list length, return a list containing the average of every consecutive complete window. Do not use sum, slicing, or equivalent high-level aggregation utilities; use constant auxiliary space beyond the returned output.
def rolling_average(values, window_size):