aboutsummaryrefslogtreecommitdiff
path: root/samples/terminal/src/main/scala/akka/serial/samples/terminal/ConsoleReader.scala
diff options
context:
space:
mode:
Diffstat (limited to 'samples/terminal/src/main/scala/akka/serial/samples/terminal/ConsoleReader.scala')
-rw-r--r--samples/terminal/src/main/scala/akka/serial/samples/terminal/ConsoleReader.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/samples/terminal/src/main/scala/akka/serial/samples/terminal/ConsoleReader.scala b/samples/terminal/src/main/scala/akka/serial/samples/terminal/ConsoleReader.scala
new file mode 100644
index 0000000..cc14dd4
--- /dev/null
+++ b/samples/terminal/src/main/scala/akka/serial/samples/terminal/ConsoleReader.scala
@@ -0,0 +1,29 @@
+package akka.serial
+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)
+
+}