If samples is greater than the number of samples currently acquired, all available samples are returned with a warning message stating that the requested number of samples were not available.
This and reading the rest of the documentation shows us that peekdata() only looks in the buffer of data that has already been acquired, and does not trigger any data acquisition. If enough data is already there, it returns the (500 in your case) most recent samples (the end of the buffer, most recent acquires, not from the start of the buffer), and if not enough data is already there it will return the data that is already available.