Open
Description
Describe the bug
Connection is dropped shortly after success because of absent heartbeat.
Reproduction steps
- Update to 0.12.0
- Create an RMQConnection instance with some heartbeat interval, 2 seconds for example
- Connect
- In several seconds connection is closed by remote peer. Server logs report there were no heartbeats.
Expected behavior
Connection is long-lived
Additional context
Debugged this to the -[RMQConnection start:]
method, upon completion of a handshake the first thing the connection does is [strongThis.heartbeatSender startWithInterval:@(heartbeatTimeout.integerValue / 2)];
, but the heartbeatSender is nil. heartbeatSender was created during the initialization, though. Found it has been made weak in #194.