Files
@ 952d4edf0cbb
Branch filter:
Location: CSY/reowolf/examples/0_forward/bob.c - annotation
952d4edf0cbb
1.2 KiB
text/x-csrc
first C example
952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb 952d4edf0cbb | #include <stdio.h>
#include "../../reowolf.h"
int main() {
char* pdl ="\
primitive forward(in i, out o) {\
while(true) synchronous {\
put(o, get(i));\
}\
}";
// BOB
Connector* c = connector_new();
if (connector_configure(c, pdl, "forward")) {
printf("CONFIG FAILED: %s\n", connector_error_peek());
return 1;
}
if (connector_bind_active(c, 0, "127.0.0.1:7000")) {
printf("BIND0 FAILED: %s\n", connector_error_peek());
return 1;
}
if (connector_bind_native(c, 1)) {
printf("BIND1 FAILED: %s\n", connector_error_peek());
return 1;
}
printf("connecting... \n");
if (connector_connect(c, 10000)) {
printf("CONNECT FAILED: %s\n", connector_error_peek());
return 1;
}
int i;
for (i = 0; i < 3; i++) {
if (connector_get(c, 0)) {
printf("CONNECT GET: %s\n", connector_error_peek());
return 1;
}
if (connector_sync(c, 10000)) {
printf("SYNC FAILED: %s\n", connector_error_peek());
return 1;
}
int msg_len;
const unsigned char * msg;
if (connector_gotten(c, 0, &msg, &msg_len)) {
printf("READ FAILED: %s\n", connector_error_peek());
return 1;
}
printf("received: `%s`\n", msg);
}
printf("OK\n");
connector_destroy(c);
return 0;
}
|