12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /*
- * mycoagent.c
- *
- * This is an example agent that showcases the use of mycorrhiza.
- */
- #include "../src/myco-agent.c"
- #include "../src/myco-serialize.c"
- int main() {
- char *agent_name = "DOMAIN1_MYAGENT";
- int agent_message_queue_id = myco_agent_register(agent_name);
- // MYCO create
- // #MYCO create("RESOURCE_1", 1024, transactional)
- char *resource_name = "RESOURCE_1";
- int resource_size = 1024;
- void *resource_pointer = myco_agent_register_resource(agent_message_queue_id, agent_name, resource_name, RESOURCE_TRANSACTIONAL, getpid(), resource_size);
- // View available resources
- myco_agent_request_resource_list(agent_message_queue_id);
- printf("Sleeping for 10 seconds...\n");
- sleep(10);
- //TODO: Bandaid solution. This needs to be in the daemon later on.
- printf("Sending data.\n");
- struct sockaddr_in address;
- int mysocket = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
- address.sin_family = AF_INET;
- address.sin_port = htons (15001);
- inet_aton ("192.168.0.10", &address.sin_addr);
- connect (mysocket, (struct sockaddr *) &address, sizeof (address));
- // Handle indexer
- char tcp_message[resource_size];
- myco_serialize(tcp_message, resource_pointer, resource_size);
- send(socket, tcp_message, strlen(tcp_message), 0);
- // At the end of its runtime the agent unregisters with the daemon.
- myco_agent_unregister(agent_name, agent_message_queue_id);
- return EXIT_SUCCESS;
- }
|