Chatterino
SeventvEventAPIClient.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace chatterino {
7 
9  : public BasicPubSubClient<SeventvEventAPISubscription>
10 {
11 public:
14  std::chrono::milliseconds heartbeatInterval);
15 
16  void setHeartbeatInterval(int intervalMs);
17  void handleHeartbeat();
18 
19 protected:
20  void onConnectionEstablished() override;
21 
22 private:
23  void checkHeartbeat();
24 
25  std::atomic<std::chrono::time_point<std::chrono::steady_clock>>
26  lastHeartbeat_;
27  // This will be set once on the welcome message.
28  std::chrono::milliseconds heartbeatInterval_;
29 
30  friend class SeventvEventAPI;
31 };
32 
33 } // namespace chatterino
void onConnectionEstablished() override
Definition: SeventvEventAPIClient.cpp:20
void setHeartbeatInterval(int intervalMs)
Definition: SeventvEventAPIClient.cpp:27
Definition: BasicPubSubClient.hpp:28
Definition: Application.cpp:48
Definition: SeventvEventAPIClient.hpp:8
Definition: SeventvEventAPI.hpp:13
websocketpp::client< chatterino::BasicPubSubConfig > WebsocketClient
Definition: BasicPubSubWebsocket.hpp:31
SeventvEventAPIClient(liveupdates::WebsocketClient &websocketClient, liveupdates::WebsocketHandle handle, std::chrono::milliseconds heartbeatInterval)
Definition: SeventvEventAPIClient.cpp:9
void handleHeartbeat()
Definition: SeventvEventAPIClient.cpp:34
websocketpp::connection_hdl WebsocketHandle
Definition: BasicPubSubWebsocket.hpp:32