#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "RHexCom.hh"
#define MAILBOX_ID 100
struct MailStruct {
int a, b;
unsigned char c;
};
int main(int argc, char** argv)
{
if (argc != 4) {
fprintf(stderr, "Usage: mailer <port> <dest_machine> <dest_port>\n");
exit(-1);
}
unsigned short port = atoi(argv[1]);
CommManager* mgr = new CommManager(port);
Mailer* mailer = mgr->createMailer(argv[2], atoi(argv[3]),
sizeof(MailStruct), MAILBOX_ID);
for (int i=1;;i++) {
Message* msg = mailer->createMsg();
MailStruct* ms = (MailStruct*) msg->getData();
ms->a = i;
ms->b = i*2;
ms->c = i % 2;
if (mailer->sendMsg(msg) < 0) {
printf("Mailbox invalidated\n");
mailer->releaseMsg(msg);
break;
}
printf("Sent %d\n", i);
usleep(1000000);
}
delete mgr;
}