Semantic of connect_port
The semantic of connect_port should be clarified, in particular what do we expect from a call to connect_port for an already connected port ? I see three possible behaviours (but there is probably more):
- refuse the connection, and return a specific error port_already_connected (I feel that port_io is a bit too generic and not very clear). If we go this path, we need to expose a disconnect_port method to explictly disconnect input_port.
- overwrite the existing connection quietly
- allows multiples connections for an input port (may induce some fun behaviour :D).
I'm personnally in favour of the first solution.