Explain the implementation of a circular buffer and its use cases in real-time data ingestion at 10x Genomics.