diff options
author | Alan Conway <aconway@apache.org> | 2007-06-07 14:29:24 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2007-06-07 14:29:24 +0000 |
commit | 50cd0cd44deb7b5c90e71eed1c9f3cf1666a70fe (patch) | |
tree | 640da8126854a4e07c11ca73216b932c84e9d445 /cpp/src/qpid/cluster/Cpg.cpp | |
parent | fca1397c9ee37e92b57fd419186182cbec567435 (diff) | |
download | qpid-python-50cd0cd44deb7b5c90e71eed1c9f3cf1666a70fe.tar.gz |
Build support for clustering, initial CPG wrapper & tests.
- src/qpid/cluster/Cpg.cpp: C++ wrapper for the openais CPG library.
- src/tests/unit/Cpg.cpp: verify CPG functions in make check.
- makefiles etc.: build cluster stuff only if openais is installed.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@545190 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/Cpg.cpp')
-rw-r--r-- | cpp/src/qpid/cluster/Cpg.cpp | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/cpp/src/qpid/cluster/Cpg.cpp b/cpp/src/qpid/cluster/Cpg.cpp new file mode 100644 index 0000000000..858d25f37c --- /dev/null +++ b/cpp/src/qpid/cluster/Cpg.cpp @@ -0,0 +1,62 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "Cpg.h" + +namespace qpid { +namespace cluster { + +using namespace std; + +string Cpg::errorStr(cpg_error_t err, const std::string& msg) { + switch (err) { + case CPG_OK: return msg+": ok"; + case CPG_ERR_LIBRARY: return msg+": library"; + case CPG_ERR_TIMEOUT: return msg+": timeout"; + case CPG_ERR_TRY_AGAIN: return msg+": try again"; + case CPG_ERR_INVALID_PARAM: return msg+": invalid param"; + case CPG_ERR_NO_MEMORY: return msg+": no memory"; + case CPG_ERR_BAD_HANDLE: return msg+": bad handle"; + case CPG_ERR_ACCESS: return msg+": access"; + case CPG_ERR_NOT_EXIST: return msg+": not exist"; + case CPG_ERR_EXIST: return msg+": exist"; + case CPG_ERR_NOT_SUPPORTED: return msg+": not supported"; + case CPG_ERR_SECURITY: return msg+": security"; + case CPG_ERR_TOO_MANY_GROUPS: return msg+": too many groups"; + default: + assert(0); + return ": unknown"; + }; +} + +std::string Cpg::cantJoinMsg(const Name& group) { + return "Cannot join CPG group "+group.str(); +} + +std::string Cpg::cantLeaveMsg(const Name& group) { + return "Cannot leave CPG group "+group.str(); +} + +std::string Cpg::cantMcastMsg(const Name& group) { + return "Cannot mcast to CPG group "+group.str(); +} + +}} // namespace qpid::cpg + + + |