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/local/include/artis-star-1.0/artis-star/kernel/pdevs/Context.hpp \
|
||||||
/usr/include/c++/13/cxxabi.h \
|
/usr/include/c++/13/cxxabi.h \
|
||||||
/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.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/c++/13/cxxabi.h \
|
||||||
/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.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/Machine.hpp \
|
||||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp \
|
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp
|
||||||
/usr/include/c++/13/iostream
|
|
||||||
|
|||||||
@@ -3320,8 +3320,10 @@ src/CMakeFiles/factory_core.dir/Machine.cpp.o
|
|||||||
src/CMakeFiles/factory_core.dir/PoolRouter.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/PoolRouter.cpp
|
||||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Base.hpp
|
/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/PoolRouter.hpp
|
||||||
/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
|
||||||
/usr/include/alloca.h
|
/usr/include/alloca.h
|
||||||
/usr/include/asm-generic/errno-base.h
|
/usr/include/asm-generic/errno-base.h
|
||||||
/usr/include/asm-generic/errno.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/initializer_list
|
||||||
/usr/include/c++/13/ios
|
/usr/include/c++/13/ios
|
||||||
/usr/include/c++/13/iosfwd
|
/usr/include/c++/13/iosfwd
|
||||||
/usr/include/c++/13/iostream
|
|
||||||
/usr/include/c++/13/istream
|
/usr/include/c++/13/istream
|
||||||
/usr/include/c++/13/iterator
|
/usr/include/c++/13/iterator
|
||||||
/usr/include/c++/13/limits
|
/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/CMakeFiles/factory_core.dir/PoolRouter.cpp.o: src/PoolRouter.cpp \
|
||||||
src/Base.hpp \
|
src/Base.hpp \
|
||||||
|
src/Machine.hpp \
|
||||||
src/PoolRouter.hpp \
|
src/PoolRouter.hpp \
|
||||||
src/ProductionOrder.hpp \
|
src/ProductionOrder.hpp \
|
||||||
|
src/Sink.hpp \
|
||||||
/usr/include/alloca.h \
|
/usr/include/alloca.h \
|
||||||
/usr/include/asm-generic/errno-base.h \
|
/usr/include/asm-generic/errno-base.h \
|
||||||
/usr/include/asm-generic/errno.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/initializer_list \
|
||||||
/usr/include/c++/13/ios \
|
/usr/include/c++/13/ios \
|
||||||
/usr/include/c++/13/iosfwd \
|
/usr/include/c++/13/iosfwd \
|
||||||
/usr/include/c++/13/iostream \
|
|
||||||
/usr/include/c++/13/istream \
|
/usr/include/c++/13/istream \
|
||||||
/usr/include/c++/13/iterator \
|
/usr/include/c++/13/iterator \
|
||||||
/usr/include/c++/13/limits \
|
/usr/include/c++/13/limits \
|
||||||
@@ -11277,8 +11278,6 @@ src/Stock.hpp:
|
|||||||
|
|
||||||
src/Stock.cpp:
|
src/Stock.cpp:
|
||||||
|
|
||||||
src/Sink.hpp:
|
|
||||||
|
|
||||||
src/Separator.cpp:
|
src/Separator.cpp:
|
||||||
|
|
||||||
src/Router.hpp:
|
src/Router.hpp:
|
||||||
@@ -11299,6 +11298,8 @@ src/ProductionOrder.cpp:
|
|||||||
|
|
||||||
src/Processor.hpp:
|
src/Processor.hpp:
|
||||||
|
|
||||||
|
src/Sink.hpp:
|
||||||
|
|
||||||
/usr/include/c++/13/bits/locale_facets.tcc:
|
/usr/include/c++/13/bits/locale_facets.tcc:
|
||||||
|
|
||||||
/usr/include/boost/preprocessor/repetition/limits/repeat_256.hpp:
|
/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/tr1/ell_integral.tcc:
|
||||||
|
|
||||||
/usr/include/c++/13/iostream:
|
|
||||||
|
|
||||||
/usr/include/c++/13/bits/hash_bytes.h:
|
/usr/include/c++/13/bits/hash_bytes.h:
|
||||||
|
|
||||||
/usr/include/boost/smart_ptr/shared_ptr.hpp:
|
/usr/include/boost/smart_ptr/shared_ptr.hpp:
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "PoolRouter.hpp"
|
#include "PoolRouter.hpp"
|
||||||
|
#include "Sink.hpp"
|
||||||
|
|
||||||
namespace artis::factory {
|
namespace artis::factory {
|
||||||
|
|
||||||
@@ -47,7 +48,15 @@ void PoolRouter::dint(const Time & /* t */) {
|
|||||||
} else if ((*it)->current_operation().get_type() == CHANGE_POOL_TYPE) {
|
} else if ((*it)->current_operation().get_type() == CHANGE_POOL_TYPE) {
|
||||||
_available_machines[(*it)->previous_operation()->get_loc_index()] = true;
|
_available_machines[(*it)->previous_operation()->get_loc_index()] = true;
|
||||||
} else {
|
} 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);
|
_pending_po.erase(it);
|
||||||
if (std::find_if(_pending_po.cbegin(), _pending_po.cend(), [this](const auto &e) {
|
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 "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*/) {
|
void Sink::dint(const Time &/*t*/) {
|
||||||
// TODO
|
// TODO
|
||||||
@@ -52,7 +51,6 @@ void Sink::dext(const Time &t, const Time & /* e */, const Bag &bag) {
|
|||||||
Trace::trace().flush();
|
Trace::trace().flush();
|
||||||
#endif
|
#endif
|
||||||
_pos.push_back(std::move(po));//Je ne peux pas dupliquer ce pointer unique dans la liste, je dois explicitement le déplacer.
|
_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;
|
_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