implement SetCustomPeerSelector and ensure locking is good

This commit is contained in:
Jeff Becker 2016-08-30 15:11:39 -04:00
parent ac88c1a8f1
commit fa8548fe34
No known key found for this signature in database
GPG key ID: AB950234D6EA286B
2 changed files with 28 additions and 6 deletions

View file

@ -67,10 +67,10 @@ namespace tunnel
int GetNumOutboundTunnels () const { return m_NumOutboundTunnels; };
void SetCustomPeerSelector(TunnelPeerSelector selector);
TunnelPeerSelector GetCustomPeerSelector() const { return m_CustomPeerSelector; }
void UnsetCustomPeerSelector();
bool HasCustomPeerSelector();
private:
void CreateInboundTunnel ();
void CreateOutboundTunnel ();
void CreatePairedInboundTunnel (std::shared_ptr<OutboundTunnel> outboundTunnel);
@ -92,6 +92,7 @@ namespace tunnel
mutable std::mutex m_TestsMutex;
std::map<uint32_t, std::pair<std::shared_ptr<OutboundTunnel>, std::shared_ptr<InboundTunnel> > > m_Tests;
bool m_IsActive;
std::mutex m_CustomPeerSelectorMutex;
TunnelPeerSelector m_CustomPeerSelector;
public: