X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=inline;f=include%2Fprivate%2Fredis%2Fdatabaseinfo.hpp;fp=include%2Fprivate%2Fredis%2Fdatabaseinfo.hpp;h=670a88023b129070a0a4ee6a2583c0e4c9a97389;hb=ef2bf51d04aaf01fa0cabdcaf905b23423067662;hp=0000000000000000000000000000000000000000;hpb=edc9b96a441194b571e8d55ec1603b5be0ea52eb;p=ric-plt%2Fsdl.git diff --git a/include/private/redis/databaseinfo.hpp b/include/private/redis/databaseinfo.hpp new file mode 100644 index 0000000..670a880 --- /dev/null +++ b/include/private/redis/databaseinfo.hpp @@ -0,0 +1,69 @@ +/* + Copyright (c) 2018-2019 Nokia. + + 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. +*/ + +#ifndef SHAREDDATALAYER_REDIS_DATABASEINFO_HPP_ +#define SHAREDDATALAYER_REDIS_DATABASEINFO_HPP_ + +#include +#include +#include +#include "private/databaseconfiguration.hpp" +#include + +namespace shareddatalayer +{ + namespace redis + { + struct DatabaseInfo + { + enum class Type + { + SINGLE, + REDUNDANT, + CLUSTER + }; + enum class Discovery + { + HIREDIS, + }; + + DatabaseConfiguration::Addresses hosts; + Type type; + boost::optional ns; + Discovery discovery; + + bool operator==(const DatabaseInfo& di) const + { + DatabaseConfiguration::Addresses hosts1 = hosts; + DatabaseConfiguration::Addresses hosts2 = di.hosts; + + std::sort(hosts1.begin(), hosts1.end()); + std::sort(hosts2.begin(), hosts2.end()); + + return (hosts1 == hosts2 && + type == di.type && + ns == di.ns); + } + + bool operator!=(const DatabaseInfo& di) const + { + return !(di == *this); + } + }; + } +} + +#endif