diff --git a/examples/0_forward/bob.c b/examples/0_forward/bob.c new file mode 100644 index 0000000000000000000000000000000000000000..695fd9511821cd5a44d7ed0b179699bbfbf323b3 --- /dev/null +++ b/examples/0_forward/bob.c @@ -0,0 +1,55 @@ +#include +#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; +} \ No newline at end of file