adaptive rate locking