~singpolyma/biboumi

0d886d5f32dda3be5827ed2c84f9bf2806b69601 — louiz’ 4 years ago 7f8a612
Default the throttle limit to 10 if not built with database support
2 files changed, 11 insertions(+), 1 deletions(-)

M src/irc/irc_client.cpp
M src/irc/irc_client.hpp
M src/irc/irc_client.cpp => src/irc/irc_client.cpp +10 -1
@@ 144,7 144,7 @@ IrcClient::IrcClient(std::shared_ptr<Poller>& poller, std::string hostname,
  welcomed(false),
  chanmodes({"", "", "", ""}),
  chantypes({'#', '&'}),
  tokens_bucket(Database::get_irc_server_options(bridge.get_bare_jid(), hostname).col<Database::ThrottleLimit>(), 1s, [this]() {
  tokens_bucket(this->get_throttle_limit(), 1s, [this]() {
    if (message_queue.empty())
      return true;
    this->actual_send(std::move(this->message_queue.front()));


@@ 1283,3 1283,12 @@ bool IrcClient::abort_on_invalid_cert() const
  return true;
}
#endif

std::size_t IrcClient::get_throttle_limit() const
{
#ifdef USE_DATABASE
  return Database::get_irc_server_options(this->bridge.get_bare_jid(), this->hostname).col<Database::ThrottleLimit>();
#else
  return 10;
#endif
}

M src/irc/irc_client.hpp => src/irc/irc_client.hpp +1 -0
@@ 397,6 397,7 @@ private:
   */
  Resolver dns_resolver;
  TokensBucket tokens_bucket;
  std::size_t get_throttle_limit() const;
};