add overflow strategy to stop caller from blocking if backing ringbuffer is full