#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "RHexCom.hh"
#define STREAM_ID 100
struct StreamStruct {
int a, b;
unsigned char c;
};
int main(int argc, char** argv)
{
if (argc != 4) {
fprintf(stderr,"Usage: stream_sink <port>\n");
exit(-1);
}
unsigned short port = atoi(argv[1]);
CommManager* mgr = new CommManager(port);
StreamSink* sink = mgr->createStreamSink(sizeof(int), STREAM_ID, 10);
Message* msg;
StreamStruct ss;
while (1) {
bool received = false;
while ((msg = sink->pollData())) {
msg->getStruct<StreamStruct>(&ss);
printf("Received %d %d\n", msg->getSize(), ss.a);
sink->releaseMsg(msg);
received = true;
}
if (received)
printf("\n");
usleep(1000000);
}
delete mgr;
}