MAK RTIspy API Documentation for HLA 1516
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
libsrc
rtiutil
vlThreadSafeBufferQueue.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2005 MaK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: vlThreadSafeBufferQueue.h,v $ $Revision: 1.3 $ $State: Exp $
7
*******************************************************************************/
8
11
12
#ifndef DtThreadSafeBufferQueue_H_
13
#define DtThreadSafeBufferQueue_H_
14
15
#include <vlutil/vlMutex.h>
16
#include <deque>
17
18
29
template
<
class
T >
30
class
DtThreadSafeBufferQueue
31
{
32
public
:
33
34
typedef
std::vector<T>
Buffer
;
35
typedef
std::deque<Buffer*>
BufferQueue
;
36
38
DtThreadSafeBufferQueue
(
unsigned
int
initialBufferSize = 1000,
39
unsigned
int
initialBufferCount = 10 );
40
42
virtual
~DtThreadSafeBufferQueue
();
43
45
virtual
inline
void
push
(
const
T* buff,
unsigned
int
size
);
46
48
virtual
inline
void
push
(
Buffer
buff );
49
53
virtual
inline
std::auto_ptr< Buffer >
pop
();
54
56
virtual
inline
void
releaseBuffer
( std::auto_ptr< Buffer > buff );
57
58
virtual
inline
size_t
size
()
const
;
59
60
protected
:
61
63
BufferQueue
myQueue
;
64
BufferQueue
myFreeBuffers
;
65
67
mutable
MAKRti::DtMutex
myLock
;
68
69
};
70
72
#define DtThreadSafeBufferQueue_Inl_
73
#include "
vlThreadSafeBufferQueue.inl
"
74
#undef DtThreadSafeBufferQueue_Inl_
75
76
#endif
77
78
79
Document ID: Generated on Wed Mar 11 20:26:49 EDT 2015 from SVN revision 150939
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (
www.mak.com
)