buffer: Update to follow the design doc

queueSize and ueRegionSize should not change at runtime. Make it so that
it throws if these constants fail any time we try to use them as it
means that the buffer was overwritten (possibly by a bad actor).

Update the default queueSize and ueRegionSize to match our test
variables.

Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I2c906d26016ce6eb19e953ae432abd5482b6ccf8
diff --git a/include/buffer.hpp b/include/buffer.hpp
index 29f3e2f..37bcb9f 100644
--- a/include/buffer.hpp
+++ b/include/buffer.hpp
@@ -161,6 +161,12 @@
      * * @return Queue size - UE region size - Queue header size
      */
     virtual size_t getMaxOffset() = 0;
+
+    /** @brief The Error log queue starts after the UE region, which is where
+     * the read and write pointers are offset from relatively
+     *  @return relative offset for read and write pointers
+     */
+    virtual size_t getQueueOffset() = 0;
 };
 
 /**
@@ -186,13 +192,9 @@
     EntryPair readEntry() override;
     std::vector<EntryPair> readErrorLogs() override;
     size_t getMaxOffset() override;
+    size_t getQueueOffset() override;
 
   private:
-    /** @brief The Error log queue starts after the UE region, which is where
-     * the read and write pointers are offset from relatively
-     *  @return relative offset for read and write pointers
-     */
-    size_t getQueueOffset();
     /** @brief Calculate the checksum by XOR each bytes in the span
      *  @param[in] entry     - Span to calculate the checksum on
      *  @return calculated checksum