diff options
author | Jakob Odersky <jakob@odersky.com> | 2017-01-08 21:16:25 +0100 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2017-01-21 17:22:10 -0800 |
commit | 23959966760174477a6b0fcbf9dd1e8ef37c643b (patch) | |
tree | 9a0ee44eb43a8c13af57b0d06313f3aabf9e4555 /flow-core/src/main/scala/ch/jodersky/flow/SerialManager.scala | |
parent | 6c371ba6d69c891c1f0d6df00bb643e1d543cc9d (diff) | |
download | akka-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.scala | 47 |
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 - } - -} |