def heartbeat_timeout(self):
assert not self._closed, "<STR_LIT>"<EOL>log.error("<STR_LIT>")<EOL>poison_exc = ConnectionLostError('<STR_LIT>')<EOL>poison_frame = frames.PoisonPillFrame(poison_exc)<EOL>self.dispatcher.dispatch_all(poison_frame)<EOL>self.close()<EOL>
Called by heartbeat_monitor on timeout