If the remote call passes transaction context where timeout is set as `0` then Narayana consider that value as transaction which should never be timetouted. But the wfly txn client consider the `0` as correct timeout value which means kind of `immediate timeout`.
The Narayana AtomicAction class consider it as -1 (which is used for subordinate transaction) while the transaction reaper consider the value of no timeout to be 0.
The client decreases the timeout based on how much time elapsed from the transaction was started till time the remote call is to be accomplished. That means the timeout `0` can be passes even the transaction is not meant as `to never timeout`.