I think you meant "fail-fast", which is the opposite of wait-for-ready.
A wait-for-ready RPC will persist until it's sent to a server or meets its deadline.
Fail-fast means the RPC will fail if there is any connection-level error, which could be but no limited to name resolution error, connection refused, or handshake failed. However, RPCs will wait if connection is in progress.
Tim, the fail-fast behavior (which is the default) should work for you. Every connection failure will come back as a stream failure if you always create a new stream as soon as the previous one finishes.