- Class vtkSocketController
- Note that because process 0 will always correspond to self, this class breaks assumptions usually implied when using ad-hoc polymorphism. That is, the vtkSocketController will behave differently than other subclasses of vtkMultiProcessController. If you upcast vtkSocketController to vtkMultiProcessController and send it to a method that does not know that the object is actually a vtkSocketController, the object may not behave as intended. For example, if that oblivious class chose to identify a "root" based on the local process id, then both sides of the controller will think they are the root (and that will probably lead to deadlock). If you plan to upcast to vtkMultiProcessController, you should probably use the CreateCompliantController instead.
- Class vtkSubCommunicator
- Because all communication is delegated to the original communicator, any error will report process ids with respect to the original communicator, not this communicator that was actually used.