BIND 10 trac2850_2, updated. 366cf13a9ca23ea0ace26677754d1968106c277b [2850] Add different exception definitions for the kind of exceptions reset() may throw

BIND 10 source code commits bind10-changes at lists.isc.org
Fri May 3 09:48:51 UTC 2013


The branch, trac2850_2 has been updated
       via  366cf13a9ca23ea0ace26677754d1968106c277b (commit)
      from  186195174b0d8256da12f91395f8e57c17ea6a7c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 366cf13a9ca23ea0ace26677754d1968106c277b
Author: Mukund Sivaraman <muks at isc.org>
Date:   Fri May 3 15:18:30 2013 +0530

    [2850] Add different exception definitions for the kind of exceptions reset() may throw

-----------------------------------------------------------------------

Summary of changes:
 src/lib/datasrc/memory/zone_table_segment.h |   37 +++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory/zone_table_segment.h b/src/lib/datasrc/memory/zone_table_segment.h
index 90fdcbb..756aa49 100644
--- a/src/lib/datasrc/memory/zone_table_segment.h
+++ b/src/lib/datasrc/memory/zone_table_segment.h
@@ -49,6 +49,43 @@ public:
     {}
 };
 
+/// \brief Exception thrown when a \c reset() on a ZoneTableSegment
+/// fails (due to various reasons). When this exception is thrown, there
+/// is still a strong guarantee that the previously existing backing
+/// memory store was not unloaded.
+class ResetFailed : public isc::Exception {
+public:
+    ResetFailed(const char* file, size_t line, const char* what) :
+        isc::Exception(file, line, what)
+    {}
+};
+
+/// \brief Exception thrown when a \c reset() on a ZoneTableSegment
+/// fails (due to various reasons), and it was not able to preserve any
+/// existing backing memory store. When this exception is thrown, there
+/// is a strong guarantee that the previously existing backing memory
+/// store was cleared.
+class ResetFailedAndSegmentCleared : public isc::Exception {
+public:
+    ResetFailedAndSegmentCleared(const char* file, size_t line,
+				 const char* what) :
+        isc::Exception(file, line, what)
+    {}
+};
+
+/// \brief Exception thrown when a \c reset() on a ZoneTableSegment
+/// fails because it was determined that the backing memory store is
+/// corrupted. This is typically an unexpected condition that may arise
+/// in rare cases. When this exception is thrown, there is a strong
+/// guarantee that the previously existing backing memory store was
+/// cleared.
+class BrokenSegment : public ResetFailedAndSegmentCleared {
+public:
+    BrokenSegment(const char* file, size_t line, const char* what) :
+        ResetFailedAndSegmentCleared(file, line, what)
+    {}
+};
+
 /// \brief Memory-management independent entry point that contains a
 /// pointer to a zone table in memory.
 ///



More information about the bind10-changes mailing list