code: def send(self, enc, load, tries=1, timeout=60):
          '''
          Takes two arguments, the encryption type and the base payload
          '''
          payload = {'enc': enc}
          payload['load'] = load
          pkg = self.serial.dumps(payload)
          self.socket.send(pkg)
          self.poller.register(self.socket, zmq.POLLIN)
          tried = 0
          while True:
              polled = self.poller.poll(timeout * 1000)
              tried += 1
              if polled:
                  break
              if tries > 1:
                  log.info(
                      'SaltReqTimeoutError: after %s seconds. (Try %s of %s)',
                      timeout, tried, tries
                  )
              if tried >= tries:
                  self.clear_socket()
                  raise SaltReqTimeoutError(
                      'SaltReqTimeoutError: after {0} seconds, ran {1} '
                      'tries'.format(timeout * tried, tried)
                  )
          return self.serial.loads(self.socket.recv()f send(self, enc, load, tries=1, timeout=60):
          '''
          Takes two arguments, the encryption type and the base payload
          '''
          payload = {'enc': enc}
          payload['load'] = load
          pkg = self.serial.dumps(payload)
          self.socket.send(pkg)
          self.poller.register(self.socket, zmq.POLLIN)
          tried = 0
          while True:
              polled = self.poller.poll(timeout * 1000)
              tried += 1
              if polled:
                  break
              if tries > 1:
                  log.info(
                      'SaltReqTimeoutError: after %s seconds. (Try %s of %s)',
                      timeout, tried, tries
                  )
              if tried >= tries:
                  self.clear_socket()
                  raise SaltReqTimeoutError(
                      'SaltReqTimeoutError: after {0} seconds, ran {1} '
                      'tries'.format(timeout * tried, tried)
                  )
          return self.serial.loads(self.socket.recv())
docs: Takes two arguments, the encryption type and the base payload