libfoedus-core
FOEDUS Core Library
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Jenkins (x86_64 Fedora)
Jenkins (x86_64 Ubuntu)
Jenkins (aarch64 Ubuntu)
Github
Wiki
File List
File Members
masstree_retry_impl.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_STORAGE_MASSTREE_MASSTREE_RETRY_IMPL_HPP_
19
#define FOEDUS_STORAGE_MASSTREE_MASSTREE_RETRY_IMPL_HPP_
20
21
#include <stdint.h>
22
23
#include "
foedus/error_code.hpp
"
24
25
namespace
foedus
{
26
namespace
storage {
27
namespace
masstree {
28
35
/*
36
template <typename HANDLER>
37
inline ErrorCode masstree_retry(HANDLER handler, uint32_t max_retries = 1000) {
38
for (uint32_t tries = 0; tries < max_retries; ++tries) {
39
ErrorCode code = handler();
40
if (code == kErrorCodeStrMasstreeRetry) {
41
continue;
42
}
43
return code;
44
}
45
return kErrorCodeStrMasstreeTooManyRetries;
46
}
47
Not used any more. No global retry required for Master-tree unlike Mass-tree
48
*/
49
}
// namespace masstree
50
}
// namespace storage
51
}
// namespace foedus
52
#endif // FOEDUS_STORAGE_MASSTREE_MASSTREE_RETRY_IMPL_HPP_
foedus
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Definition:
assert_nd.hpp:44
error_code.hpp
foedus-core
include
foedus
storage
masstree
masstree_retry_impl.hpp
Generated by
1.8.10