io.reactivex.Scheduler.now()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(4.3k)|赞(0)|评价(0)|浏览(153)

本文整理了Java中io.reactivex.Scheduler.now()方法的一些代码示例,展示了Scheduler.now()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Scheduler.now()方法的具体详情如下:
包路径:io.reactivex.Scheduler
类名称:Scheduler
方法名:now

Scheduler.now介绍

[英]Returns the 'current time' of the Scheduler in the specified time unit.
[中]以指定的时间单位返回计划程序的“当前时间”。

代码示例

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public Timed<T> apply(T t) throws Exception {
  3. return new Timed<T>(t, scheduler.now(unit), unit);
  4. }
  5. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onSubscribe(Subscription s) {
  3. if (SubscriptionHelper.validate(this.upstream, s)) {
  4. lastTime = scheduler.now(unit);
  5. this.upstream = s;
  6. downstream.onSubscribe(this);
  7. }
  8. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. Object enterTransform(Object value) {
  3. return new Timed<Object>(value, scheduler.now(unit), unit);
  4. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. Object enterTransform(Object value) {
  3. return new Timed<Object>(value, scheduler.now(unit), unit);
  4. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onNext(T t) {
  3. final SpscLinkedArrayQueue<Object> q = queue;
  4. long now = scheduler.now(unit);
  5. q.offer(now, t);
  6. trim(now, q);
  7. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onComplete() {
  3. trim(scheduler.now(unit), queue);
  4. done = true;
  5. drain();
  6. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onNext(T t) {
  3. long now = scheduler.now(unit);
  4. long last = lastTime;
  5. lastTime = now;
  6. long delta = now - last;
  7. downstream.onNext(new Timed<T>(t, delta, unit));
  8. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onNext(T t) {
  3. final SpscLinkedArrayQueue<Object> q = queue;
  4. long now = scheduler.now(unit);
  5. q.offer(now, t);
  6. drain();
  7. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onError(Throwable t) {
  3. if (delayError) {
  4. trim(scheduler.now(unit), queue);
  5. }
  6. error = t;
  7. done = true;
  8. drain();
  9. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onSubscribe(Disposable d) {
  3. if (DisposableHelper.validate(this.upstream, d)) {
  4. this.upstream = d;
  5. lastTime = scheduler.now(unit);
  6. downstream.onSubscribe(this);
  7. }
  8. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onNext(T t) {
  3. long now = scheduler.now(unit);
  4. queue.offer(now, t);
  5. drain();
  6. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onNext(T t) {
  3. long now = scheduler.now(unit);
  4. long last = lastTime;
  5. lastTime = now;
  6. long delta = now - last;
  7. downstream.onNext(new Timed<T>(t, delta, unit));
  8. }

代码示例来源:origin: ReactiveX/RxJava

  1. TimedNode<T> getHead() {
  2. TimedNode<T> index = head;
  3. // skip old entries
  4. long limit = scheduler.now(unit) - maxAge;
  5. TimedNode<T> next = index.get();
  6. while (next != null) {
  7. long ts = next.time;
  8. if (ts > limit) {
  9. break;
  10. }
  11. index = next;
  12. next = index.get();
  13. }
  14. return index;
  15. }

代码示例来源:origin: ReactiveX/RxJava

  1. TimedNode<Object> getHead() {
  2. TimedNode<Object> index = head;
  3. // skip old entries
  4. long limit = scheduler.now(unit) - maxAge;
  5. TimedNode<Object> next = index.get();
  6. while (next != null) {
  7. long ts = next.time;
  8. if (ts > limit) {
  9. break;
  10. }
  11. index = next;
  12. next = index.get();
  13. }
  14. return index;
  15. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. @Nullable
  3. public T getValue() {
  4. TimedNode<T> h = head;
  5. for (;;) {
  6. TimedNode<T> next = h.get();
  7. if (next == null) {
  8. break;
  9. }
  10. h = next;
  11. }
  12. long limit = scheduler.now(unit) - maxAge;
  13. if (h.time < limit) {
  14. return null;
  15. }
  16. return h.value;
  17. }

代码示例来源:origin: ReactiveX/RxJava

  1. void trim() {
  2. if (size > maxSize) {
  3. size--;
  4. TimedNode<Object> h = head;
  5. head = h.get();
  6. }
  7. long limit = scheduler.now(unit) - maxAge;
  8. TimedNode<Object> h = head;
  9. for (;;) {
  10. TimedNode<Object> next = h.get();
  11. if (next == null) {
  12. head = h;
  13. break;
  14. }
  15. if (next.time > limit) {
  16. head = h;
  17. break;
  18. }
  19. h = next;
  20. }
  21. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void next(T value) {
  3. TimedNode<T> n = new TimedNode<T>(value, scheduler.now(unit));
  4. TimedNode<T> t = tail;
  5. tail = n;
  6. size++;
  7. t.set(n); // releases both the tail and size
  8. trim();
  9. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void add(T value) {
  3. TimedNode<Object> n = new TimedNode<Object>(value, scheduler.now(unit));
  4. TimedNode<Object> t = tail;
  5. tail = n;
  6. size++;
  7. t.set(n); // releases both the tail and size
  8. trim();
  9. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public long now(@NonNull TimeUnit unit) {
  3. return super.now(unit) + unit.convert(drift, TimeUnit.NANOSECONDS);
  4. }
  5. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public void onNext(T t) {
  3. final SpscLinkedArrayQueue<Object> q = queue;
  4. long now = scheduler.now(unit);
  5. long time = this.time;
  6. long c = count;
  7. boolean unbounded = c == Long.MAX_VALUE;
  8. q.offer(now, t);
  9. while (!q.isEmpty()) {
  10. long ts = (Long)q.peek();
  11. if (ts <= now - time || (!unbounded && (q.size() >> 1) > c)) {
  12. q.poll();
  13. q.poll();
  14. } else {
  15. break;
  16. }
  17. }
  18. }

相关文章