U vi @ s d dl Z d dlZd dlmZmZ d dlmZmZmZ d dlm Z mZ d dl mZ d dlm Z mZ ddlmZ dd lmZ e d ZdZedZG d d deZdS ) N)datetime timedelta)AnyOptionalTypeVar)abctyping)AbsoluteTime)ArgumentOutOfRangeException PriorityQueue )PeriodicScheduler) ScheduledItemZRxd _TStatec s, e Zd ZdZd#edd fdd Zejddd Zeed Z ee dddZd$eje ee ejd ddZd%ejeje ee ejdddZd&ejeje ee ejdddZedddZddddZejddddZejddddZejddddZeejejejd d!d"Z ZS )'VirtualTimeSchedulerzcVirtual Scheduler. This scheduler should work with either datetime/timespan or ticks as int/intr N) initial_clockreturnc s, t || _d| _t | _t | _dS )zCreates a new virtual time scheduler with the specified initial clock value. Args: initial_clock: Initial value for the clock. FN) super__init___clock_is_enabled threadingLock_lockr _queue)selfr __class__ Y/opt/alt/python38/lib/python3.8/site-packages/reactivex/scheduler/virtualtimescheduler.pyr s zVirtualTimeScheduler.__init__)r c C s$ | j | jW 5 Q R S Q R X d S )N)r r r r r r _get_clock&