aboutsummaryrefslogtreecommitdiff
path: root/include/sibs
diff options
context:
space:
mode:
authorAleksi Lindeman <dec05eba@protonmail.com>2018-12-19 23:04:50 +0100
committerAleksi Lindeman <dec05eba@protonmail.com>2018-12-19 23:04:54 +0100
commit860ba7d92731fe64186521ca442a8c7e657e97e1 (patch)
treee9f34df14d26f5c18f4faa67bafcb229a3a43329 /include/sibs
parente3373366bb81c57cdc3ec96c6936b6c9df535bb2 (diff)
Add option to force route data
Diffstat (limited to 'include/sibs')
-rw-r--r--include/sibs/BootstrapConnection.hpp4
-rw-r--r--include/sibs/DirectConnection.hpp8
2 files changed, 9 insertions, 3 deletions
diff --git a/include/sibs/BootstrapConnection.hpp b/include/sibs/BootstrapConnection.hpp
index 1c5c1a5..c63256a 100644
--- a/include/sibs/BootstrapConnection.hpp
+++ b/include/sibs/BootstrapConnection.hpp
@@ -42,7 +42,7 @@ namespace sibs
DISABLE_COPY(BootstrapConnection)
public:
// Throws BootstrapConnectionException on error
- static std::future<std::unique_ptr<BootstrapConnection>> connect(const Ipv4 &bootstrapAddress);
+ static std::future<std::unique_ptr<BootstrapConnection>> connect(const Ipv4 &bootstrapAddress, const ConnectionOptions &options = ConnectionOptions());
~BootstrapConnection();
// If we are already listening on the key @pubsubKey then the callback function is overwritten
@@ -57,7 +57,7 @@ namespace sibs
std::vector<std::shared_ptr<DirectConnectionPeer>> getPeers();
private:
// Throws BootstrapConnectionException on error
- BootstrapConnection(const Ipv4 &bootstrapAddress);
+ BootstrapConnection(const Ipv4 &bootstrapAddress, const ConnectionOptions &options);
ListenHandle listen(const PubsubKey &pubsubKey, BoostrapConnectionListenCallbackFunc callbackFunc, bool registerCallbackFunc);
void receiveDataFromServer(std::shared_ptr<DirectConnectionPeer> peer, MessageType messageType, const void *data, const usize size);
diff --git a/include/sibs/DirectConnection.hpp b/include/sibs/DirectConnection.hpp
index 1ba8659..50fefb8 100644
--- a/include/sibs/DirectConnection.hpp
+++ b/include/sibs/DirectConnection.hpp
@@ -62,13 +62,18 @@ namespace sibs
bool operator == (const DirectConnectionPeer &other) const;
bool operator != (const DirectConnectionPeer &other) const;
};
+
+ struct ConnectionOptions
+ {
+ bool useP2p = true;
+ };
class DirectConnections
{
DISABLE_COPY(DirectConnections)
friend class BootstrapNode;
public:
- DirectConnections(u16 port = 0);
+ DirectConnections(u16 port = 0, const ConnectionOptions &options = ConnectionOptions());
~DirectConnections();
// Throws ConnectionException on error
@@ -103,6 +108,7 @@ namespace sibs
PubSubOnRemoveDisconnectedPeerCallback removeDisconnectedPeerCallback;
Ipv4Map<std::shared_future<PubSubConnectResult>> connectionResults;
std::mutex connectionResultsMutex;
+ ConnectionOptions options;
struct UPNPUrlData
{