Subscriber는 리액티브 스트림즈에 포함된 인터페이스로 다음과 같이 정의되어 있다.
package org.reactivestreams;
public interface Subscriber<T> {
void onSubscribe(Subscription s);
void onNext(T t);
void onError(Throwable t);
void onComplete();
}
각 메서드는 다음과 같다.
onSubscribe(Subscription s) : 구독을 하면 Publisher와 연동된 Subscription을 받는다. 전달받은 Subscription을 이용해서 Publisher에 데이터를 요청한다.
onNext(T t) : Publisher가 next 신호를 보내면 호출된다.
onError(Throwable t) : Publisher가 error 신호를 보내면 호출된다.
onComplete() : Publisher가 complete 신호를 보내면 호출된다.