Page 20 -
P. 20

Reactive Streams에 선언된 인터페이스는 각각 다음과 같습니다.

                예제 1-2 Publisher.java

                 // 데이터를 통지하는 생산자
                 public interface Publisher<T> {
                     // 데이터를 받는 Subscriber 등록
                     public void subscribe(Subscriber <? super T> subscriber);
                 }



                예제 1-3 Subscriber.java
                 // 데이터를 받아 처리하는 소비자
                 public interface Subscriber<T> {
                     // 구독 시작 시 처리
                     public void onSubscribe(Subscription subscription);


                     // 데이터 통지 시 처리
                     public void onNext(T item);


                     // 에러 통지 시 처리
                     public void onError(Throwable error);


                     // 완료 통지 시 처리
                     public void onComplete();
                 }


                예제 1-4 Subscription.java

                 // 생산자와 소비자를 연결하는 인터페이스
                 public interface Subscription {
                     // 통지받을 데이터 개수 요청
                     public void request(long num);


                     // 구독 해지
                     public void cancel();
                 }


                예제 1-5 Processor.java

                 // Publisher와 Subscriber의 기능이 모두 있는 인터페이스
                 public abstract interface Processor<T, R> extends Subscriber<T>, Publisher<R> { }




         028





     RxJava 리액티브 프로그래밍(본문)최종.indd   28                                                      2019-03-26   오전 11:26:30
   15   16   17   18   19   20   21   22   23   24   25