}
ModResult MOD_RESULT;
- FIRST_MOD_RESULT(this, OnStats, MOD_RESULT, (statschar, user, results));
+ FIRST_MOD_RESULT(OnStats, MOD_RESULT, (statschar, user, results));
if (MOD_RESULT == MOD_RES_DENY)
{
results.push_back(sn+" 219 "+user->nick+" "+statschar+" :End of /STATS report");
for (ClassVector::iterator i = this->Config->Classes.begin(); i != this->Config->Classes.end(); i++)
{
ConnectClass* c = *i;
- results.push_back(sn+" 218 "+user->nick+" Y "+ConvToStr(idx)+" "+ConvToStr(c->GetPingTime())+" 0 "+ConvToStr(c->GetSendqMax())+" :"+
+ results.push_back(sn+" 218 "+user->nick+" Y "+ConvToStr(idx)+" "+ConvToStr(c->GetPingTime())+" 0 "+ConvToStr(c->GetSendqHardMax())+" :"+
ConvToStr(c->GetRecvqMax())+" "+ConvToStr(c->GetRegTimeout()));
idx++;
}
if (!this->Config->WhoWasGroupSize == 0 && !this->Config->WhoWasMaxGroups == 0)
{
- Command* whowas_command = this->Parser->GetHandler("WHOWAS");
- if (whowas_command)
+ Module* whowas = Modules->Find("cmd_whowas.so");
+ if (whowas)
{
- std::deque<classbase*> params;
- Extensible whowas_stats;
- params.push_back(&whowas_stats);
- whowas_command->HandleInternal(WHOWAS_STATS, params);
- if (whowas_stats.GetExt("stats"))
- {
- char* statc;
- whowas_stats.GetExt("stats", statc);
- results.push_back(sn+" 249 "+user->nick+" :"+ConvToStr(statc));
- }
+ WhowasRequest req(NULL, whowas, WhowasRequest::WHOWAS_STATS);
+ req.user = user;
+ req.Send();
+ results.push_back(sn+" 249 "+user->nick+" :"+req.value);
}
}
for (std::vector<User*>::iterator n = this->Users->local_users.begin(); n != this->Users->local_users.end(); n++)
{
User* i = *n;
- results.push_back(sn+" 211 "+user->nick+" "+i->nick+"["+i->ident+"@"+i->dhost+"] "+ConvToStr(i->sendq.length())+" "+ConvToStr(i->cmds_out)+" "+ConvToStr(i->bytes_out)+" "+ConvToStr(i->cmds_in)+" "+ConvToStr(i->bytes_in)+" "+ConvToStr(this->Time() - i->age));
+ results.push_back(sn+" 211 "+user->nick+" "+i->nick+"["+i->ident+"@"+i->dhost+"] "+ConvToStr(i->getSendQSize())+" "+ConvToStr(i->cmds_out)+" "+ConvToStr(i->bytes_out)+" "+ConvToStr(i->cmds_in)+" "+ConvToStr(i->bytes_in)+" "+ConvToStr(this->Time() - i->age));
}
break;
for (std::vector<User*>::iterator n = this->Users->local_users.begin(); n != this->Users->local_users.end(); n++)
{
User* i = *n;
- results.push_back(sn+" 211 "+user->nick+" "+i->nick+"["+i->ident+"@"+i->GetIPString()+"] "+ConvToStr(i->sendq.length())+" "+ConvToStr(i->cmds_out)+" "+ConvToStr(i->bytes_out)+" "+ConvToStr(i->cmds_in)+" "+ConvToStr(i->bytes_in)+" "+ConvToStr(this->Time() - i->age));
+ results.push_back(sn+" 211 "+user->nick+" "+i->nick+"["+i->ident+"@"+i->GetIPString()+"] "+ConvToStr(i->getSendQSize())+" "+ConvToStr(i->cmds_out)+" "+ConvToStr(i->bytes_out)+" "+ConvToStr(i->cmds_in)+" "+ConvToStr(i->bytes_in)+" "+ConvToStr(this->Time() - i->age));
}
break;