From efb9c3e0e6b612d5bfadc7a2b984c14b5439335c Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 19 Apr 2017 20:48:38 +0300 Subject: Fix repository root module to handle retries properly --- mod/mod-repository-root | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'mod/mod-repository-root') diff --git a/mod/mod-repository-root b/mod/mod-repository-root index e028fb8..57db93a 100644 --- a/mod/mod-repository-root +++ b/mod/mod-repository-root @@ -23,6 +23,8 @@ namespace brep public: repository_root (); + // Copy constructible-only type. + // // Create a shallow copy (handling instance) if initialized and a deep // copy (context exemplar) otherwise. // @@ -54,6 +56,13 @@ namespace brep shared_ptr package_version_details_; shared_ptr repository_details_; shared_ptr options_; + + // Sub-module the request is dispatched to. Initially is NULL. It is set + // by the first call to handle() to a deep copy of the selected exemplar. + // The subsequent calls of handle() (that may take place after the retry + // exception is thrown) will use the existing handler instance. + // + unique_ptr handler_; }; } -- cgit v1.1