libfoedus-core
FOEDUS Core Library
restart_manager.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014-2015, Hewlett-Packard Development Company, LP.
3  * This program is free software; you can redistribute it and/or modify it
4  * under the terms of the GNU General Public License as published by the Free
5  * Software Foundation; either version 2 of the License, or (at your option)
6  * any later version.
7  *
8  * This program is distributed in the hope that it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11  * more details. You should have received a copy of the GNU General Public
12  * License along with this program; if not, write to the Free Software
13  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
14  *
15  * HP designates this particular file as subject to the "Classpath" exception
16  * as provided by HP in the LICENSE.txt file that accompanied this code.
17  */
18 #ifndef FOEDUS_RESTART_RESTART_MANAGER_HPP_
19 #define FOEDUS_RESTART_RESTART_MANAGER_HPP_
20 #include "foedus/fwd.hpp"
21 #include "foedus/initializable.hpp"
22 #include "foedus/restart/fwd.hpp"
23 namespace foedus {
24 namespace restart {
36 class RestartManager CXX11_FINAL : public virtual Initializable {
37  public:
38  explicit RestartManager(Engine* engine);
40 
41  // Disable default constructors
45 
47  bool is_initialized() const CXX11_OVERRIDE;
49 
50  private:
51  RestartManagerPimpl *pimpl_;
52 };
53 } // namespace restart
54 } // namespace foedus
55 #endif // FOEDUS_RESTART_RESTART_MANAGER_HPP_
The pure-virtual interface to initialize/uninitialize non-trivial resources.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Definition: assert_nd.hpp:44
Forward declarations of classes in root package.
Brings error stacktrace information as return value of functions.
Definition: error_stack.hpp:81
RestartManager & operator=(const RestartManager &)=delete
Forward declarations of classes in restart package.
Pimpl object of RestartManager.
#define CXX11_FINAL
Used in public headers in place of "final" of C++11.
Definition: cxx11.hpp:131
Database engine object that holds all resources and provides APIs.
Definition: engine.hpp:109
#define CXX11_OVERRIDE
Used in public headers in place of "override" of C++11.
Definition: cxx11.hpp:134
#define CXX11_FUNC_DELETE
Used in public headers in place of " = delete" of C++11.
Definition: cxx11.hpp:128
ErrorStack uninitialize() override
An idempotent method to release all resources of this object, if any.
ErrorStack initialize() override
Acquires resources in this object, usually called right after constructor.
bool is_initialized() const override
Returns whether the object has been already initialized or not.
Restart manager, which recovers the state of database by invoking log-gleaner at start-up.