Plusieurs PO peuvent arriver au Sink
This commit is contained in:
Binary file not shown.
@@ -1007,4 +1007,6 @@ src/CMakeFiles/factory_core.dir/PoolRouter.cpp.o: \
|
||||
/usr/local/include/artis-star-1.0/artis-star/kernel/pdevs/Context.hpp \
|
||||
/usr/include/c++/13/cxxabi.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h \
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp \
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Sink.hpp \
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Machine.hpp
|
||||
|
||||
Binary file not shown.
@@ -1008,5 +1008,4 @@ src/CMakeFiles/factory_core.dir/Sink.cpp.o: \
|
||||
/usr/include/c++/13/cxxabi.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h \
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Machine.hpp \
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp \
|
||||
/usr/include/c++/13/iostream
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp
|
||||
|
||||
@@ -3320,8 +3320,10 @@ src/CMakeFiles/factory_core.dir/Machine.cpp.o
|
||||
src/CMakeFiles/factory_core.dir/PoolRouter.cpp.o
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/PoolRouter.cpp
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Base.hpp
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Machine.hpp
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/PoolRouter.hpp
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp
|
||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Sink.hpp
|
||||
/usr/include/alloca.h
|
||||
/usr/include/asm-generic/errno-base.h
|
||||
/usr/include/asm-generic/errno.h
|
||||
@@ -9953,7 +9955,6 @@ src/CMakeFiles/factory_core.dir/Sink.cpp.o
|
||||
/usr/include/c++/13/initializer_list
|
||||
/usr/include/c++/13/ios
|
||||
/usr/include/c++/13/iosfwd
|
||||
/usr/include/c++/13/iostream
|
||||
/usr/include/c++/13/istream
|
||||
/usr/include/c++/13/iterator
|
||||
/usr/include/c++/13/limits
|
||||
|
||||
@@ -3316,8 +3316,10 @@ src/CMakeFiles/factory_core.dir/Machine.cpp.o: src/Machine.cpp \
|
||||
|
||||
src/CMakeFiles/factory_core.dir/PoolRouter.cpp.o: src/PoolRouter.cpp \
|
||||
src/Base.hpp \
|
||||
src/Machine.hpp \
|
||||
src/PoolRouter.hpp \
|
||||
src/ProductionOrder.hpp \
|
||||
src/Sink.hpp \
|
||||
/usr/include/alloca.h \
|
||||
/usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/asm-generic/errno.h \
|
||||
@@ -9943,7 +9945,6 @@ src/CMakeFiles/factory_core.dir/Sink.cpp.o: src/Sink.cpp \
|
||||
/usr/include/c++/13/initializer_list \
|
||||
/usr/include/c++/13/ios \
|
||||
/usr/include/c++/13/iosfwd \
|
||||
/usr/include/c++/13/iostream \
|
||||
/usr/include/c++/13/istream \
|
||||
/usr/include/c++/13/iterator \
|
||||
/usr/include/c++/13/limits \
|
||||
@@ -11277,8 +11278,6 @@ src/Stock.hpp:
|
||||
|
||||
src/Stock.cpp:
|
||||
|
||||
src/Sink.hpp:
|
||||
|
||||
src/Separator.cpp:
|
||||
|
||||
src/Router.hpp:
|
||||
@@ -11299,6 +11298,8 @@ src/ProductionOrder.cpp:
|
||||
|
||||
src/Processor.hpp:
|
||||
|
||||
src/Sink.hpp:
|
||||
|
||||
/usr/include/c++/13/bits/locale_facets.tcc:
|
||||
|
||||
/usr/include/boost/preprocessor/repetition/limits/repeat_256.hpp:
|
||||
@@ -12735,8 +12736,6 @@ src/ProductionOrder.hpp:
|
||||
|
||||
/usr/include/c++/13/tr1/ell_integral.tcc:
|
||||
|
||||
/usr/include/c++/13/iostream:
|
||||
|
||||
/usr/include/c++/13/bits/hash_bytes.h:
|
||||
|
||||
/usr/include/boost/smart_ptr/shared_ptr.hpp:
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
*/
|
||||
|
||||
#include "PoolRouter.hpp"
|
||||
#include "Sink.hpp"
|
||||
|
||||
namespace artis::factory {
|
||||
|
||||
@@ -47,7 +48,15 @@ void PoolRouter::dint(const Time & /* t */) {
|
||||
} else if ((*it)->current_operation().get_type() == CHANGE_POOL_TYPE) {
|
||||
_available_machines[(*it)->previous_operation()->get_loc_index()] = true;
|
||||
} else {
|
||||
_available_machines[(*it)->current_operation().get_loc_index()] = false;
|
||||
//_available_machines[(*it)->current_operation().get_loc_index()] = false;
|
||||
auto idx = (*it)->current_operation().get_loc_index();
|
||||
|
||||
// Modifié pour gérer le Sink
|
||||
if (idx == _available_machines.size()-1) {// Par simplicité, je considère que la dernière machine connectée est le Sink
|
||||
_available_machines[idx] = true;// Et si idx est le dernier index, alors cette "machine" reste disponible
|
||||
} else {
|
||||
_available_machines[idx] = false;
|
||||
}
|
||||
}
|
||||
_pending_po.erase(it);
|
||||
if (std::find_if(_pending_po.cbegin(), _pending_po.cend(), [this](const auto &e) {
|
||||
@@ -150,4 +159,4 @@ PoolRouter::ProductionOrders::const_iterator PoolRouter::next_po() const {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace artis::factory
|
||||
} // namespace artis::factory
|
||||
|
||||
@@ -25,9 +25,8 @@
|
||||
*/
|
||||
|
||||
#include "Sink.hpp"
|
||||
#include <iostream>
|
||||
|
||||
namespace artis::factory { // TODO : Peut être qu'il manque du code dans cette classe. Pour le moment, le test tourne à l'infini. Trouver où ça coince et ce qu'il manque
|
||||
namespace artis::factory {
|
||||
|
||||
void Sink::dint(const Time &/*t*/) {
|
||||
// TODO
|
||||
@@ -52,7 +51,6 @@ void Sink::dext(const Time &t, const Time & /* e */, const Bag &bag) {
|
||||
Trace::trace().flush();
|
||||
#endif
|
||||
_pos.push_back(std::move(po));//Je ne peux pas dupliquer ce pointer unique dans la liste, je dois explicitement le déplacer.
|
||||
std::cout << "PING" << std::endl;
|
||||
_phase = Phase::LOADED;
|
||||
|
||||
}
|
||||
|
||||
Binary file not shown.
57476
test/PoolRouter.csv
57476
test/PoolRouter.csv
File diff suppressed because it is too large
Load Diff
BIN
test/test_simple
BIN
test/test_simple
Binary file not shown.
Reference in New Issue
Block a user