Cancel re-entrant: downstream cancel ngay trong onNext (cùng thread)

Cancel re-entrant: downstream cancel ngay trong onNext (cùng thread) A sequence diagram generated by Archify. request(MAX) code gốc request(MAX) onNext(item 1) cancel() re-entrant, state >= 0 cancel() tới nguồn ngay lập tức dừng sau 1 item request(MAX) PR 3677 request(MAX) E giữ lock onNext(item 1) cancel() cancelled = true; drain() bị từ chối onNext(item 2 ... 1.000.000) nguồn chưa biết đã bị cancel cancel() chỉ sau khi request() trả về Code gốc PR 3677 Downstream · cancel trong onNext · Sequence participant Downstream cancel trong onNext SequentialSubscription · thread E · Sequence participant SequentialSubscription thread E Source · phát đồng bộ trong request() · Sequence participant Source phát đồng bộ trong request() Legend main request return security async trace message