Safe Haskell | None |
---|---|
Language | Haskell2010 |
Temporal.Core.Client.TestService
Synopsis
- hs_get_current_time :: PrimRpcCall
- getCurrentTime :: Client -> IO (Either RpcError GetCurrentTimeResponse)
- hs_lock_time_skipping :: PrimRpcCall
- lockTimeSkipping :: Client -> LockTimeSkippingRequest -> IO (Either RpcError LockTimeSkippingResponse)
- hs_sleep_until :: PrimRpcCall
- sleepUntil :: Client -> SleepUntilRequest -> IO (Either RpcError SleepResponse)
- hs_sleep :: PrimRpcCall
- sleep :: Client -> SleepRequest -> IO (Either RpcError SleepResponse)
- hs_unlock_time_skipping_with_sleep :: PrimRpcCall
- unlockTimeSkippingWithSleep :: Client -> SleepRequest -> IO (Either RpcError SleepResponse)
- hs_unlock_time_skipping :: PrimRpcCall
- unlockTimeSkipping :: Client -> UnlockTimeSkippingRequest -> IO (Either RpcError UnlockTimeSkippingResponse)
Documentation
getCurrentTime :: Client -> IO (Either RpcError GetCurrentTimeResponse) Source #
GetCurrentTime returns the current Temporal Test Server time
This time might not be equal to {@link System#currentTimeMillis()} due to time skipping.
lockTimeSkipping :: Client -> LockTimeSkippingRequest -> IO (Either RpcError LockTimeSkippingResponse) Source #
lockTimeSkipping increments Time Locking Counter by one.
If Time Locking Counter is positive, time skipping is locked (disabled). When time skipping is disabled, the time in test server is moving normally, with a real time pace. Test Server is typically started with locked time skipping and Time Locking Counter = 1.
LockTimeSkipping and UnlockTimeSkipping calls are counted.
sleepUntil :: Client -> SleepUntilRequest -> IO (Either RpcError SleepResponse) Source #
This call returns only when the Test Server Time advances to the specified timestamp.
If the current Test Server Time is beyond the specified timestamp, returns immediately. This is an EXPERIMENTAL API.
sleep :: Client -> SleepRequest -> IO (Either RpcError SleepResponse) Source #
This call returns only when the Test Server Time advances by the specified duration. This is an EXPERIMENTAL API.
unlockTimeSkippingWithSleep :: Client -> SleepRequest -> IO (Either RpcError SleepResponse) Source #
UnlockTimeSkippingWhileSleep decreases time locking counter by one and increases it back once the Test Server Time advances by the duration specified in the request.
This call returns only when the Test Server Time advances by the specified duration.
If it is called when Time Locking Counter is - more than 1 and no other unlocks are coming in, rpc call will block for the specified duration, time will not be fast forwarded. - 1, it will lead to fast forwarding of the time by the duration specified in the request and quick return of this rpc call. - 0 will lead to rpc call failure same way as an unbalanced UnlockTimeSkipping.
hs_unlock_time_skipping :: PrimRpcCall Source #
UnlockTimeSkipping decrements Time Locking Counter by one.
If the counter reaches 0, it unlocks time skipping and fast forwards time. LockTimeSkipping and UnlockTimeSkipping calls are counted. Calling UnlockTimeSkipping does not guarantee that time is going to be fast forwarded as another lock can be holding it.
Time Locking Counter can't be negative, unbalanced calls to UnlockTimeSkipping will lead to rpc call failure