def resource(): print("create resource at {}".format(datetime.datetime.now())) def dispose(): print("dispose resource at {}".format(datetime.datetime.now())) return AnonymousDisposable(dispose)
def action(scheduler, i): remaining = self._process_request(i) stopped = self.has_completed and self.has_failed if not stopped and remaining > 0: self.requestedCount = remaining def dispose(): self.requested_count = 0 return AnonymousDisposable(dispose)
def _subscribe_core(self, observer: Observer): self.observer = observer # flush buffer for item in self.buffer: observer.on_next(item) self.buffer = None if self.error: observer.on_error(self.error) elif self.completed: observer.on_completed() return AnonymousDisposable.create(self.dispose)
def subscribe(self, on_next=None, on_error=None, on_completed=None, observer: Observer = None): p = self.publisher if self.is_disposed is True: if observer is not None: observer.on_completed() return AnonymousDisposable(noop) if p is not None: subscription = p.subscribe(on_next=on_next, on_completed=on_completed, on_error=on_error, observer=observer) if observer is not None: observer.on_next(self.value) return subscription else: if observer is not None: observer.on_completed() return AnonymousDisposable(noop)
def subscribe(observer, scheduler=None): scheduler = scheduler or current_thread_scheduler iterator = iter(iterable) disposed = False def action(_: Scheduler, __: Any = None): nonlocal disposed try: while not disposed: value = next(iterator) observer.on_next(value) except StopIteration: observer.on_completed() except Exception as error: # pylint: disable=W0703 observer.on_error(error) def dispose(): nonlocal disposed disposed = True disposable = AnonymousDisposable(dispose) return CompositeDisposable(scheduler.schedule(action), disposable)
def empty() -> 'Disposable': from rx.disposables import AnonymousDisposable return AnonymousDisposable(noop)
def create(action) -> 'Disposable': from rx.disposables import AnonymousDisposable return AnonymousDisposable(action)
def empty(cls): return AnonymousDisposable(noop)
def create(cls, action): return AnonymousDisposable(action)