Files
@ 1f2d007ac1cc
Branch filter:
Location: CSY/reowolf/examples/3_nondeterminism/amy.c - annotation
1f2d007ac1cc
1.2 KiB
text/x-csrc
fleshed out examples
1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc | #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../../reowolf.h"
#include "../utility.c"
int main() { // AMY
char * pdl = buffer_pdl("eg_protocols.pdl");
Connector* c = connector_new();
printf("configuring...\n");
check("config ", connector_configure(c, pdl, "sync"));
check("bind 0 ", connector_bind_native(c, 0));
check("bind 1 ", connector_bind_passive(c, 1, "127.0.0.1:7000"));
printf("connecting...\n");
check("connect", connector_connect(c, 5000));
int send_next = 0;
char msg_buf[32];
int code;
int i;
for (i = 0; 1; i++) {
itoa(send_next, msg_buf, 10);
printf("\nround %d. Will send msg `%s` next", i, msg_buf);
// batch 0: no messages sent
check("next_batch ", connector_next_batch(c));
// batch 1: put 0
check("put ", connector_put(c, 0, msg_buf, strlen(msg_buf) + 1));
code = connector_sync(c, 3000);
if (code == 0) printf("Sent no message!");
else if (code == 1) {
printf("Sent message `%s`!", msg_buf);
send_next++;
} else {
printf(
"Connector error! %d (%s)\nBreaking loop!\n",
code, connector_error_peek()
);
break;
}
}
printf("destroying...\n");
connector_destroy(c);
printf("exiting...\n");
free(pdl);
return 0;
}
|