A monotonic time source in milliseconds, injected into the resiliencemiddlewares (rate-limit, breaker, timeout) so their timing logic is a purefunction of an explicit clock rather than a hidden wall-clock read. go-zeroreads timex.Now() directly; because that is neither portable acrossMoonBit's backends nor testable, moonzero threads the clock as a value — thesame pattern Go's clockwork/x/time/rate accept for a Clock.
The platform clock, in milliseconds since the Unix epoch (← go-zero'stimex.Now()). Every backend can read it, so a service that has no reason toinject its own time source can take this one.
A deterministic, hand-advanced clock for tests and for driving the rate-limit/ breaker cores without a real time source. Wall time is replaced by anexplicit advance, so a token bucket's refill or a breaker's open window canbe exercised exactly.