When using MPI, we typically call send only on the root process, but receive on all processes. If you want to explicitly check whether a port is connected before sending, then it gives cleaner code if you do that only on the root process. This is currently supported by is_connected(). If you want to explicitly check whether a port is connected before receiving, then it gives cleaner code if you do that on all processes, but is_connected() can currently only be called on the root process.
So, it would be nicer if is_connected() were callable either on all processes, or only on the root process, like get_settings(). To do this, we would have to broadcast this information when constructing the Instance, like we do with the settings.
Other methods that should be likewise updated:
list_ports()
is_vector_port()
is_resizable()
get_port_length()
set_port_length() would be used only for sending ports, so it can remain root process-only, and that would save some implementation complexity.
When using MPI, we typically call send only on the root process, but receive on all processes. If you want to explicitly check whether a port is connected before sending, then it gives cleaner code if you do that only on the root process. This is currently supported by
is_connected()
. If you want to explicitly check whether a port is connected before receiving, then it gives cleaner code if you do that on all processes, butis_connected()
can currently only be called on the root process.So, it would be nicer if
is_connected()
were callable either on all processes, or only on the root process, likeget_settings()
. To do this, we would have to broadcast this information when constructing theInstance
, like we do with the settings.Other methods that should be likewise updated:
list_ports()
is_vector_port()
is_resizable()
get_port_length()
set_port_length()
would be used only for sending ports, so it can remain root process-only, and that would save some implementation complexity.