Files
@ ef37386d0c6f
Branch filter:
Location: CSY/reowolf/examples/pres_5/amy.c - annotation
ef37386d0c6f
1.3 KiB
text/x-csrc
Put expression types of procedures in type table
Before we annotated the AST. But that is silly in hindsight:
certain operations have a completely different meaning when applied
in a polymorphic context (i.e. the field index determined by a
select expression).
Before we annotated the AST. But that is silly in hindsight:
certain operations have a completely different meaning when applied
in a polymorphic context (i.e. the field index determined by a
select expression).
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;
}
|