001/************************************************************************ 002 * Licensed under Public Domain (CC0) * 003 * * 004 * To the extent possible under law, the person who associated CC0 with * 005 * this code has waived all copyright and related or neighboring * 006 * rights to this code. * 007 * * 008 * You should have received a copy of the CC0 legalcode along with this * 009 * work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.* 010 ************************************************************************/ 011 012package org.reactivestreams; 013 014/** 015 * A Processor represents a processing stage—which is both a {@link Subscriber} 016 * and a {@link Publisher} and obeys the contracts of both. 017 * 018 * @param <T> the type of element signaled to the {@link Subscriber} 019 * @param <R> the type of element signaled by the {@link Publisher} 020 */ 021public interface Processor<T, R> extends Subscriber<T>, Publisher<R> { 022}