• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

ExtendedOverlappedPool.cpp

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 // No longer used as I no longer support IO Completion ports
00009 /*
00010 #ifdef __USE_IO_COMPLETION_PORTS
00011 #include "ExtendedOverlappedPool.h"
00012 
00013 ExtendedOverlappedPool ExtendedOverlappedPool::I;
00014 
00015 ExtendedOverlappedPool::ExtendedOverlappedPool()
00016 {}
00017 
00018 ExtendedOverlappedPool::~ExtendedOverlappedPool()
00019 {
00020         // The caller better have returned all the packets!
00021         ExtendedOverlappedStruct * p;
00022         poolMutex.Lock();
00023 
00024         while ( pool.Size() )
00025         {
00026                 p = pool.Pop();
00027                 RakNet::OP_DELETE(p, __FILE__, __LINE__);
00028         }
00029 
00030         poolMutex.Unlock();
00031 }
00032 
00033 ExtendedOverlappedStruct* ExtendedOverlappedPool::GetPointer( void )
00034 {
00035         ExtendedOverlappedStruct * p = 0;
00036         poolMutex.Lock();
00037 
00038         if ( pool.Size() )
00039                 p = pool.Pop();
00040 
00041         poolMutex.Unlock();
00042 
00043         if ( p )
00044                 return p;
00045 
00046         return new ExtendedOverlappedStruct;
00047 }
00048 
00049 void ExtendedOverlappedPool::ReleasePointer( ExtendedOverlappedStruct *p )
00050 {
00051         poolMutex.Lock();
00052         pool.Push( p );
00053         poolMutex.Unlock();
00054 }
00055 
00056 #endif
00057 
00058 */

Generated on Thu Sep 30 2010 01:27:23 for RakNet by  doxygen 1.7.1