2 * @file frescan_negotiation_threads.h
4 * @brief FRESCAN negotiation threads
6 * This module contains the acceptor threads and the master thread for local
7 * negotiations, with functions to create them.
13 * @author Daniel Sangorrin <daniel.sangorrin@unican.es>
17 #ifndef _FRESCAN_NEGOTIATION_THREADS_H_
18 #define _FRESCAN_NEGOTIATION_THREADS_H_
23 * frescan_master_neg_thread_create()
25 * This call creates the thread in charge of LOCAL negotiations at the
26 * MASTER node, so in the rest of nodes it doesnt have to be called at
27 * initialization. This thread will await in a local request queue for
28 * LOCAL negotiation requests from threads in the same CPU.
29 * In the case of SLAVE nodes, the negotiation requests are simply performed
30 * by sending an appropiate message to the MASTER node and then awaiting
31 * in a reply object until an acceptor thread signals it.
34 extern int frescan_master_neg_thread_create(frescan_network_t net);
37 * frescan_acceptor_thread_create()
39 * This call is called in every node (including the MASTER node) conforming
40 * a set of threads, one at each node, that awaits negotiation messages
41 * from a receive endpoint and perform the corresponding operations.
44 extern int frescan_acceptor_thread_create(frescan_network_t net);
46 #endif // _FRESCAN_NEGOTIATION_THREADS_H_