Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Streaming
Payload
PayloadPool.h
1
// Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2
3
#pragma once
4
5
#include "Types.h"
6
#include "Streaming.h"
7
#include "Pool.h"
8
#include "SummaryStats.h"
9
#include "Payload.h"
10
11
namespace
Eegeo
12
{
13
namespace
Streaming
14
{
15
class
PayloadPoolItemFactory;
16
17
class
PayloadPool
:
protected
Eegeo::NonCopyable
18
{
19
public
:
20
static
const
int
POOL_SIZE = 1780;
21
22
private
:
23
PayloadPoolItemFactory
*m_pFactory;
24
DataStructures::Pool<Payload*>
*m_pPayloadPool;
25
Eegeo::Debug::SummaryStats
m_stateTimeStats[PayloadState::MAX][2];
26
27
void
updateStateTimeStats(
Payload
* payload);
28
29
public
:
30
int
GetCount()
const
;
31
int
GetCapacity()
const
;
32
const
std::vector<DataStructures::PoolEntry<Payload*> >& GetEntries();
33
34
PayloadPool
();
35
~
PayloadPool
();
36
Payload
* allocatePayload();
37
void
ReleasePayload(
Payload
* payload);
38
39
void
ResetStats();
40
const
Eegeo::Debug::SummaryStats
& stateTimeStats(PayloadState::PayloadStateValues state,
bool
forCached)
const
;
41
};
42
}
43
}
Generated on Sat Jun 10 2023 02:00:34 for eeGeo Platform SDK by
1.8.3.1