Question about getReadVersion and TaskBucket

I’m trying to implement something like TaskBucket that’s in the core of FDB. I think I understand most of it. The part I’m struggling with is the timeout. It’s basically using getReadVersion to create a timer. I can’t figure out, though, the relation between getReadVersion and wall time. If I wanted to give a task 10 seconds to complete, for example, how does that relate to the “timeout” value?

(I’m also trying to figure out how to map the range(getReadVersion()).end in the C++ code to golang. The C++ appends \xFF to get the end of the range, but I can’t find the equivalent in the golang apis. For the moment, I’m doing the equivalent manually, though I suspect that’s trouble :-))



Ah, curiously the first post I saw this morning was related. It’s apparently ~1,000,000 readVersions per second.