#pragma once

#include "esphome/core/component.h"
#include <atomic>

namespace esphome::scheduler_string_name_stress_component {

class SchedulerStringNameStressComponent : public Component {
 public:
  void setup() override;
  float get_setup_priority() const override { return setup_priority::LATE; }

  void run_string_name_stress_test();

 private:
  std::atomic<int> total_callbacks_{0};
  std::atomic<int> executed_callbacks_{0};
};

}  // namespace esphome::scheduler_string_name_stress_component
