What Helifu said is correct that writes are funneled through the leader.
Reads can either be through the leader (which can perform immediately with full consistency) or at a follower. On a follower, the client can choose between the following:
a) low consistency: read whatever the follower happens to have. Currently this mode is called READ_LATEST in the source but it should probably be called READ_ANYTHING or READ_INCONSISTENT. It reads "the latest thing that this replica has".
b) snapshot consistency at current time: this may cause the follower to wait until it has heard from the leader and knows that it is up-to-date as of the time that the scan started. This gives the same guarantee as reading from the leader but can add some latency
c) snapshot consistency in the past: given a timestamp, the follower can know whether it is up-to-date as of that timestamp. If so, it can do a consistent read immediately. Otherwise, it will have to wait, as above.
Hope that helps