MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 >
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 
65 
67  mutable MAKRti::DtMutex myLock;
68 
69 };
70 
72 #define DtThreadSafeBufferQueue_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)