solve via vector per key? but then would be for all edges and components would have to check if they received one or multiple IP sinks, which is fine.
Currently errors:
Implementation plan:
in runtime.start()
change process outports data structure from HashMap<portname, ...> to MultiMap
add check if edges having the same source process are originating from a component arrayport
add check for graph-inport if that has multiple edges going away from it, that is not allowed.
change Component trait, resp. the struct of ProcessOutports from HashMap to MultiMap
adjust all components' run()
adjust HTTPServer component
This also requires adding support for multiple connections per inport, since these multiple outgoing connections from an arrayport need to go somewhere :-D
change Component trait -> struct of ProcessInports from HashMap to MultiMap
in runtime.start()
add handing over of process inports
add check if process inport is an arrayport to support multiple incoming connections
... which necessitates a Muxer component :-)
add Muxer component
fix thread handle replacement for outports which is now a MultiMap ;-)
Test handling of multiple connections into graph outport - that is not possible from the datastructures already. I graph outport has a fixed source, it is coming from a single connection. The graph outport is not addressable in an edge, as it is not a component.
Currently errors:
Implementation plan:
This also requires adding support for multiple connections per inport, since these multiple outgoing connections from an arrayport need to go somewhere :-D
... which necessitates a Muxer component :-)