001package org.reactivestreams;
002
003/**
004 * A Processor represents a processing stage—which is both a {@link Subscriber}
005 * and a {@link Publisher} and obeys the contracts of both.
006 *
007 * @param <T> the type of element signaled to the {@link Subscriber}
008 * @param <R> the type of element signaled by the {@link Publisher}
009 */
010public interface Processor<T, R> extends Subscriber<T>, Publisher<R> {
011}