Files
@ 1f2d007ac1cc
Branch filter:
Location: CSY/reowolf/examples/6_constraint_solve/main.c - annotation
1f2d007ac1cc
1.6 KiB
text/x-csrc
fleshed out examples
1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc 1f2d007ac1cc | #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "../../reowolf.h"
#include "../utility.c"
int main(int arg_c, char * argv[]) {
int index;
if (arg_c != 2) {
printf("Expected one arg: which peer I am in 0..4");
return 1;
}
index = atoi(argv[1]);
printf("I am peer %d\n", index);
const char* addrs[] = {
"127.0.0.1:7000",
"127.0.0.1:7001",
"127.0.0.1:7002",
"127.0.0.1:7003",
"127.0.0.1:7004",
"127.0.0.1:7005",
};
char * pdl = buffer_pdl("eg_protocols.pdl");
Connector* c = connector_new();
printf("configuring...\n");
check("config ", connector_configure(c, pdl, "xor_three"));
int i, j;
int addr_index = 0;
int port = 0;
for (i = 0; i < 4; i++) {
for (j = i+1; j < 4; j++) {
if (i==index) {
printf("ports %d and %d are for a passive channel to peer %d over addr %s\n", port, port+1, j, addrs[addr_index]);
check("bind an ", connector_bind_native(c, port));
port++;
check("bind a ", connector_bind_active(c, port, addrs[addr_index]));
port++;
} else if (j==index) {
printf("ports %d and %d are for an active channel to peer %d over addr %s\n", port, port+1, i, addrs[addr_index]);
check("bind p ", connector_bind_passive(c, port, addrs[addr_index]));
port++;
check("bind pn ", connector_bind_native(c, port));
port++;
}
addr_index++;
}
}
check("connect", connector_connect(c, 5000));
for (i = 0; i < 4; i++) {
if (i == index) continue;
// another batch
for (j = 0; j < 4; j++) {
}
}
connector_sync();
printf("destroying...\n");
connector_destroy(c);
printf("exiting...\n");
free(pdl);
return 0;
}
|