code: def _start_loop(self, websocket, event_handler):
  		
  		log.debug('Starting websocket loop')
  		while True:
  			try:
  				yield from asyncio.wait_for(
  					self._wait_for_message(websocket, event_handler),
  					timeout=self.options['timeout']
  				)
  			except asyncio.TimeoutError:
  				yield from websocket.pong()
  				log.debug("Sending heartbeat...")
  				continue
docs: We will listen for websockets events, sending a heartbeat/pong everytime
  		we react a TimeoutError. If we don't the webserver would close the idle connection,
  		forcing us to reconnect.