Currently we don't have the relink functionality in libprocess. i.e. A way to create a new persistent connection between actors, even if a connection already exists.
This can benefit us in a couple of ways:
- The application may have more information on the state of a connection than libprocess does, as libprocess only checks if the connection is alive or not. For example, a linkee may accept a connection, then fork, pass the connection to a child, and subsequently exit. As the connection is still active, libprocess may not detect the exit.
- Sometimes, the ExitedEvent might be delayed or might be dropped due to the remote instance being unavailable (e.g., partition, network intermediaries not sending RST's etc).