Added Native (Bonjour API) Nat Port Forwarding to OSX.

* new classe p3zcNatAssist
 * moved some common ZeroConf functions / definitions around.
 * moved virtual tick() to parent class: pqiNetAssist
 * added zcNetAssist section to makefiles. (active for OSX build)
 * setup switch between p3zcNatAssist & upnphandler in rsinit.cc

NOTE: Still to test network restart, etc, and correct exchange of external Ip Address.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4800 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2012-01-14 16:41:00 +00:00
parent 2805d4ca1e
commit 79998dd70c
9 changed files with 589 additions and 16 deletions

View file

@ -429,7 +429,7 @@ void p3NetMgrIMPL::tick()
void p3NetMgrIMPL::slowTick()
{
netTick();
netAssistConnectTick();
netAssistTick();
updateNetStateBox_temporal();
if (mDhtStunner)
@ -1489,13 +1489,19 @@ bool p3NetMgrIMPL::netAssistSetAddress( struct sockaddr_in &/*laddr*/,
return true;
}
void p3NetMgrIMPL::netAssistConnectTick()
void p3NetMgrIMPL::netAssistTick()
{
std::map<uint32_t, pqiNetAssistConnect *>::iterator it;
for(it = mDhts.begin(); it != mDhts.end(); it++)
{
(it->second)->tick();
}
std::map<uint32_t, pqiNetAssistFirewall *>::iterator fit;
for(fit = mFwAgents.begin(); fit != mFwAgents.end(); fit++)
{
(fit->second)->tick();
}
return;
}