Commit aa9767f9 authored by jan.koester's avatar jan.koester
Browse files

test

parent 4e4f6e91
Loading
Loading
Loading
Loading
Loading
+15 −1
Changes for src/cluster.cpp: 15 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@
#include <iostream>
#include <algorithm>
#include <fstream>
#include <unistd.h>

namespace authdb {

@@ -227,10 +228,19 @@ namespace authdb {
        std::vector<netplus::socket*> sockets = { quic_socket_.get() };
        server_ = std::make_unique<paritypp::server>(scfg, store_, auth_, sockets);

        // Setup client for talking to peers
        // Setup client for talking to peers — filter out self
        if (!cfg_.peers.empty()) {
            char hostname[256] = {};
            gethostname(hostname, sizeof(hostname));
            std::string self_host(hostname);

            std::vector<paritypp::client::node_info> nodes;
            for (const auto &peer : cfg_.peers) {
                if (peer.address == self_host && peer.port == cfg_.port) {
                    std::cerr << "Cluster: skipping self (" << peer.address
                              << ":" << peer.port << ")" << std::endl;
                    continue;
                }
                nodes.push_back({peer.address, peer.port});
            }

@@ -240,8 +250,12 @@ namespace authdb {
                pcreds.key.assign(cfg_.client_key.begin(), cfg_.client_key.end());
            }

            if (!nodes.empty()) {
                pclient_ = std::make_unique<paritypp::client>(
                    cfg_.data_blocks, cfg_.parity_blocks, nodes, pcreds);
            } else {
                std::cerr << "Cluster: no remote peers after filtering self" << std::endl;
            }
        }
    }