cdev-1.7.2n
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
ARCH = OS
|
||||
SHOBJ = YES
|
||||
|
||||
include ../../include/makeinclude/Makefile.$(ARCH)
|
||||
|
||||
APPNAME = "Resource Name Server Test"
|
||||
CXXEXTRA = -D_CDEV_MANAGE_SERVERS
|
||||
LIBS = -L$(CDEVLIB) -lrsvc $(CDEVLIBS) $(OSLIBS)
|
||||
BINARIES = $(BASEBIN)/rsvc_cdev_server $(BASEBIN)/rsvc_cdev_client $(BASEBIN)/rsvc_shutdown $(BASEBIN)/queryDataTest
|
||||
|
||||
targets: $(BINARIES)
|
||||
|
||||
$(BASEBIN)/rsvc_cdev_server: $(OBJDIR)/rsvc_cdev_server.o
|
||||
$(LINK.cc) $^ $(LIBS) -o $@
|
||||
|
||||
$(BASEBIN)/rsvc_cdev_client: $(OBJDIR)/rsvc_cdev_client.o
|
||||
$(LINK.cc) $^ $(LIBS) -o $@
|
||||
|
||||
$(BASEBIN)/rsvc_shutdown: $(OBJDIR)/rsvc_shutdown.o
|
||||
$(LINK.cc) $^ $(LIBS) -o $@
|
||||
|
||||
$(BASEBIN)/queryDataTest: $(OBJDIR)/queryDataTest.o
|
||||
$(LINK.cc) $^ $(LIBS) -o $@
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
.SUFFIXES: .cc .obj
|
||||
|
||||
APPNAME = Resource Name Server Test
|
||||
ARCH = WINNT-4.0
|
||||
SHOBJ = YES
|
||||
|
||||
BINARIES = $(BASEBIN)\rsvc_cdev_server.exe\
|
||||
$(BASEBIN)\rsvc_cdev_client.exe\
|
||||
$(BASEBIN)\rsvc_shutdown.exe\
|
||||
$(BASEBIN)\queryDataTest.exe
|
||||
|
||||
include ..\..\include\makeinclude\Makefile.WINNT-4.0
|
||||
|
||||
targets : $(BINARIES)
|
||||
|
||||
$(BASEBIN)\rsvc_cdev_server.exe : .exec\$(TARGETDIR)\rsvc_cdev_server.obj
|
||||
-@if exist $@ erase $@
|
||||
@echo ^ ^ ^ ^ ^ ^ =^> Linking $(@F)
|
||||
$(LINK) $(CDEVLIB)\cdev.lib $(CDEVLIB)\rsvc.lib \
|
||||
$(LINK_EXE_FLAGS) /out:$@ $?
|
||||
@echo ^ ^ ^ ^ ^ ^ ^ ^ ^ Done...
|
||||
|
||||
$(BASEBIN)\rsvc_cdev_client.exe : .exec\$(TARGETDIR)\rsvc_cdev_client.obj
|
||||
-@if exist $@ erase $@
|
||||
@echo ^ ^ ^ ^ ^ ^ =^> Linking $(@F)
|
||||
$(LINK) $(CDEVLIB)\cdev.lib $(CDEVLIB)\rsvc.lib \
|
||||
$(LINK_EXE_FLAGS) /out:$@ $?
|
||||
@echo ^ ^ ^ ^ ^ ^ ^ ^ ^ Done...
|
||||
|
||||
$(BASEBIN)\rsvc_shutdown.exe : .exec\$(TARGETDIR)\rsvc_shutdown.obj
|
||||
-@if exist $@ erase $@
|
||||
@echo ^ ^ ^ ^ ^ ^ =^> Linking $(@F)
|
||||
$(LINK) $(CDEVLIB)\cdev.lib $(CDEVLIB)\rsvc.lib \
|
||||
$(LINK_EXE_FLAGS) /out:$@ $?
|
||||
@echo ^ ^ ^ ^ ^ ^ ^ ^ ^ Done...
|
||||
|
||||
$(BASEBIN)\queryDataTest.exe : .exec\$(TARGETDIR)\queryDataTest.obj
|
||||
-@if exist $@ erase $@
|
||||
@echo ^ ^ ^ ^ ^ ^ =^> Linking $(@F)
|
||||
$(LINK) $(CDEVLIB)\cdev.lib $(CDEVLIB)\rsvc.lib \
|
||||
$(LINK_EXE_FLAGS) /out:$@ $?
|
||||
@echo ^ ^ ^ ^ ^ ^ ^ ^ ^ Done...
|
||||
@@ -0,0 +1,44 @@
|
||||
#include "../cdev/rnsQueryCollector.h"
|
||||
|
||||
void populate1 ( rnsQueryCollector & collector )
|
||||
{
|
||||
cdevData data;
|
||||
static int index = 0;
|
||||
|
||||
cdev_TS_STAMP ts;
|
||||
ts.nsec = index;
|
||||
ts.secPastEpoch = index;
|
||||
|
||||
char str[50];
|
||||
sprintf(str, "I am the value - %i", index);
|
||||
|
||||
if(index%10==0) {}
|
||||
else if(index%1==0) data.insert("value", str);
|
||||
else data.insert("value", index);
|
||||
|
||||
data.insert("status", (short) -index);
|
||||
data.insert("severity", (unsigned short) index);
|
||||
if(index%1==0) data.insert("controlLow", (double)((double)index)+0.5);
|
||||
if(index%2==0) data.insert("controlHigh", (float)(((float)index)+0.25));
|
||||
if(index%3==0) data.insert("displayLow", (long)-(index+10000));
|
||||
if(index%4==0) data.insert("displayHigh", (unsigned long)index+10000);
|
||||
data.insert("time", ts);
|
||||
data.insert("alarmHigh", (unsigned char *)str, 50);
|
||||
if((index+1)%200==0) data.insert("alarmLow", (unsigned char)index);
|
||||
collector.collect(data);
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
cdevData data;
|
||||
char flat[50];
|
||||
memset(flat, 0, sizeof(char));
|
||||
rnsQueryCollector collector(data);
|
||||
data.insert("controlLow", (unsigned char *)flat, 50);
|
||||
for(int i=0; i<200; i++) populate1(collector);
|
||||
data.asciiDump();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
// simple example program for cdev client to monitor cdev servers
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <rsvcClient.h>
|
||||
|
||||
static void getServerCallback (int status, void* /* arg */, rsvcData* data)
|
||||
{
|
||||
if (status == RSVC_SUCCESS) {
|
||||
printf ("Get server success\n");
|
||||
data->asciiDump ();
|
||||
}
|
||||
else
|
||||
printf ("cannot get server info\n");
|
||||
}
|
||||
|
||||
static void qcallback (int status, void* /* arg */, rsvcData* data)
|
||||
{
|
||||
printf ("---------------------Query callback is called\n");
|
||||
if (status == RSVC_INCOMPLETE) {
|
||||
printf ("Single data entry is here\n");
|
||||
data->asciiDump ();
|
||||
}
|
||||
else if (status == RSVC_SUCCESS) {
|
||||
printf ("Query finished\n");
|
||||
data->asciiDump ();
|
||||
}
|
||||
else
|
||||
printf ("Query error\n");
|
||||
printf ("---------------------Query finished\n");
|
||||
}
|
||||
|
||||
static void monitorServerCallback (int status, void* /* arg */, rsvcData* data)
|
||||
{
|
||||
if (status == RSVC_SUCCESS) {
|
||||
printf (">>>>>>>>>>monitor server callback called<<<<<<<<<<<<<<<<\n");
|
||||
data->asciiDump ();
|
||||
printf ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n");
|
||||
}
|
||||
else if (status == RSVC_CBK_FINISHED) {
|
||||
printf ("server has been deleted\n");
|
||||
}
|
||||
else
|
||||
printf ("server monitor callback has status %d\n", status);
|
||||
}
|
||||
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
if (argc < 4) {
|
||||
fprintf (stderr, "Usage: %s servername domain rsvcserverhost rsvcserverport\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
rsvcClient client;
|
||||
if (client.connect (argv[3], atoi (argv[4])) != RSVC_SUCCESS) {
|
||||
fprintf (stderr, "cannot connect to rsvc server\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
rsvcData serverinfo;
|
||||
serverinfo.insert ("name", argv[1]);
|
||||
serverinfo.insert ("domain", argv[2]);
|
||||
if (client.getValue ("cdevServers", serverinfo,
|
||||
getServerCallback, 0) != RSVC_SUCCESS) {
|
||||
fprintf (stderr, "cannot get server %s %s information\n",
|
||||
argv[1], argv[2]);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (client.query ("cdevServers", "all",
|
||||
qcallback, 0) != RSVC_SUCCESS) {
|
||||
fprintf (stderr, "cannot do query callback\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (client.monitorValue ("cdevServers", serverinfo,
|
||||
monitorServerCallback, 0) != RSVC_SUCCESS) {
|
||||
fprintf (stderr, "cannot do monitor on server %s %s\n",
|
||||
argv[1], argv[2]);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
while (1) {
|
||||
client.pendIO (5.0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
// simple program to demonstrate how a cdev server uses rsvc library
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <rsvcClient.h>
|
||||
#include <rsvcUdpClient.h>
|
||||
|
||||
static void rsvcCallback (int status, void* /* arg */, rsvcData* /* data */)
|
||||
{
|
||||
if (status == RSVC_SUCCESS) {
|
||||
printf ("register server success\n");
|
||||
}
|
||||
else
|
||||
printf ("register server failed\n");
|
||||
}
|
||||
|
||||
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
rsvcData serverinfo;
|
||||
rsvcData udpinfo;
|
||||
|
||||
if (argc < 4) {
|
||||
fprintf (stderr, "Usage: %s name domain serverhost serverport\n", argv[0]);
|
||||
exit (1);
|
||||
}
|
||||
char hostname[256];
|
||||
gethostname (hostname, sizeof (hostname));
|
||||
struct timeval tv;
|
||||
gettimeofday (&tv, 0);
|
||||
|
||||
serverinfo.insert ("name", argv[1]);
|
||||
serverinfo.insert ("domain", argv[2]);
|
||||
serverinfo.insert ("host", hostname);
|
||||
serverinfo.insert ("owner", "chen");
|
||||
serverinfo.insert ("time", (long)tv.tv_sec);
|
||||
serverinfo.insert ("port", (long)tv.tv_sec%10000);
|
||||
serverinfo.insert ("pid", getpid ());
|
||||
|
||||
udpinfo.insert ("name", argv[1]);
|
||||
udpinfo.insert ("domain", argv[2]);
|
||||
|
||||
rsvcClient client;
|
||||
rsvcUdpClient udpclient;
|
||||
|
||||
if (client.connect (argv[3], atoi (argv[4]), 2.0) != RSVC_SUCCESS) {
|
||||
fprintf (stderr, "Cannot connect to rsvc server\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (udpclient.connect (argv[3], atoi (argv[4]) + 1024) != RSVC_SUCCESS) {
|
||||
fprintf (stderr, "Cannot connect to udp port\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
// register server information
|
||||
if (client.insertValue ("cdevServers", serverinfo, rsvcCallback, 0, 1) !=
|
||||
RSVC_SUCCESS) {
|
||||
fprintf (stderr, "Cannot send server information to rsvc\n");
|
||||
client.disconnect ();
|
||||
udpclient.disconnect ();
|
||||
exit (1);
|
||||
}
|
||||
|
||||
int st = 0;
|
||||
while (1) {
|
||||
if ((st = client.pendIO (5.0)) != RSVC_SUCCESS && st != RSVC_TIMEOUT)
|
||||
break;
|
||||
if (udpclient.update (udpinfo) != RSVC_SUCCESS)
|
||||
printf ("udp update failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// Simple program to shutdown the rsvcServer
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <rsvcClient.h>
|
||||
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
if (argc < 3) {
|
||||
fprintf (stderr, "Usage: %s host port\n", argv[0]);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
rsvcClient client;
|
||||
if (client.connect (argv[1], atoi (argv[2])) != RSVC_SUCCESS) {
|
||||
fprintf (stderr, "Cannot connect to rsvcServer\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
client.shutdownServer ();
|
||||
}
|
||||
Reference in New Issue
Block a user