add ringbuffer implementation base on slice & simple ut