finite-buffer queue