xrpld
Loading...
Searching...
No Matches
Source.h
1#pragma once
2
3#include <xrpl/beast/utility/Journal.h>
4#include <xrpl/peerfinder/Types.h>
5
6#include <boost/system/error_code.hpp>
7
8#include <string>
9
10namespace xrpl::peer_finder {
11
21class Source
22{
23public:
27 struct Results
28 {
29 explicit Results() = default;
30
31 // error_code on a failure
32 boost::system::error_code error;
33
34 // list of fetched endpoints
36 };
37
38 virtual ~Source() = default;
39 virtual std::string const&
40 name() = 0;
41 virtual void
43 {
44 }
45 virtual void
46 fetch(Results& results, beast::Journal journal) = 0;
47};
48
49} // namespace xrpl::peer_finder
A generic endpoint for log messages.
Definition Journal.h:44
A static or dynamic source of peer addresses.
Definition Source.h:22
virtual void cancel()
Definition Source.h:42
virtual void fetch(Results &results, beast::Journal journal)=0
virtual ~Source()=default
virtual std::string const & name()=0
std::vector< beast::ip::Endpoint > IPAddresses
Represents a set of addresses.
The results of a fetch.
Definition Source.h:28
boost::system::error_code error
Definition Source.h:32