/* __ *\ ** ________ ___ / / ___ Scala API ** ** / __/ __// _ | / / / _ | (c) 2005-2013, LAMP/EPFL ** ** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ package scala.actors /** * A common interface for all channels from which values can be received. * * @author Philipp Haller * * @define channel `InputChannel` */ @deprecated("Use the akka.actor package instead. For migration from the scala.actors package refer to the Actors Migration Guide.", "2.11.0") trait InputChannel[+Msg] { /** * Receives a message from this $channel. * * @param f a partial function with message patterns and actions * @return result of processing the received value */ def receive[R](f: PartialFunction[Msg, R]): R /** * Receives a message from this $channel within * a certain time span. * * @param msec the time span before timeout * @param f a partial function with message patterns and actions * @return result of processing the received value */ def receiveWithin[R](msec: Long)(f: PartialFunction[Any, R]): R /** * Receives a message from this $channel. * * This method never returns. Therefore, the rest of the computation * has to be contained in the actions of the partial function. * * @param f a partial function with message patterns and actions */ def react(f: PartialFunction[Msg, Unit]): Nothing /** * Receives a message from this $channel within * a certain time span. * * This method never returns. Therefore, the rest of the computation * has to be contained in the actions of the partial function. * * @param msec the time span before timeout * @param f a partial function with message patterns and actions */ def reactWithin(msec: Long)(f: PartialFunction[Any, Unit]): Nothing /** * Receives the next message from this $channel. */ def ? : Msg }