MAK RTIspy API Documentation for HLA Evolved
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
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 Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (
www.mak.com
)