A Contract is a structure that can be invalidated or expired, on expiration the execute method is called, depending on the contract it could produce a value or not. If the contract is not valid at the time of the check it will be voided and could produce a value depending on the contract.
Contracts are valid futures that can be run to completion on a reactor or awaited in an async block.
ContractContext implementations. Contexts are elements that can be polled to verify wether their inner state is still considered valid or not.
Parkable waker threads.
A FuturesContract produces a value from it's context at it's expire time if it has not been voided before.
Permanent contract that produces a value when it is voided by the underlying context.
Contract that produces a value if secondary context is valid at expiration and it has not been voided by the first context.
Status on completion/invalidation of a contract.
Extention trait for Contracts.