Files
@ f3a93c423bde
Branch filter:
Location: CSY/reowolf/examples/1_socketlike/bob.c - annotation
f3a93c423bde
1.0 KiB
text/x-csrc
cleaner example 6
952d4edf0cbb 952d4edf0cbb 33da6b69e9a2 952d4edf0cbb aa7efaf3fd9b aa7efaf3fd9b aa7efaf3fd9b 33da6b69e9a2 33da6b69e9a2 33da6b69e9a2 33da6b69e9a2 33da6b69e9a2 33da6b69e9a2 33da6b69e9a2 952d4edf0cbb aa7efaf3fd9b 952d4edf0cbb 33da6b69e9a2 49b9c766fe5a 49b9c766fe5a 49b9c766fe5a 33da6b69e9a2 33da6b69e9a2 952d4edf0cbb aa7efaf3fd9b 952d4edf0cbb 952d4edf0cbb 49b9c766fe5a 33da6b69e9a2 49b9c766fe5a 952d4edf0cbb 952d4edf0cbb 49b9c766fe5a 49b9c766fe5a 33da6b69e9a2 952d4edf0cbb aa7efaf3fd9b aa7efaf3fd9b 33da6b69e9a2 952d4edf0cbb 33da6b69e9a2 952d4edf0cbb 952d4edf0cbb | #include <stdio.h>
#include "../../reowolf.h"
#include "../utility.c"
int main() {
// bob hard-codes his protocol.
char* pdl =
"primitive forward(in i, out o) {"
" while(true) synchronous {"
" put(o, get(i));"
" }"
"}"
;
// setup a connector with one incoming network channel.
Connector* c = connector_new();
printf("configuring...\n");
check("config ", connector_configure(c, pdl, "forward"));
check("bind 0 ", connector_bind_active(c, 0, "127.0.0.1:7000"));
check("bind 1 ", connector_bind_native(c, 1));
printf("connecting...\n");
check("connect", connector_connect(c, 5000));
// receive a message and print it to stdout three times
int i;
for (i = 0; i < 3; i++) {
check("get ", connector_get(c, 0));
check("sync", connector_sync(c, 1000));
int msg_len;
const unsigned char * msg;
check("read", connector_gotten(c, 0, &msg, &msg_len));
printf("Received one message `%s`!\n", msg);
}
// cleanup
printf("destroying...\n");
connector_destroy(c);
printf("exiting...\n");
return 0;
}
|