SPI.available() update timing question

Howdy any and all,
When does the value returned by SPI.available() update? My assumption is that, while a DMA/multibyte transfer is going on, repeated calls to SPI.available() would return however many bytes have made it through the transfer process and are currently available in the (user provided) receive buffer. Once the transfer/DMA stuff is finished, repeated calls to SPI.available() will just return however many bytes were transferred. The only way the value returned by SPI.available() after this point would be if another transfer was initiated.
Does this seem correct?