diff options
Diffstat (limited to 'flow-samples/terminal/src/main/scala/ch/jodersky/flow/samples/terminal/ConsoleReader.scala')
-rw-r--r-- | flow-samples/terminal/src/main/scala/ch/jodersky/flow/samples/terminal/ConsoleReader.scala | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/flow-samples/terminal/src/main/scala/ch/jodersky/flow/samples/terminal/ConsoleReader.scala b/flow-samples/terminal/src/main/scala/ch/jodersky/flow/samples/terminal/ConsoleReader.scala new file mode 100644 index 0000000..2b30663 --- /dev/null +++ b/flow-samples/terminal/src/main/scala/ch/jodersky/flow/samples/terminal/ConsoleReader.scala @@ -0,0 +1,29 @@ +package ch.jodersky.flow +package samples.terminal + +import akka.actor.Actor +import scala.io.StdIn + +class ConsoleReader extends Actor { + import context._ + import ConsoleReader._ + + def receive = { + case Read => + StdIn.readLine() match { + case ":q" | null => parent ! EOT + case s => { + parent ! ConsoleInput(s) + } + } + } + +} + +object ConsoleReader { + + case object Read + case object EOT + case class ConsoleInput(in: String) + +} |