It's pretty easy to do. NIP-01 says that if you use the "limit":n argument then the _latest_ n events are sent. That's perfect. You you get that batch, find the minimum created-at set that to the next "until" and back the "since" up.
You have to coordinate with the EOSE messages, and I've found it wise to send a CLOSE before the next REQ.
