67c67
< Switch::addInPort(const map<int, MessageBuffer*>& in)
---
> Switch::addInPort(const vector<MessageBuffer*>& in)
72c72,74
< it.second->setReceiver(this);
---
> if (it != nullptr) {
> it->setReceiver(this);
> }
77c79
< Switch::addOutPort(const map<int, MessageBuffer*>& out,
---
> Switch::addOutPort(const vector<MessageBuffer*>& out,
90c92
< map<int, MessageBuffer*> intermediateBuffers;
---
> vector<MessageBuffer*> intermediateBuffers;
92,93c94,97
< for (auto& it : out) {
< it.second->setSender(this);
---
> for (int i = 0; i < out.size(); ++i) {
> if (out[i] != nullptr) {
> out[i]->setSender(this);
> }
102c106
< intermediateBuffers[it.first] = buffer_ptr;
---
> intermediateBuffers.push_back(buffer_ptr);