aboutsummaryrefslogtreecommitdiff
path: root/flow-samples
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-05-24 14:00:52 +0200
committerJakob Odersky <jodersky@gmail.com>2015-05-24 15:53:33 +0200
commit5cc9c4d4377cd0225675d5996c5df5ddc993ab68 (patch)
tree6525720eb09ba7698cbe014ab25a77ee32c263c1 /flow-samples
parent0d73d35eff1e92deea7e78ed69d5ede7213ef3e9 (diff)
downloadakka-serial-5cc9c4d4377cd0225675d5996c5df5ddc993ab68.tar.gz
akka-serial-5cc9c4d4377cd0225675d5996c5df5ddc993ab68.tar.bz2
akka-serial-5cc9c4d4377cd0225675d5996c5df5ddc993ab68.zip
style uniformisation
Diffstat (limited to 'flow-samples')
-rw-r--r--flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala9
-rw-r--r--flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala12
-rw-r--r--flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala58
3 files changed, 31 insertions, 48 deletions
diff --git a/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala b/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala
index 8eb1f15..68a79db 100644
--- a/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala
+++ b/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala
@@ -1,7 +1,8 @@
-package com.github.jodersky.flow.samples.terminal
+package com.github.jodersky.flow
+package samples.terminal
import akka.actor.Actor
-import akka.actor.actorRef2Scala
+import scala.io.StdIn
class ConsoleReader extends Actor {
import context._
@@ -9,7 +10,7 @@ class ConsoleReader extends Actor {
def receive = {
case Read =>
- Console.readLine() match {
+ StdIn.readLine() match {
case ":q" | null => parent ! EOT
case s => {
parent ! ConsoleInput(s)
@@ -25,4 +26,4 @@ object ConsoleReader {
case object EOT
case class ConsoleInput(in: String)
-} \ No newline at end of file
+}
diff --git a/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala b/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala
index 5b17265..1447b78 100644
--- a/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala
+++ b/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala
@@ -1,17 +1,15 @@
package com.github.jodersky.flow
package samples.terminal
-import com.github.jodersky.flow.Parity
-import com.github.jodersky.flow.SerialSettings
-import com.github.jodersky.flow.internal.SerialConnection
-
import akka.actor.ActorSystem
+import internal.SerialConnection
+import scala.io.StdIn
object Main {
-
+
def ask(label: String, default: String) = {
print(label + " [" + default.toString + "]: ")
- val in = Console.readLine()
+ val in = StdIn.readLine()
println("")
if (in.isEmpty) default else in
}
@@ -30,4 +28,4 @@ object Main {
val terminal = system.actorOf(Terminal(port, settings), name = "terminal")
system.registerOnTermination(println("Stopped terminal system."))
}
-} \ No newline at end of file
+}
diff --git a/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala b/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala
index cf75d98..82f6b4f 100644
--- a/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala
+++ b/flow-samples/terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala
@@ -1,21 +1,7 @@
-package com.github.jodersky.flow.samples.terminal
-
-import com.github.jodersky.flow.Serial
-import com.github.jodersky.flow.Serial.Close
-import com.github.jodersky.flow.Serial.Closed
-import com.github.jodersky.flow.Serial.CommandFailed
-import com.github.jodersky.flow.Serial.Event
-import com.github.jodersky.flow.Serial.Opened
-import com.github.jodersky.flow.Serial.Received
-import com.github.jodersky.flow.Serial.Write
-import com.github.jodersky.flow.SerialSettings
-
-import akka.actor.Actor
-import akka.actor.ActorLogging
-import akka.actor.ActorRef
-import akka.actor.Props
-import akka.actor.Terminated
-import akka.actor.actorRef2Scala
+package com.github.jodersky.flow
+package samples.terminal
+
+import akka.actor.{ Actor, ActorLogging, ActorRef, Props, Terminated, actorRef2Scala }
import akka.io.IO
import akka.util.ByteString
@@ -24,20 +10,20 @@ class Terminal(port: String, settings: SerialSettings) extends Actor with ActorL
import context._
val reader = actorOf(Props[ConsoleReader])
-
+
log.info(s"Requesting manager to open port: ${port}, baud: ${settings.baud}")
IO(Serial) ! Serial.Open(port, settings)
-
+
override def postStop() = {
system.shutdown()
}
def receive = {
- case CommandFailed(cmd, reason) => {
+ case Serial.CommandFailed(cmd, reason) => {
log.error(s"Connection failed, stopping terminal. Reason: ${reason}")
context stop self
}
- case Opened(port) => {
+ case Serial.Opened(port) => {
log.info(s"Port ${port} is now open.")
val operator = sender
context become opened(operator)
@@ -47,19 +33,19 @@ class Terminal(port: String, settings: SerialSettings) extends Actor with ActorL
}
def opened(operator: ActorRef): Receive = {
-
- case Received(data) => {
+
+ case Serial.Received(data) => {
log.info(s"Received data: ${formatData(data)}")
}
-
- case Wrote(data) => log.info(s"Wrote data: ${formatData(data)}")
- case Closed => {
+ case Terminal.Wrote(data) => log.info(s"Wrote data: ${formatData(data)}")
+
+ case Serial.Closed => {
log.info("Operator closed normally, exiting terminal.")
context unwatch operator
context stop self
}
-
+
case Terminated(`operator`) => {
log.error("Operator crashed, exiting terminal.")
context stop self
@@ -67,25 +53,23 @@ class Terminal(port: String, settings: SerialSettings) extends Actor with ActorL
case ConsoleReader.EOT => {
log.info("Initiating close.")
- operator ! Close
+ operator ! Serial.Close
}
case ConsoleReader.ConsoleInput(input) => {
val data = ByteString(input.getBytes)
- operator ! Write(data, length => Wrote(data.take(length)))
+ operator ! Serial.Write(data, length => Wrote(data.take(length)))
reader ! ConsoleReader.Read
}
}
-
-
}
object Terminal {
- case class Wrote(data: ByteString) extends Event
-
+ case class Wrote(data: ByteString) extends Serial.Event
+
def apply(port: String, settings: SerialSettings) = Props(classOf[Terminal], port, settings)
-
+
private def formatData(data: ByteString) = data.mkString("[", ",", "]") + " " + (new String(data.toArray, "UTF-8"))
-
-} \ No newline at end of file
+
+}