I read here about how JACK handles the client ordering using the sortfeeds and truefeeds list https://github.com/jackaudio/jackaudio.github.com/wiki/A_guide_to_the_Jack1_source_code#data-structures

So with a graph like this:

A -> B -> C

When I make a connection between C and A:

C -> A

Then C will be added to A's sortfeeds list and the processing order will be retained: [A, B, C].
My question is: when does A actually get C's output data? If JACK allows the connection, then A should get as input C's output data. Is there a one-cycle delay? That's kind of what I interpreted this to mean.

I also read this but didn't walk away with a clear idea of what JACK actually does.

This paper says

In the event of feedback loops, there is no ”correct” ordering of the graph, so Jack just picks one of the legal possibilities.

Is the "legal" choice that JACK is making here the same thing as what is discussed on the Wiki page at the top of my post? 

Also, do jack2 and jack1 behave the same in this regard?