Question about isDirty command

hi, all.

Does anyone know what's the difference between "-connection" and "datablock" mode dirty detection ? After testing i found "-d" mode seems just i want that reflect whether data are actually clean. well, how about "-c" mode ? Is any special usage about this mode ?

datablocks are the nodes internal data, plugs are the user interface of said data. They are the different sides of the coin. The naming in mel differes from the naming of the api on purpose, Attributes is all users get, and they are what would be called plugs in the api.

Now when thinsg are connected then the plug on one side is equal to the plug on the other. So the plug may be clean because the other side of the connection thinks so, but the node in question may have a different idea about this of this since it hasnt got to react it. In general they would be the same, except for some kinds of constraints and other input output connections that dirty on themselves. Usually a difference is just a indication of some design issues.

Thanks your reply .
Just as you say, after doing some tests i discover plug will be considered clean when the other side of the connection plug is clean, even itself's data are dirty. I think this command is just for debugging.