diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2017-04-19 20:48:38 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2017-04-19 20:57:18 +0300 |
commit | efb9c3e0e6b612d5bfadc7a2b984c14b5439335c (patch) | |
tree | afac11df4d8c5e1079b367a2cfd17008a317147a /mod/mod-repository-root | |
parent | 6be5bc707876ece1cd09d7c304ba559512ef5257 (diff) |
Fix repository root module to handle retries properly
Diffstat (limited to 'mod/mod-repository-root')
-rw-r--r-- | mod/mod-repository-root | 9 |
1 files changed, 9 insertions, 0 deletions
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> package_version_details_; shared_ptr<repository_details> repository_details_; shared_ptr<options::repository_root> 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<module> handler_; }; } |