Files
@ 1f3007fd929e
Branch filter:
Location: CSY/reowolf/examples/pres_5/amy.c - annotation
1f3007fd929e
1.3 KiB
text/x-csrc
restricted pseudo-socket API to connection-oriented API
7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 14c1a07d148a 14c1a07d148a 7f75e1f23836 14c1a07d148a 14c1a07d148a 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 7f75e1f23836 |
#include "../../reowolf.h"
#include "../utility.c"
int main(int argc, char** argv) {
// Create a connector, configured with our (trivial) protocol.
Arc_ProtocolDescription * pd = protocol_description_parse("", 0);
char logpath[] = "./pres_3_amy.txt";
Connector * c = connector_new_logging(pd, logpath, sizeof(logpath)-1);
rw_err_peek(c);
// ... with 2 outgoing network connections
PortId ports[2];
FfiSocketAddr addr = {{127,0,0,1}, 8000};
connector_add_net_port(c, &ports[0], addr, Polarity_Putter, EndpointPolarity_Passive);
rw_err_peek(c);
addr.port = 8001;
connector_add_net_port(c, &ports[1], addr, Polarity_Putter, EndpointPolarity_Passive);
rw_err_peek(c);
// Connect with peers (5000ms timeout).
connector_connect(c, 5000);
rw_err_peek(c);
printf("Round 0. Putting {ports[0]=\"r0p0\", ports[1]=\"r0p1\"}\n");
connector_put_bytes(c, ports[0], "r0p0", 4);
connector_put_bytes(c, ports[1], "r0p1", 4);
connector_sync(c, 1000);
rw_err_peek(c);
printf("Round 1. Putting {ports[1]=\"r1p1\"}\n");
connector_put_bytes(c, ports[1], "r1p1", 4);
connector_sync(c, 1000);
rw_err_peek(c);
printf("Round 2. Putting {ports[0]=\"r2p0\"}\n");
connector_put_bytes(c, ports[0], "r2p0", 4);
connector_sync(c, 1000);
rw_err_peek(c);
printf("\nExiting\n");
protocol_description_destroy(pd);
connector_destroy(c);
sleep(1.0);
return 0;
}
|