From 3ba8e55e59fbb08ce147fd5c74f5fb8220423d45 Mon Sep 17 00:00:00 2001 From: Starystars67 Date: Tue, 4 Feb 2020 17:29:04 +0000 Subject: [PATCH] added heartbeat cpp + h, needs functionality --- CMakeLists.txt | 2 +- src/heartbeat.cpp | 36 ++++++++++++++++++++++++++++++++++++ src/heartbeat.h | 12 ++++++++++++ src/main.cpp | 2 ++ 4 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/heartbeat.cpp create mode 100644 src/heartbeat.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e8e2ac..959e962 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,5 +3,5 @@ project(BeamNG-MP-Server) set(CMAKE_CXX_STANDARD 14) -add_executable(BeamNG-MP-Server src/main.cpp src/logger.cpp src/config.cpp src/Network/Server.cpp src/Network/enet.h src/Network/DataParser.cpp) +add_executable(BeamNG-MP-Server src/main.cpp src/logger.cpp src/config.cpp src/Network/Server.cpp src/Network/enet.h src/Network/DataParser.cpp src/heartbeat.cpp src/heartbeat.h) target_link_libraries(BeamNG-MP-Server winmm ws2_32) \ No newline at end of file diff --git a/src/heartbeat.cpp b/src/heartbeat.cpp new file mode 100644 index 0000000..033692b --- /dev/null +++ b/src/heartbeat.cpp @@ -0,0 +1,36 @@ +// +// Created by Mitch on 04/02/2020. +// + +#include "heartbeat.h" +#include +#include + +const int NUM_SECONDS = 10; + +void HeartbeatInit() +{ + /// Make initial connection to backend services to get UUID, then call Heartbeat() +} + +void Heartbeat() +{ + double time_counter = 0; + + clock_t this_time = clock(); + clock_t last_time = this_time; + + while(true) + { + this_time = clock(); + time_counter += (double)(this_time - last_time); + last_time = this_time; + + if(time_counter > (double)(NUM_SECONDS * CLOCKS_PER_SEC)) + { + time_counter -= (double)(NUM_SECONDS * CLOCKS_PER_SEC); + + + } + } +} \ No newline at end of file diff --git a/src/heartbeat.h b/src/heartbeat.h new file mode 100644 index 0000000..67f1c50 --- /dev/null +++ b/src/heartbeat.h @@ -0,0 +1,12 @@ +// +// Created by Mitch on 04/02/2020. +// + +#ifndef BEAMNG_MP_SERVER_HEARTBEAT_H +#define BEAMNG_MP_SERVER_HEARTBEAT_H + + +void HeartbeatInit(); + + +#endif //BEAMNG_MP_SERVER_HEARTBEAT_H diff --git a/src/main.cpp b/src/main.cpp index cfe2ace..f47ad53 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,6 +17,7 @@ void ParseConfig(); void ServerMain(int Port, int MaxClients); bool Debug = false; void addToLog(basic_string Data); +void HeartbeatInit(); int Port = 30814; int MaxClients = 10; string MapName = "levels/gridmap/level.json"; @@ -25,6 +26,7 @@ string ServerName = "BeamNG-MP FTW"; //Entry int main() { LogInit(); + HeartbeatInit(); ParseConfig(); if(Debug){ //checks if debug is on DebugData(); //Prints Debug Data