more methods to expose, and check for empty cache before getting latest timestamp
exposing dedicated thread logic in BufferCore and checking in Buffer