Files
@ 9f8f7a65f90d
Branch filter:
Location: CSY/reowolf/examples/incr_6/amy.c - annotation
9f8f7a65f90d
1.1 KiB
text/x-csrc
simplified setup procedure's reconnection business. got rid of the finicky waker and waker token, instead relying on simple arithmetic for the timeout. more doc comments in setup and endpoint modules
673882671c9a 673882671c9a 673882671c9a 673882671c9a e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 63f3efc9c886 63f3efc9c886 63f3efc9c886 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 673882671c9a e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 e9c737983088 | /* This example demonstrates:
- Synchronized PUTs and GETs always succeed together.
- Attemping to put without a corresponding GET results in `connector_sync` failing at runtime.
*/
#include <stdio.h>
#include <string.h>
#include "../../reowolf.h"
#include "../utility.c"
int main(int argc, char** argv) {
char * pdl_ptr = buffer_pdl("eg_protocols.pdl");
size_t pdl_len = strlen(pdl_ptr);
Arc_ProtocolDescription * pd = protocol_description_parse(pdl_ptr, pdl_len);
char logpath[] = "./6_amy_log.txt";
Connector * c = connector_new_logging(pd, logpath, sizeof(logpath)-1);
printf("Err %s\n", reowolf_error_peek(NULL));
PortId putter, getter;
connector_add_port_pair(c, &putter, &getter);
connector_connect(c, -1);
connector_print_debug(c);
printf("Let's try to put without get\n");
connector_put_bytes(c, putter, "hello", 5);
// connector_get(c, getter);
int err = connector_sync(c, 5000); // 5000 means 5000millisec timeout duration
printf("Error code %d with string `%s`\n", err, reowolf_error_peek(NULL));
protocol_description_destroy(pd);
connector_destroy(c);
free(pdl_ptr);
return 0;
}
|