+ /* force each event inside the ringbuffer to own its
+ own buffer, but let that be null and of zero size
+ initially. When ::set() is called, the buffer will
+ be allocated to hold a *copy* of the data we're
+ storing, and then that buffer will be used over and
+ over, occasionally being upwardly resized as
+ necessary.
+ */
+ if (!vec.buf[0]->owns_buffer()) {