Timed Wait
Sometimes it is useful to pause the current process for a certain amount of time. For instance, when a client needs a response from a server, the client may wait a certain amount of time or wait for a certain condition to happen before proceeding. One such case is while logging into a server.
VA Smalltalk has long had classes named Delay and AbtTimedWait which can accomplish this.
EsTimedWait is more performant than Delay and has a more enhanced API. In addition, since the mechanism for providing the pause in execution couples closely with the operating system, the timer is more high resolution than the older implementations.
If you use the AbtTimedWait (or AbtConditionalWait) to accomplish a delay in execution and do not otherwise need the Abt layer e.g. for. The VA Smalltalk parts, you might consider using the EsTimedWait (or EsConditionalWait) instead. The advantage of the EsTimedWait is that it is implemented in the kernel rather than the Abt layer, requiring less overhead. The EsTimedWait relies on FFI asynchronous calls rather than the VAST co-routine framework.
Last modified date: 09/18/2020