#include #include #include "../../reowolf.h" int main() { // ALICE char* pdl ="\ primitive forward(in i, out o) {\ while(true) synchronous {\ put(o, get(i));\ }\ }"; char msg_buf[128]; memset(msg_buf, 0, 128); printf("input a message to send:"); if (fgets(msg_buf, 128-1, stdin) == NULL) { printf("LINE READ BAD\n"); return 1; } int msg_len = strlen(msg_buf); msg_buf[msg_len-1] = 0; printf("sending msg `%s`\n", msg_buf); Connector* c = connector_new(); if (connector_configure(c, pdl, "forward")) { printf("CONFIG FAILED: %s\n", connector_error_peek()); return 1; } if (connector_bind_native(c, 0)) { printf("BIND0 FAILED: %s\n", connector_error_peek()); return 1; } if (connector_bind_passive(c, 1, "127.0.0.1:7000")) { 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_put(c, 0, msg_buf, msg_len)) { printf("CONNECT PUT: %s\n", connector_error_peek()); return 1; } if (connector_sync(c, 10000)) { printf("SYNC FAILED: %s\n", connector_error_peek()); return 1; } printf("SEND OK\n"); } printf("OK\n"); connector_destroy(c); return 0; }