X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/f620be5869815a0dccd5b37089c2ee91399915e4..c771a55e40d2a41d607a0da1b67cd1f7d546ccc8:/process.h diff --git a/process.h b/process.h index 3baabbf..a49c6ef 100644 --- a/process.h +++ b/process.h @@ -1,8 +1,9 @@ #ifndef PROCESS_H #define PROCESS_H +#include #include -#include +#include #include "communicator.h" #include "neighbor.h" @@ -13,18 +14,29 @@ public: int run(); private: - communicator comm; std::vector neigh; - double load; - double expected_load; + std::map rev_neigh; + communicator comm; int ctrl_close_pending; int data_close_pending; + unsigned iter; + + double load; + double expected_load; + void compute(); + virtual double load_balance(double my_load); + void send1_no_bookkeeping(neighbor& nb); + void send1_bookkeeping(neighbor& nb); + void send(); bool receive(bool wait_for_close); + void finalize1(neighbor& nb); void finalize(); void print_loads(e_xbt_log_priority_t logp = xbt_log_priority_info); + + void insert_neighbor_in_map(neighbor& nb); }; #endif // !PROCESS_H