diff options
author | attilamolnar <attilamolnar@hush.com> | 2012-05-31 22:47:24 +0200 |
---|---|---|
committer | Sir Poggles <sir.pogsalot@gmail.com> | 2012-06-12 22:49:29 -0700 |
commit | 451fe7bc41d3260a6d4dac49c32c4575b4b5e28f (patch) | |
tree | fa79c004af2fdf099788fa1494c1cdb6bf14fc38 /src/modules/m_spanningtree/treesocket2.cpp | |
parent | 0ca64d8c137726f6d3547b75588e26d1f61ce464 (diff) |
m_spanningtree Burst to a new server before introducing it to the rest of the network
Fixes issue #103 reported by @nenolod
Diffstat (limited to 'src/modules/m_spanningtree/treesocket2.cpp')
-rw-r--r-- | src/modules/m_spanningtree/treesocket2.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp index 4582eb4c5..cb49d92c9 100644 --- a/src/modules/m_spanningtree/treesocket2.cpp +++ b/src/modules/m_spanningtree/treesocket2.cpp @@ -165,12 +165,19 @@ void TreeSocket::ProcessLine(std::string &line) } } this->LinkState = CONNECTED; - Utils->timeoutlist.erase(this); - parameterlist sparams; - Utils->DoOneToAllButSender(MyRoot->GetID(), "BURST", params, MyRoot->GetName()); + MyRoot->bursting = true; this->DoBurst(MyRoot); + + parameterlist sparams; + sparams.push_back(MyRoot->GetName()); + sparams.push_back("*"); + sparams.push_back("0"); + sparams.push_back(MyRoot->GetID()); + sparams.push_back(":" + MyRoot->GetDesc()); + Utils->DoOneToAllButSender(ServerInstance->Config->GetSID(), "SERVER", sparams, MyRoot->GetName()); + Utils->DoOneToAllButSender(MyRoot->GetID(), "BURST", params, MyRoot->GetName()); } else if (command == "ERROR") { |