I always figured the right solution here is a queue that sends any time the request queue is over N elements or every M microseconds, whichever happens first. Haven’t seen many implementations though.
Nagle’s algorithm for the oldest, maybe a couple others, possibly some code I’ve written.