즉시 tryLock과 timed tryLock의 호출자 대기

backpressure를 바로 돌려줄지 제한 시간 동안 흡수할지 선택한다.

tryLock()

queue에서 기다리지 않고 현재 가능 여부를 바로 반환한다

latency minimal

tryLock(duration)

deadline까지 WAITING하고 성공·timeout·interrupt를 구분한다

bounded wait
재시도busy loop 대신 queue·backoff·fallback 정책을 사용한다

핵심: 각 downstream에 새 timeout을 주지 말고 전체 request deadline의 남은 값을 전달한다.