docs: def __send_message(self, proto, payload):
          # pylint: disable=no-self-use
          """Sends a message"""
  
          try:
              if not isinstance(payload, bytes):
                  payload = payload.encode("utf-8")
              if not proto.connected:
                  raise IOError("not connected")
              proto.sendMessage(payload)
              logger.debug("sent: %r", payload)
          except Exception as ex:
              logger.exception("Failed to send message")
              proto.reraise(ex)