Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add graceful exit contract to transports (#2107)
ref: phoenixframework/phoenix_pubsub#68 Previously a channel could gracefully terminate using the stop semantics of a regular genserver; however when restarting an application for deploys the shutdown of the transport and channel processes would be indistinguisable from an intentional channel shutdown and would cause clients to incorrectly not reconnect after server restart. This commit adds a {:graceful_exit, channel_pid, %Phoenix.Socket.Message{}} contract to distinguish an intentional channel exit from what should be regarded as an error condition on the client.
- Loading branch information