Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
MapUpdater.h
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
#ifndef SF_MAP_UPDATER_H_INCLUDED
7
#define SF_MAP_UPDATER_H_INCLUDED
8
9
#include <condition_variable>
10
#include <mutex>
11
12
#include "
Define.h
"
13
#include "
DelayExecutor.h
"
14
15
class
Map
;
16
17
class
MapUpdater
18
{
19
public
:
20
MapUpdater
();
21
virtual
~MapUpdater
();
22
friend
class
MapUpdateRequest
;
23
24
int
schedule_update
(
Map
& map,
uint32
diff);
25
int
wait
();
26
int
activate
(
size_t
num_threads);
27
int
deactivate
();
28
bool
activated
();
29
DelayExecutorMetricsSnapshot
GetExecutorMetricsSnapshot
()
const
{
return
m_executor
.GetMetricsSnapshot(); }
30
void
ResetExecutorMetrics
() {
m_executor
.ResetMetrics(); }
31
32
private
:
33
DelayExecutor
m_executor
;
34
std::mutex
Lock
;
35
std::condition_variable
condition
;
36
size_t
pending_requests
;
37
38
void
update_finished
();
39
};
40
41
#endif
//_MAP_UPDATER_H_INCLUDED
Define.h
uint32
std::uint32_t uint32
Definition
Define.h:77
DelayExecutor.h
DelayExecutor
Definition
DelayExecutor.h:34
Map
Definition
Map.h:238
MapUpdater::GetExecutorMetricsSnapshot
DelayExecutorMetricsSnapshot GetExecutorMetricsSnapshot() const
Definition
MapUpdater.h:29
MapUpdater::schedule_update
int schedule_update(Map &map, uint32 diff)
Definition
MapUpdater.cpp:88
MapUpdater::wait
int wait()
Definition
MapUpdater.cpp:68
MapUpdater::~MapUpdater
virtual ~MapUpdater()
Definition
MapUpdater.cpp:52
MapUpdater::activate
int activate(size_t num_threads)
Definition
MapUpdater.cpp:57
MapUpdater::condition
std::condition_variable condition
Definition
MapUpdater.h:35
MapUpdater::pending_requests
size_t pending_requests
Definition
MapUpdater.h:36
MapUpdater::MapUpdater
MapUpdater()
Definition
MapUpdater.cpp:49
MapUpdater::activated
bool activated()
Definition
MapUpdater.cpp:107
MapUpdater::Lock
std::mutex Lock
Definition
MapUpdater.h:34
MapUpdater::update_finished
void update_finished()
Definition
MapUpdater.cpp:112
MapUpdater::MapUpdateRequest
friend class MapUpdateRequest
Definition
MapUpdater.h:22
MapUpdater::m_executor
DelayExecutor m_executor
Definition
MapUpdater.h:33
MapUpdater::ResetExecutorMetrics
void ResetExecutorMetrics()
Definition
MapUpdater.h:30
MapUpdater::deactivate
int deactivate()
Definition
MapUpdater.cpp:62
DelayExecutorMetricsSnapshot
Definition
DelayExecutor.h:21
src
server
game
Maps
MapUpdater.h
Generated on
for Project SkyFire Core by
1.17.0