const std::shared_ptr<ServerPool> pool = entry.second;
string cache = pool->packetCache != nullptr ? pool->packetCache->toString() : "";
string policy = g_policy.getLocal()->name;
- if (pool->policy != NULL) {
+ if (pool->policy != nullptr) {
policy = pool->policy->name;
}
string servers;
setLuaSideEffect();
auto localPools = g_pools.getCopy();
setPoolPolicy(localPools, pool, std::make_shared<ServerPolicy>(policy));
+ g_pools.setState(localPools);
});
g_lua.writeFunction("setPoolServerPolicyLua", [](string name, policyfunc_t policy, string pool) {
setLuaSideEffect();
auto localPools = g_pools.getCopy();
setPoolPolicy(localPools, pool, std::make_shared<ServerPolicy>(ServerPolicy{name, policy}));
+ g_pools.setState(localPools);
});
g_lua.writeFunction("showPoolServerPolicy", [](string pool) {
setLuaSideEffect();
auto localPools = g_pools.getCopy();
auto poolObj = getPool(localPools, pool);
- if (poolObj->policy == NULL) {
+ if (poolObj->policy == nullptr) {
g_outputBuffer=g_policy.getLocal()->name+"\n";
} else {
g_outputBuffer=poolObj->policy->name+"\n";
std::shared_ptr<ServerPool> serverPool = getPool(*localPools, poolname);
std::shared_ptr<DNSDistPacketCache> packetCache = nullptr;
auto policy = localPolicy->policy;
- if (serverPool->policy != NULL) {
+ if (serverPool->policy != nullptr) {
policy = serverPool->policy->policy;
}
{
if (!poolName.empty())
vinfolog("Creating pool %s", poolName);
pool = std::make_shared<ServerPool>();
- pool->policy = NULL;
pools.insert(std::pair<std::string,std::shared_ptr<ServerPool> >(poolName, pool));
}
return pool;
std::shared_ptr<ServerPool> serverPool = getPool(*localPools, poolname);
std::shared_ptr<DNSDistPacketCache> packetCache = nullptr;
auto policy = localPolicy->policy;
- if (serverPool->policy != NULL) {
+ if (serverPool->policy != nullptr) {
policy = serverPool->policy->policy;
}
{
NumberedVector<shared_ptr<DownstreamState>> servers;
std::shared_ptr<DNSDistPacketCache> packetCache{nullptr};
- std::shared_ptr<ServerPolicy> policy;
+ std::shared_ptr<ServerPolicy> policy{nullptr};
};
using pools_t=map<std::string,std::shared_ptr<ServerPool>>;
void setPoolPolicy(pools_t& pools, const string& poolName, std::shared_ptr<ServerPolicy> policy);