aboutsummaryrefslogtreecommitdiff
path: root/flow-core/src/main/scala/ch/jodersky/flow/SerialManager.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2017-01-08 21:16:25 +0100
committerJakob Odersky <jakob@odersky.com>2017-01-21 17:22:10 -0800
commit23959966760174477a6b0fcbf9dd1e8ef37c643b (patch)
tree9a0ee44eb43a8c13af57b0d06313f3aabf9e4555 /flow-core/src/main/scala/ch/jodersky/flow/SerialManager.scala
parent6c371ba6d69c891c1f0d6df00bb643e1d543cc9d (diff)
downloadakka-serial-23959966760174477a6b0fcbf9dd1e8ef37c643b.tar.gz
akka-serial-23959966760174477a6b0fcbf9dd1e8ef37c643b.tar.bz2
akka-serial-23959966760174477a6b0fcbf9dd1e8ef37c643b.zip
Rename project to akka-serial
Diffstat (limited to 'flow-core/src/main/scala/ch/jodersky/flow/SerialManager.scala')
-rw-r--r--flow-core/src/main/scala/ch/jodersky/flow/SerialManager.scala47
1 files changed, 0 insertions, 47 deletions
diff --git a/flow-core/src/main/scala/ch/jodersky/flow/SerialManager.scala b/flow-core/src/main/scala/ch/jodersky/flow/SerialManager.scala
deleted file mode 100644
index 7967087..0000000
--- a/flow-core/src/main/scala/ch/jodersky/flow/SerialManager.scala
+++ /dev/null
@@ -1,47 +0,0 @@
-package ch.jodersky.flow
-
-import akka.actor.{ Actor, ActorLogging, OneForOneStrategy }
-import akka.actor.SupervisorStrategy.{ Escalate, Stop }
-import scala.util.{ Failure, Success, Try }
-
-/**
- * Entry point to the serial API. Actor that manages serial port creation. Once opened, a serial port is handed over to
- * a dedicated operator actor that acts as an intermediate between client code and the native system serial port.
- * @see SerialOperator
- */
-private[flow] class SerialManager extends Actor {
- import SerialManager._
- import context._
-
- override val supervisorStrategy = OneForOneStrategy() {
- case _: Exception if sender == watcher => Escalate
- case _: Exception => Stop
- }
-
- private val watcher = actorOf(Watcher(self), "watcher")
-
- def receive = {
-
- case open @ Serial.Open(port, settings, bufferSize) => Try {
- SerialConnection.open(port, settings)
- } match {
- case Success(connection) => context.actorOf(SerialOperator(connection, bufferSize, sender), name = escapePortString(connection.port))
- case Failure(err) => sender ! Serial.CommandFailed(open, err)
- }
-
- case w: Serial.Watch => watcher.forward(w)
-
- case u: Serial.Unwatch => watcher.forward(u)
-
- }
-
-}
-
-private[flow] object SerialManager {
-
- private def escapePortString(port: String) = port map {
- case '/' => '-'
- case c => c
- }
-
-}