neighbor/Glue: use struct ConfigData

This commit is contained in:
Max Kellermann 2018-07-17 23:11:33 +02:00
parent 3a4a430f6c
commit 4f678aa244
4 changed files with 10 additions and 6 deletions

View File

@ -515,7 +515,8 @@ try {
#ifdef ENABLE_NEIGHBOR_PLUGINS
instance->neighbors = new NeighborGlue();
instance->neighbors->Init(instance->io_thread.GetEventLoop(),
instance->neighbors->Init(raw_config,
instance->io_thread.GetEventLoop(),
*instance);
if (instance->neighbors->IsEmpty()) {

View File

@ -23,7 +23,7 @@
#include "Explorer.hxx"
#include "NeighborPlugin.hxx"
#include "Info.hxx"
#include "config/Global.hxx"
#include "config/Data.hxx"
#include "config/Domain.hxx"
#include "config/Block.hxx"
#include "util/RuntimeError.hxx"
@ -50,9 +50,10 @@ CreateNeighborExplorer(EventLoop &loop, NeighborListener &listener,
}
void
NeighborGlue::Init(EventLoop &loop, NeighborListener &listener)
NeighborGlue::Init(const ConfigData &config,
EventLoop &loop, NeighborListener &listener)
{
for (const auto *block = config_get_block(ConfigBlockOption::NEIGHBORS);
for (const auto *block = config.GetBlock(ConfigBlockOption::NEIGHBORS);
block != nullptr; block = block->next) {
block->SetUsed();

View File

@ -27,6 +27,7 @@
#include <forward_list>
#include <memory>
struct ConfigData;
class EventLoop;
class NeighborExplorer;
class NeighborListener;
@ -64,7 +65,8 @@ public:
/**
* Throws std::runtime_error on error.
*/
void Init(EventLoop &loop, NeighborListener &listener);
void Init(const ConfigData &config, EventLoop &loop,
NeighborListener &listener);
void Open();
void Close() noexcept;

View File

@ -79,7 +79,7 @@ try {
MyNeighborListener listener;
NeighborGlue neighbor;
neighbor.Init(loop, listener);
neighbor.Init(GetGlobalConfig(), loop, listener);
neighbor.Open();
/* dump initial list */