cdev-1.7.2n
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
service Gateway
|
||||
{
|
||||
tags {server}
|
||||
}
|
||||
|
||||
class Tests
|
||||
{
|
||||
verbs {get, set}
|
||||
attributes
|
||||
{
|
||||
default Gateway;
|
||||
clientID Gateway;
|
||||
servers Gateway;
|
||||
connections Gateway;
|
||||
attrib Gateway {server=Gateway1};
|
||||
ClientInfo Gateway {server=Gateway1};
|
||||
ServerInfo Gateway {server=Gateway1};
|
||||
}
|
||||
messages
|
||||
{
|
||||
shutdown Gateway;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Tests :
|
||||
device1,
|
||||
device2,
|
||||
device3
|
||||
;
|
||||
@@ -0,0 +1,4 @@
|
||||
all commit clean purge:
|
||||
@$(MAKE) $@ -f Makefile.service
|
||||
@$(MAKE) $@ -f Makefile.server
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
ARCH = OS
|
||||
SHOBJ = YES
|
||||
|
||||
include ../../include/makeinclude/Makefile.$(ARCH)
|
||||
|
||||
APPNAME = "Transmission Test Server"
|
||||
OUTPUTDIR = $(BASEBIN)
|
||||
CXXINCLUDES = -I./
|
||||
LIBS = -L$(CDEVLIB) -lcdevGenericServer $(CDEVLIBS) $(OSLIBS)
|
||||
|
||||
TARGETS = $(OUTPUTDIR)/TestServer
|
||||
|
||||
targets : $(TARGETS)
|
||||
|
||||
$(OUTPUTDIR)/TestServer : $(OBJDIR)/TestServer.o
|
||||
$(LINK.cc) $^ $(LIBS) -o $@
|
||||
@@ -0,0 +1,37 @@
|
||||
ARCH = OS
|
||||
SHOBJ = YES
|
||||
|
||||
include ../../include/makeinclude/Makefile.$(ARCH)
|
||||
|
||||
APPNAME = "Transmission Test Client"
|
||||
CXXINCLUDES = -I./
|
||||
|
||||
# ******************************************************************************
|
||||
# * The BINARIES definition names all of the binary files that should be deleted
|
||||
# * whenever "make clean" is executed.
|
||||
# ******************************************************************************
|
||||
BINARIES = $(BASELIB)/libTestService.a \
|
||||
$(BASELIB)/TestService.so \
|
||||
$(BASEBIN)/TestProgram
|
||||
|
||||
ifeq ($(SHOBJ), YES)
|
||||
LIBS = -L$(CDEVLIB) -lcdevGenericServer $(CDEVLIBS) $(OSLIBS)
|
||||
TARGETS = $(BASELIB)/TestService.so $(BASEBIN)/TestProgram
|
||||
else
|
||||
LIBS = -L$(CDEVLIB) -lcdevGenericServer $(CDEVLIBS) $(OSLIBS)
|
||||
TARGETS = $(BASELIB)/libTestService.a $(BASEBIN)/TestProgram
|
||||
endif
|
||||
|
||||
targets : $(TARGETS)
|
||||
|
||||
$(BASELIB)/TestService.so : $(OBJDIR)/TestService.o
|
||||
$(LINK.so) -o $@ $^ -L$(CDEVLIB) -lcdevGenericServer $(NETLIBS)
|
||||
@mkdir -p $(CDEVSHOBJ)/$(CDEVVERSION)
|
||||
@cp $@ $(CDEVSHOBJ)/$(CDEVVERSION)/$(@F)
|
||||
|
||||
$(BASELIB)/libTestService.a : $(OBJDIR)/TestService.o
|
||||
$(LINK.a) $@ $^
|
||||
@$(RANLIB) $@ > /dev/null
|
||||
|
||||
$(BASEBIN)/TestProgram : $(OBJDIR)/TestProgram.o
|
||||
$(LINK.cc) $^ -o $@ $(LIBS)
|
||||
@@ -0,0 +1,6 @@
|
||||
notarget : all
|
||||
|
||||
all clean purge:
|
||||
@$(MAKE) /NOLOGO $@ -f NMakefile.service
|
||||
@$(MAKE) /NOLOGO $@ -f NMakefile.server
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
.SUFFIXES: .cc .obj
|
||||
|
||||
APPNAME = Transmission Test Server
|
||||
ARCH = WINNT-4.0
|
||||
SHOBJ = YES
|
||||
|
||||
BINARIES = $(BASEBIN)\TestServer.exe
|
||||
|
||||
include ..\..\include\makeinclude\Makefile.WINNT-4.0
|
||||
|
||||
CXXINCLUDES = /I .\\
|
||||
|
||||
targets : $(BINARIES)
|
||||
|
||||
$(BASEBIN)\TestServer.exe : .exec\$(TARGETDIR)\TestServer.obj
|
||||
-@if exist $@ erase $@
|
||||
@echo ^ ^ ^ ^ ^ ^ =^> Linking $(@F)
|
||||
$(LINK) $(CDEVLIB)\cdev.lib $(CDEVLIB)\cdevGenericServer.lib \
|
||||
$(LINK_EXE_FLAGS) /out:$@ $?
|
||||
@echo ^ ^ ^ ^ ^ ^ ^ ^ ^ Done...
|
||||
@@ -0,0 +1,49 @@
|
||||
.SUFFIXES: .cc .obj
|
||||
|
||||
|
||||
APPNAME = Transmission Test Client
|
||||
ARCH = WINNT-4.0
|
||||
SHOBJ = YES
|
||||
|
||||
BINARIES = $(CDEVLIB)\TestService.lib \
|
||||
$(CDEVLIB)\TestService.dll \
|
||||
$(BASEBIN)\TestProgram.exe
|
||||
|
||||
include ..\..\include\makeinclude\Makefile.WINNT-4.0
|
||||
|
||||
CXXINCLUDES = /I .\\
|
||||
CXXEXTRA_DLL = /D "TEST_SERVICE_API=__declspec(dllexport)"
|
||||
CXXEXTRA_LIB = /D "TEST_SERVICE_API="
|
||||
|
||||
!IF "$(SHOBJ)" == "YES"
|
||||
TARGETS = $(CDEVLIB)\TestService.dll $(BASEBIN)\TestProgram.exe
|
||||
!ELSE
|
||||
TARGETS = $(CDEVLIB)\TestService.lib $(BASEBIN)\TestProgram.exe
|
||||
!ENDIF
|
||||
|
||||
targets : $(TARGETS)
|
||||
|
||||
$(CDEVLIB)\TestService.dll : $(OBJDIR)\TestService.obj
|
||||
@echo ^ ^ ^ =^> Linking $(@F)
|
||||
-@if exist $@ erase $@
|
||||
-@if not exist $(@D) mkdir $(@D)
|
||||
@$(LIB32) $(CDEVLIB)\cdev.lib $(CDEVLIB)\cdevGenericServer.lib\
|
||||
$(LINK_DLL_FLAGS) /out:$@ /implib:$(@D)\$(@B).lib $?
|
||||
-@copy $@ $(CDEVSHOBJ)\$(CDEVVERSION)\$(@F) > nul
|
||||
@echo ^ ^ ^ ^ ^ ^ Done...
|
||||
|
||||
$(CDEVLIB)\TestService.lib : $(OBJDIR)\TestService.obj
|
||||
@echo ^ ^ ^ =^> Linking $(@F)
|
||||
-@if exist $@ erase $@
|
||||
-@if not exist $(@D) mkdir $(@D)
|
||||
@$(LIB32) $(CDEVLIB)\cdev.lib $(CDEVLIB)\cdevGenericServer.lib\
|
||||
$(LINK_LIB_FLAGS) /out:$@ $?
|
||||
@echo ^ ^ ^ ^ ^ ^ Done...
|
||||
|
||||
$(BASEBIN)\TestProgram.exe : .exec\$(TARGETDIR)\TestProgram.obj
|
||||
-@if exist $@ erase $@
|
||||
@echo ^ ^ ^ ^ ^ ^ =^> Linking $(@F)
|
||||
$(LINK) $(CDEVLIB)\cdev.lib $(CDEVLIB)\cdevGenericServer.lib\
|
||||
$(LINK_EXE_FLAGS) /out:$@ $?
|
||||
@echo ^ ^ ^ ^ ^ ^ ^ ^ ^ Done...
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
#include <ctype.h>
|
||||
#include <signal.h>
|
||||
|
||||
#include <cdevSystem.h>
|
||||
#include <cdevRequestObject.h>
|
||||
#include <cdevDevice.h>
|
||||
#include <cdevGroup.h>
|
||||
#include <cdevCommon.h>
|
||||
#include <testMessages.cc>
|
||||
|
||||
int fouled = 0;
|
||||
int expectedHits = 0;
|
||||
int hits = 0;
|
||||
unsigned totalCount = 0;
|
||||
|
||||
void callback ( int status, void * arg, cdevRequestObject &, cdevData & data)
|
||||
{
|
||||
hits++;
|
||||
if(status!=CDEV_SUCCESS)
|
||||
{
|
||||
printf("ERROR: Transmission failure of %i\n", (int)arg);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(data!=*TestMessage[(int)arg].getData())
|
||||
{
|
||||
fouled = 1;
|
||||
printf("ERROR: Mismatch on entry %i - Inbound data differs from expected\n",
|
||||
(int)arg);
|
||||
printf("----------------------------- INBOUND DATA -----------------------------\n");
|
||||
data.asciiDump();
|
||||
printf("----------------------------- EXPECTED DATA ----------------------------\n");
|
||||
TestMessage[(int)arg].getData()->asciiDump();
|
||||
}
|
||||
else
|
||||
{
|
||||
totalCount++;
|
||||
if(totalCount%100==0)
|
||||
{
|
||||
printf("Transmission %i still matches correctly\n", totalCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char ** argv)
|
||||
{
|
||||
createTestMessages();
|
||||
int maxCount = 0;
|
||||
int group1 = TestMessageCount/3;
|
||||
int group2 = group1+group1;
|
||||
|
||||
cdevRequestObject &tReq = cdevRequestObject::attachRef(TestMessage[TestMessageIndex].getDeviceList()[0], TestMessage[TestMessageIndex].getMessage());
|
||||
tReq.setContext(*TestMessage[0].getContext());
|
||||
|
||||
if(argc>1) maxCount = atoi(argv[1]);
|
||||
|
||||
while(!fouled && (!maxCount || maxCount<totalCount))
|
||||
{
|
||||
hits = 0;
|
||||
expectedHits = 0;
|
||||
|
||||
for(TestMessageIndex = 0; TestMessageIndex<group1; TestMessageIndex++)
|
||||
{
|
||||
int mismatch = 0;
|
||||
cdevData data;
|
||||
cdevRequestObject * req = cdevRequestObject::attachPtr(TestMessage[TestMessageIndex].getDeviceList()[0], TestMessage[TestMessageIndex].getMessage());
|
||||
req->setContext(*TestMessage[TestMessageIndex].getContext());
|
||||
|
||||
if(req->send(TestMessage[TestMessageIndex].getData(), &data)==CDEV_SUCCESS)
|
||||
{
|
||||
if(data!=*TestMessage[TestMessageIndex].getData())
|
||||
{
|
||||
fouled = -1;
|
||||
printf("ERROR: Mismatch on entry %i - Inbound data differs from expected\n",
|
||||
TestMessageIndex);
|
||||
printf("----------------------------- INBOUND DATA -----------------------------\n");
|
||||
data.asciiDump();
|
||||
printf("----------------------------- EXPECTED DATA ----------------------------\n");
|
||||
TestMessage[TestMessageIndex].getData()->asciiDump();
|
||||
}
|
||||
else
|
||||
{
|
||||
totalCount++;
|
||||
if(totalCount%100==0)
|
||||
{
|
||||
printf("Transmission %i still matches correctly\n", totalCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
printf("ERROR: Transmission failure of %i\n",
|
||||
TestMessageIndex);
|
||||
}
|
||||
}
|
||||
|
||||
for( ; TestMessageIndex<group2; TestMessageIndex++)
|
||||
{
|
||||
cdevCallback cb(callback, (void *)TestMessageIndex);
|
||||
int mismatch = 0;
|
||||
cdevData data;
|
||||
cdevRequestObject * req = cdevRequestObject::attachPtr(TestMessage[TestMessageIndex].getDeviceList()[0], TestMessage[TestMessageIndex].getMessage());
|
||||
req->setContext(*TestMessage[TestMessageIndex].getContext());
|
||||
|
||||
if(req->sendCallback(TestMessage[TestMessageIndex].getData(), cb)!=CDEV_SUCCESS)
|
||||
{
|
||||
fouled = -1;
|
||||
printf("ERROR: Transmission failure of %i\n",
|
||||
TestMessageIndex);
|
||||
}
|
||||
else expectedHits++;
|
||||
}
|
||||
|
||||
for(int retryCnt=0; hits<expectedHits && retryCnt<1000; retryCnt++)
|
||||
{
|
||||
cdevSystem::defaultSystem().poll();
|
||||
}
|
||||
|
||||
if(hits<expectedHits)
|
||||
{
|
||||
printf("ERROR: Processed only %i of %i callback requests after %i attempts\n", hits, expectedHits, retryCnt);
|
||||
}
|
||||
|
||||
cdevData * outputData = new cdevData[TestMessageCount - (group2)];
|
||||
cdevGroup group;
|
||||
|
||||
group.start();
|
||||
for(int dataIdx=0; TestMessageIndex<TestMessageCount; TestMessageIndex++, dataIdx++)
|
||||
{
|
||||
int mismatch = 0;
|
||||
cdevData data;
|
||||
cdevRequestObject * req = cdevRequestObject::attachPtr(TestMessage[TestMessageIndex].getDeviceList()[0], TestMessage[TestMessageIndex].getMessage());
|
||||
req->setContext(*TestMessage[TestMessageIndex].getContext());
|
||||
|
||||
if(req->sendNoBlock(TestMessage[TestMessageIndex].getData(), outputData[dataIdx])!=CDEV_SUCCESS)
|
||||
{
|
||||
fouled = -1;
|
||||
printf("ERROR: Transmission failure of %i\n",
|
||||
TestMessageIndex);
|
||||
}
|
||||
}
|
||||
group.end();
|
||||
|
||||
for(int grpRetryCnt=0; !group.allFinished() && grpRetryCnt<1000; grpRetryCnt++)
|
||||
{
|
||||
group.poll();
|
||||
}
|
||||
|
||||
if(!group.allFinished())
|
||||
{
|
||||
printf("ERROR: Failed to process all group requests after %i attempts\n", grpRetryCnt);
|
||||
}
|
||||
|
||||
for(dataIdx=0, TestMessageIndex=group2; TestMessageIndex<TestMessageCount; TestMessageIndex++, dataIdx++)
|
||||
{
|
||||
if(outputData[dataIdx]!=*TestMessage[TestMessageIndex].getData())
|
||||
{
|
||||
fouled = -1;
|
||||
printf("ERROR: Mismatch on entry %i - Inbound data differs from expected\n",
|
||||
TestMessageIndex);
|
||||
printf("----------------------------- INBOUND DATA -----------------------------\n");
|
||||
outputData[dataIdx].asciiDump();
|
||||
printf("----------------------------- EXPECTED DATA ----------------------------\n");
|
||||
TestMessage[TestMessageIndex].getData()->asciiDump();
|
||||
}
|
||||
else
|
||||
{
|
||||
totalCount++;
|
||||
if(totalCount%100==0)
|
||||
{
|
||||
printf("Transmission %i still matches correctly\n", totalCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
delete [] outputData;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
#include <cdevServer.h>
|
||||
#include <testMessages.cc>
|
||||
|
||||
class myServer : public cdevServer
|
||||
{
|
||||
private:
|
||||
IntHash TestIndexes;
|
||||
unsigned totalCount;
|
||||
|
||||
public:
|
||||
myServer ( void )
|
||||
: cdevServer(), totalCount(0)
|
||||
{
|
||||
}
|
||||
|
||||
myServer ( char * domain, char * server, unsigned int port, double pulse )
|
||||
: cdevServer(domain, server, port, pulse), totalCount(0)
|
||||
{
|
||||
}
|
||||
|
||||
virtual void processMessages ( void )
|
||||
{
|
||||
cdevMessage * message;
|
||||
while(dequeue(message)==0)
|
||||
{
|
||||
if(!strcmp(message->getMessage(), "register"))
|
||||
{
|
||||
int * ptr = new int;
|
||||
TestIndexes.insert((int)message->getClientID(), (void *)ptr);
|
||||
printf("Starting Testing on Client %i\n", message->getClientID());
|
||||
}
|
||||
else if(!strcmp(message->getMessage(), "unregister"))
|
||||
{
|
||||
int * ptr = NULL;
|
||||
if((ptr = (int *)TestIndexes.find((int)message->getClientID()))!=NULL)
|
||||
{
|
||||
TestIndexes.remove((int)message->getClientID());
|
||||
delete ptr;
|
||||
}
|
||||
printf("Finishing Testing on Client %i\n", message->getClientID());
|
||||
}
|
||||
else
|
||||
{
|
||||
int ptr = 0;
|
||||
int *idxPtr = (int *)TestIndexes.find((int)message->getClientID());
|
||||
int curPtr = 0;
|
||||
|
||||
if(idxPtr == NULL)
|
||||
{
|
||||
printf("ERROR: Failed to retrieve the index for client %i\n", message->getClientID());
|
||||
idxPtr = &ptr;
|
||||
}
|
||||
if(*idxPtr >= TestMessageCount) *idxPtr = 0;
|
||||
|
||||
if(message->getData()==NULL)
|
||||
{
|
||||
printf("ERROR: NULL data received from client %i\n", message->getClientID());
|
||||
}
|
||||
else
|
||||
{
|
||||
message->getData()->get("packetNumber", &curPtr);
|
||||
if(curPtr!=*idxPtr)
|
||||
{
|
||||
printf("Mismatch between packet number %i and expected %i\n", curPtr, *idxPtr);
|
||||
*idxPtr = curPtr;
|
||||
}
|
||||
|
||||
int mismatch = 0;
|
||||
|
||||
if(strcmp(message->getDeviceList()[0], TestMessage[*idxPtr].getDeviceList()[0]))
|
||||
{
|
||||
printf("ERROR: Client %i mismatch on entry %i - Device \"%s\" not equal to \"%s\"\n",
|
||||
message->getClientID(),
|
||||
*idxPtr,
|
||||
message->getDeviceList()[0],
|
||||
TestMessage[*idxPtr].getDeviceList()[0]);
|
||||
mismatch++;
|
||||
}
|
||||
|
||||
if(strcmp(message->getMessage(), TestMessage[*idxPtr].getMessage()))
|
||||
{
|
||||
printf("ERROR: Client %i mismatch on entry %i - Message \"%s\" not equal to \"%s\"\n",
|
||||
message->getClientID(),
|
||||
*idxPtr,
|
||||
message->getMessage(),
|
||||
TestMessage[*idxPtr].getMessage());
|
||||
mismatch++;
|
||||
}
|
||||
|
||||
if(message->getData()==NULL)
|
||||
{
|
||||
printf("ERROR: Client %i mismatch on entry %i - Inbound data is NULL\n",
|
||||
message->getClientID(),
|
||||
*idxPtr);
|
||||
mismatch++;
|
||||
}
|
||||
else if(*message->getData()!=*TestMessage[*idxPtr].getData())
|
||||
{
|
||||
printf("ERROR: Client %i mismatch on entry %i - Inbound data differs from expected\n",
|
||||
message->getClientID(),
|
||||
*idxPtr);
|
||||
printf("----------------------------- INBOUND DATA -----------------------------\n");
|
||||
message->getData()->asciiDump();
|
||||
printf("----------------------------- EXPECTED DATA ----------------------------\n");
|
||||
TestMessage[*idxPtr].getData()->asciiDump();
|
||||
mismatch++;
|
||||
}
|
||||
|
||||
if(message->getContext()==NULL && TestMessage[*idxPtr].getContext()!=NULL)
|
||||
{
|
||||
printf("ERROR: Client %i mismatch on entry %i - Inbound context is NULL\n",
|
||||
message->getClientID(),
|
||||
*idxPtr);
|
||||
mismatch++;
|
||||
}
|
||||
else if(TestMessage[*idxPtr].getContext()==NULL)
|
||||
{
|
||||
}
|
||||
else if(*message->getContext()!=*TestMessage[*idxPtr].getContext())
|
||||
{
|
||||
printf("ERROR: Client %i mismatch on entry %i - Inbound context differs from expected\n",
|
||||
message->getClientID(),
|
||||
*idxPtr);
|
||||
printf("---------------------------- INBOUND CONTEXT ---------------------------\n");
|
||||
message->getContext()->asciiDump();
|
||||
printf("---------------------------- EXPECTED CONTEXT --------------------------\n");
|
||||
TestMessage[*idxPtr].getContext()->asciiDump();
|
||||
mismatch++;
|
||||
}
|
||||
|
||||
if(mismatch) printf("\n\n");
|
||||
else {
|
||||
totalCount++;
|
||||
if(totalCount%1000==0) printf("Transmission %i still matches correctly\n", totalCount);
|
||||
}
|
||||
(*idxPtr)++;
|
||||
}
|
||||
}
|
||||
enqueue(message);
|
||||
delete message;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
int main(int argc, char ** argv)
|
||||
{
|
||||
char * name;
|
||||
short port;
|
||||
|
||||
name = (argc>1)?argv[1]:(char *)"TestServer1";
|
||||
port = 0;
|
||||
|
||||
cdevSystem::defaultSystem().setThreshold(CDEV_SEVERITY_INFO);
|
||||
myServer *server = new myServer();
|
||||
server->startServer("TEST", name, port, 60.0, 1);
|
||||
createTestMessages();
|
||||
cdevServer::runServer();
|
||||
delete server;
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
#include <TestService.h>
|
||||
|
||||
extern "C" cdevService * newTestService ( char * name, cdevSystem * system )
|
||||
{
|
||||
return new TestService(name, *system);
|
||||
}
|
||||
|
||||
TestService::TestService ( char * name, cdevSystem & system)
|
||||
: cdevClientService("TEST", name, system)
|
||||
{
|
||||
system.reportError(CDEV_SEVERITY_INFO, "TestService", NULL,
|
||||
"Constructing a new TestService");
|
||||
}
|
||||
|
||||
TestService::~TestService ( void )
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
service Test
|
||||
{
|
||||
tags {server}
|
||||
}
|
||||
|
||||
class Tests
|
||||
{
|
||||
verbs {get, set}
|
||||
attributes
|
||||
{
|
||||
default Test;
|
||||
clientID Test;
|
||||
servers Test;
|
||||
connections Test;
|
||||
attrib Test {server=TestServer1};
|
||||
ClientInfo Test {server=TestServer1};
|
||||
ServerInfo Test {server=TestServer1};
|
||||
}
|
||||
messages
|
||||
{
|
||||
shutdown Test;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Tests :
|
||||
device1,
|
||||
device2,
|
||||
device3
|
||||
;
|
||||
@@ -0,0 +1,17 @@
|
||||
#include <cdevClientService.h>
|
||||
|
||||
#ifndef TEST_SERVICE_API
|
||||
#define TEST_SERVICE_API
|
||||
#endif
|
||||
|
||||
|
||||
extern "C" TEST_SERVICE_API cdevService * newTestService ( char * name, cdevSystem * system );
|
||||
|
||||
class TestService : public cdevClientService
|
||||
{
|
||||
public:
|
||||
TestService ( char * name, cdevSystem & system = cdevSystem::defaultSystem());
|
||||
|
||||
protected:
|
||||
virtual ~TestService ( void );
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
21 value
|
||||
20 status
|
||||
19 severity
|
||||
18 time
|
||||
17 units
|
||||
16 displayHigh
|
||||
15 displayLow
|
||||
14 alarmHigh
|
||||
13 alarmLow
|
||||
12 warningHigh
|
||||
11 warningLow
|
||||
10 controlHigh
|
||||
9 controlLow
|
||||
8 bitMask
|
||||
7 file
|
||||
6 class
|
||||
5 device
|
||||
4 message
|
||||
3 verb
|
||||
2 attribute
|
||||
1 collection
|
||||
@@ -0,0 +1,45 @@
|
||||
#include <IntHash.h>
|
||||
#include <cdevMessage.h>
|
||||
|
||||
const size_t TestMessageCount = 1000;
|
||||
cdevMessage TestMessage[TestMessageCount];
|
||||
char *TestDeviceName = "device1";
|
||||
int TestMessageIndex = 0;
|
||||
|
||||
void createTestMessages ( void )
|
||||
{
|
||||
cdevData data;
|
||||
cdevData context;
|
||||
|
||||
for(int i=0; i<TestMessageCount; i++)
|
||||
{
|
||||
data.addTag("packetNumber");
|
||||
data.insert("packetNumber", i);
|
||||
data.insert("value", i*18+0);
|
||||
data.insert("status", i*18+1);
|
||||
data.insert("time", i*18+2);
|
||||
data.insert("controlHigh", i*18+3);
|
||||
data.insert("controlLow", i*18+4);
|
||||
data.insert("alarmHigh", i*18+5);
|
||||
data.insert("alarmLow", i*18+6);
|
||||
data.insert("displayHigh", i*18+7);
|
||||
data.insert("displayLow", i*18+8);
|
||||
data.insert("resultCode", 0);
|
||||
|
||||
context.insert("value", i*18+9);
|
||||
context.insert("status", i*18+10);
|
||||
context.insert("time", i*18+11);
|
||||
context.insert("controlHigh", i*18+12);
|
||||
context.insert("controlLow", i*18+13);
|
||||
context.insert("alarmHigh", i*18+14);
|
||||
context.insert("alarmLow", i*18+15);
|
||||
context.insert("displayHigh", i*18+16);
|
||||
context.insert("displayLow", i*18+17);
|
||||
|
||||
TestMessage[i].setClientID (1);
|
||||
TestMessage[i].setDeviceList (&TestDeviceName, 1, 1);
|
||||
TestMessage[i].setMessage ("get attrib", 1);
|
||||
TestMessage[i].setData (new cdevData(data));
|
||||
TestMessage[i].setContext (new cdevData(context));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user