aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_spanningtree/utils.cpp
diff options
context:
space:
mode:
authorGravatar attilamolnar2013-07-19 13:32:41 +0200
committerGravatar attilamolnar2013-08-22 13:42:20 +0200
commit67de413cad88194972d55a8ff88464370890c5a9 (patch)
tree6b8693cda26ee984b609b48eeea4ab19211fa31f /src/modules/m_spanningtree/utils.cpp
parentm_spanningtree Implement DoOneToMany() using DoOneToAllButSender() (diff)
m_spanningtree Remove duplicate code for sending channel messages from RouteCommand()
Diffstat (limited to 'src/modules/m_spanningtree/utils.cpp')
-rw-r--r--src/modules/m_spanningtree/utils.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp
index e7edc65d6..bd87f2028 100644
--- a/src/modules/m_spanningtree/utils.cpp
+++ b/src/modules/m_spanningtree/utils.cpp
@@ -162,7 +162,7 @@ SpanningTreeUtilities::~SpanningTreeUtilities()
}
/* returns a list of DIRECT servernames for a specific channel */
-void SpanningTreeUtilities::GetListOfServersForChannel(Channel* c, TreeServerList &list, char status, const CUList &exempt_list)
+void SpanningTreeUtilities::GetListOfServersForChannel(Channel* c, TreeSocketSet& list, char status, const CUList& exempt_list)
{
unsigned int minrank = 0;
if (status)
@@ -186,7 +186,7 @@ void SpanningTreeUtilities::GetListOfServersForChannel(Channel* c, TreeServerLis
{
TreeServer* best = this->BestRouteTo(i->first->server);
if (best)
- list.insert(best);
+ list.insert(best->GetSocket());
}
}
return;
@@ -379,7 +379,7 @@ Link* SpanningTreeUtilities::FindLink(const std::string& name)
return NULL;
}
-void SpanningTreeUtilities::SendChannelMessage(const std::string& prefix, Channel* target, const std::string &text, char status, const CUList& exempt_list, const char* message_type)
+void SpanningTreeUtilities::SendChannelMessage(const std::string& prefix, Channel* target, const std::string& text, char status, const CUList& exempt_list, const char* message_type, TreeSocket* omit)
{
std::string raw(":");
raw.append(prefix).append(1, ' ').append(message_type).push_back(' ');
@@ -387,12 +387,12 @@ void SpanningTreeUtilities::SendChannelMessage(const std::string& prefix, Channe
raw.push_back(status);
raw.append(target->name).append(" :").append(text);
- TreeServerList list;
+ TreeSocketSet list;
this->GetListOfServersForChannel(target, list, status, exempt_list);
- for (TreeServerList::iterator i = list.begin(); i != list.end(); ++i)
+ for (TreeSocketSet::iterator i = list.begin(); i != list.end(); ++i)
{
- TreeSocket* Sock = (*i)->GetSocket();
- if (Sock)
+ TreeSocket* Sock = *i;
+ if (Sock != omit)
Sock->WriteLine(raw);
}
}