Revert "Add a linger_time configuration option on IRC servers"
This reverts commit 5d801ddcd0.
This commit is contained in:
+1
-21
@@ -12,7 +12,6 @@
|
||||
#include <database/database.hpp>
|
||||
#include "result_set_management.hpp"
|
||||
#include <algorithm>
|
||||
#include <utils/timed_events.hpp>
|
||||
|
||||
using namespace std::string_literals;
|
||||
|
||||
@@ -892,7 +891,7 @@ void Bridge::send_muc_leave(const Iid& iid, const std::string& nick,
|
||||
}
|
||||
IrcClient* irc = this->find_irc_client(iid.get_server());
|
||||
if (self && irc && irc->number_of_joined_channels() == 0)
|
||||
this->quit_or_start_linger_timer(iid.get_server());
|
||||
irc->send_quit_command("");
|
||||
}
|
||||
|
||||
void Bridge::send_nick_change(Iid&& iid,
|
||||
@@ -1244,22 +1243,3 @@ void Bridge::set_record_history(const bool val)
|
||||
this->record_history = val;
|
||||
}
|
||||
#endif
|
||||
|
||||
void Bridge::quit_or_start_linger_timer(const std::string& irc_hostname)
|
||||
{
|
||||
#ifdef USE_DATABASE
|
||||
auto options = Database::get_irc_server_options(this->get_bare_jid(),
|
||||
irc_hostname);
|
||||
const auto timeout = std::chrono::seconds(options.lingerTime.value());
|
||||
#else
|
||||
const auto timeout = 0s;
|
||||
#endif
|
||||
|
||||
const auto event_name = "IRCLINGER:" + irc_hostname + ".." + this->get_bare_jid();
|
||||
TimedEvent event(std::chrono::steady_clock::now() + timeout, [this, irc_hostname]() {
|
||||
IrcClient* irc = this->find_irc_client(irc_hostname);
|
||||
if (irc)
|
||||
irc->send_quit_command("");
|
||||
}, event_name);
|
||||
TimedEventsManager::instance().add_event(std::move(event));
|
||||
}
|
||||
|
||||
@@ -236,11 +236,6 @@ public:
|
||||
#ifdef USE_DATABASE
|
||||
void set_record_history(const bool val);
|
||||
#endif
|
||||
/**
|
||||
* Start a timer that will send a QUIT command after the
|
||||
* configured linger time is expired.
|
||||
*/
|
||||
void quit_or_start_linger_timer(const std::string& irc_hostname);
|
||||
|
||||
private:
|
||||
/**
|
||||
|
||||
@@ -319,16 +319,6 @@ void ConfigureIrcServerStep1(XmppComponent&, AdhocSession& session, XmlNode& com
|
||||
XmlSubNode encoding_in_value(encoding_in, "value");
|
||||
encoding_in_value.set_inner(options.encodingIn.value());
|
||||
}
|
||||
|
||||
XmlSubNode linger_time(x, "field");
|
||||
linger_time["var"] = "linger_time";
|
||||
linger_time["type"] = "text-single";
|
||||
linger_time["desc"] = "The number of seconds to wait before sending a QUIT command, after the last channel on that server has been left.";
|
||||
linger_time["label"] = "Linger time";
|
||||
{
|
||||
XmlSubNode linger_time_value(linger_time, "value");
|
||||
linger_time_value.set_inner(std::to_string(options.lingerTime.value()));
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigureIrcServerStep2(XmppComponent&, AdhocSession& session, XmlNode& command_node)
|
||||
@@ -408,10 +398,6 @@ void ConfigureIrcServerStep2(XmppComponent&, AdhocSession& session, XmlNode& com
|
||||
value && !value->get_inner().empty())
|
||||
options.encodingIn = value->get_inner();
|
||||
|
||||
else if (field->get_tag("var") == "linger_time" &&
|
||||
value && !value->get_inner().empty())
|
||||
options.lingerTime = value->get_inner();
|
||||
|
||||
}
|
||||
|
||||
options.update();
|
||||
|
||||
Reference in New Issue
Block a user