code: def _do_watch_progress(filename, sock, handler):
      
      connection, client_address = sock.accept()
      data = b''
      try:
          while True:
              more_data = connection.recv(16)
              if not more_data:
                  break
              data += more_data
              lines = data.split(b'\n')
              for line in lines[:-1]:
                  line = line.decode()
                  parts = line.split('=')
                  key = parts[0] if len(parts) > 0 else None
                  value = parts[1] if len(parts) > 1 else None
                  handler(key, value)
              data = lines[-1]
      finally:
          connection.close()
docs: Function to run in a separate gevent greenlet to read progress
      events from a unix-domain socket.