Files
@ 175721d796d7
Branch filter:
Location: CSY/reowolf/examples/3_atomicity/bob.c - annotation
175721d796d7
1.4 KiB
text/x-csrc
Included more fields in session optimization
1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 7e4b7b7026e6 1f2d007ac1cc 7e4b7b7026e6 1f2d007ac1cc 7e4b7b7026e6 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 1f2d007ac1cc 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 a286c28bcdcf 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 7e4b7b7026e6 1f2d007ac1cc 7e4b7b7026e6 7e4b7b7026e6 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc | #include <stdio.h>
#include "../../reowolf.h"
#include "../utility.c"
int main() {
Connector* c = connector_new();
printf("configuring...\n");
char * pdl = buffer_pdl("eg_protocols.pdl");
check("config ", connector_configure(c, pdl, "sync_two"));
check("bind 0 ", connector_bind_active(c, 0, "127.0.0.1:7000"));
check("bind 1 ", connector_bind_active(c, 1, "127.0.0.1:7001"));
check("bind 2 ", connector_bind_native(c, 2));
check("bind 3 ", connector_bind_native(c, 3));
printf("connecting...\n");
check("connect", connector_connect(c, 5000));
const unsigned char * msg;
const char * nth[2] = {"first", "second"};
int i, code, msg_len;
char yn[2];
while(true) {
printf("\nround %d...\n", i);
printf("Which of the two messages should we receive? (y/n)(y/n) (eg: yy): ");
scanf(" %c%c", &yn[0], &yn[1]);
for (i = 0; i < 2; i++) {
if (yn[i] != 'y' && yn[i] != 'n') {
printf("Expected (y/n) input!");
continue;
}
}
printf("Receiving messages [%c, %c]\n", yn[0], yn[1]);
if (yn[0] == 'y') check("get first ", connector_get(c, 0));
if (yn[1] == 'y') check("get second ", connector_get(c, 1));
check("sync ", connector_sync(c, 1000));
for (i = 0; i < 2; i++) {
if (yn[i] == 'y') {
check("read ", connector_gotten(c, i, &msg, &msg_len));
printf("Got %s msg `%.*s`\n", nth[i], msg_len, msg);
}
}
}
printf("cleaning up\n");
connector_destroy(c);
free(pdl);
return 0;
}
|