| Utilities for the OpenFlow test framework |
| default_timeout = None # set by oft |
| return random.randrange(1,0xffffffff) |
| Wait on a condition variable until the given function returns non-None or a timeout expires. |
| The condition variable must already be acquired. |
| The timeout value -1 means use the default timeout. |
| There is deliberately no support for an infinite timeout. |
| TODO: get the default timeout from configuration |
| def timed_wait(cv, fn, timeout=-1): |
| # TODO make this configurable |
| timeout = default_timeout |
| end_time = time.time() + timeout |
| remaining_time = end_time - time.time() |
| if time.time() > end_time: |