nonstd::optional<ClusterOrdering> PeerOrdererImpl::getInitialOrdering() { auto peers = query_->getPeers(); if (peers.has_value()) { return ClusterOrdering(peers.value()); } return nonstd::nullopt; }
boost::optional<ClusterOrdering> ClusterOrdering::create( const std::vector<std::shared_ptr<shared_model::interface::Peer>> &order) { if (order.empty()) { return boost::none; } return ClusterOrdering(order); }
nonstd::optional<ClusterOrdering> PeerOrdererImpl::getOrdering( YacHash hash) { auto peers = query_->getPeers(); if (peers.has_value()) { // todo implement effective ordering based on hash value return ClusterOrdering(peers.value()); } return nonstd::nullopt; }