Files
cdev-1.7.2n/extensions/cdevGenericServer/cdevReactor/ServerTest/TestNode.h
2022-12-13 12:44:04 +01:00

49 lines
905 B
C++
Executable File

#include <cdevStreamQueue.h>
class TestNode : public cdevStreamNode
{
private:
static TestNode * freeList;
TestNode * freeListNext;
char buf[75];
size_t len;
public:
TestNode ( void )
: len(0), freeListNext(NULL)
{
}
size_t getLen ( void ) const { return len; }
void setLen ( size_t size ) { len = size; }
char * getBuf ( void ) const { return (char *)buf; }
void setBuf ( char * buffer, size_t size)
{
strcpy(buf, buffer);
len = size;
}
void * operator new ( size_t )
{
TestNode * node;
if(freeList==NULL)
{
freeList = ::new TestNode[1000];
for(int i=0; i<999; i++)
{
freeList[i].freeListNext = &freeList[i+1];
}
}
node = freeList;
freeList = node->freeListNext;
return node;
}
void operator delete ( void * ptr )
{
TestNode * node = (TestNode *)ptr;
node->freeListNext = freeList;
freeList = node;
}
};