001/***************************************************
002 * Licensed under MIT No Attribution (SPDX: MIT-0) *
003 ***************************************************/
004
005package org.reactivestreams;
006
007/**
008 * A {@link Processor} represents a processing stage—which is both a {@link Subscriber}
009 * and a {@link Publisher} and obeys the contracts of both.
010 *
011 * @param <T> the type of element signaled to the {@link Subscriber}
012 * @param <R> the type of element signaled by the {@link Publisher}
013 */
014public interface Processor<T, R> extends Subscriber<T>, Publisher<R> {
015}