myconetwork.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * mycoagent.c
  3. *
  4. * This is an example agent that showcases the use of mycorrhiza.
  5. */
  6. #include "../src/myco-agent.c"
  7. #include "../src/myco-serialize.c"
  8. int main() {
  9. char *agent_name = "DOMAIN1_MYAGENT";
  10. int agent_message_queue_id = myco_agent_register(agent_name);
  11. // MYCO create
  12. // #MYCO create("RESOURCE_1", 1024, transactional)
  13. char *resource_name = "RESOURCE_1";
  14. int resource_size = 1024;
  15. void *resource_pointer = myco_agent_register_resource(agent_message_queue_id, agent_name, resource_name, RESOURCE_TRANSACTIONAL, getpid(), resource_size);
  16. // View available resources
  17. myco_agent_request_resource_list(agent_message_queue_id);
  18. printf("Sleeping for 10 seconds...\n");
  19. sleep(10);
  20. //TODO: Bandaid solution. This needs to be in the daemon later on.
  21. struct sockaddr_in address;
  22. int mysocket = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
  23. address.sin_family = AF_INET;
  24. address.sin_port = htons (15001);
  25. inet_aton ("192.168.0.10", &address.sin_addr);
  26. connect (mysocket, (struct sockaddr *) &address, sizeof (address));
  27. // Handle indexer
  28. char tcp_message[resource_size];
  29. //myco_serialize(tcp_message, resource_pointer, resource_size);
  30. //send(socket, tcp_message, strlen(tcp_message), 0);
  31. printf("Sending data.\n");
  32. send(socket, "hello world\n", strlen("hello world\n"), 0);
  33. // At the end of its runtime the agent unregisters with the daemon.
  34. myco_agent_unregister(agent_name, agent_message_queue_id);
  35. return EXIT_SUCCESS;
  36. }