diff --git a/examples/pres_1/bob.c b/examples/pres_1/bob.c index fcc81fb8a3f2971c1e6604c77bf7217721119bb4..dbaee3b8c850fa1d6ca9f96561091ba36a09280d 100644 --- a/examples/pres_1/bob.c +++ b/examples/pres_1/bob.c @@ -2,31 +2,37 @@ #include "../../reowolf.h" #include "../utility.c" + int main(int argc, char** argv) { - // Create a connector... + // Create a connector, configured with our (trivial) protocol. Arc_ProtocolDescription * pd = protocol_description_parse("", 0); char logpath[] = "./pres_1_bob.txt"; Connector * c = connector_new_logging(pd, logpath, sizeof(logpath)-1); - printf("Error str `%s`\n", reowolf_error_peek(NULL)); + rw_err_peek(c); // ... with 1 outgoing network connection PortId p0; char addr_str[] = "127.0.0.1:8000"; - connector_add_net_port( - c, &p0, addr_str, sizeof(addr_str)-1, Polarity_Putter, EndpointPolarity_Passive); - printf("Error str `%s`\n", reowolf_error_peek(NULL)); + connector_add_net_port(c, &p0, addr_str, sizeof(addr_str)-1, + Polarity_Getter, EndpointPolarity_Active); + rw_err_peek(c); - // Connect (5000ms timeout). Begin communication. + // Connect with peers (5000ms timeout). connector_connect(c, 5000); - printf("Error str `%s`\n", reowolf_error_peek(NULL)); + rw_err_peek(c); - // Send a single 2-byte message... - connector_put_bytes(c, p0, "hi", 2); - printf("Error str `%s`\n", reowolf_error_peek(NULL)); + // Prepare to receive a message. + connector_get(c, p0); + rw_err_peek(c); - // ... and acknowledge receipt within 1000ms. + // ... reach new consistent state within 1000ms deadline. connector_sync(c, 1000); - printf("Error str `%s`\n", reowolf_error_peek(NULL)); + rw_err_peek(c); + + // Read our received message + size_t msg_len; + const char * msg_ptr = connector_gotten_bytes(c, p0, &msg_len); + printf("Got msg `%.*s`\n", msg_len, msg_ptr); printf("Exiting\n"); protocol_description_destroy(pd);