diff options
Diffstat (limited to 'flow/src/main/scala/com/github/jodersky/flow/SerialManager.scala')
-rw-r--r-- | flow/src/main/scala/com/github/jodersky/flow/SerialManager.scala | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/flow/src/main/scala/com/github/jodersky/flow/SerialManager.scala b/flow/src/main/scala/com/github/jodersky/flow/SerialManager.scala index 47c74a1..b6d1e74 100644 --- a/flow/src/main/scala/com/github/jodersky/flow/SerialManager.scala +++ b/flow/src/main/scala/com/github/jodersky/flow/SerialManager.scala @@ -3,14 +3,16 @@ package com.github.jodersky.flow import scala.util.Failure import scala.util.Success import scala.util.Try - import com.github.jodersky.flow.internal.SerialConnection - import Serial.CommandFailed import Serial.Open import akka.actor.Actor import akka.actor.ActorLogging import akka.actor.actorRef2Scala +import akka.actor.OneForOneStrategy +import akka.actor.OneForOneStrategy +import akka.actor.SupervisorStrategy._ +import scala.concurrent.duration._ /** * Entry point to the serial API. Actor that manages serial port creation. Once opened, a serial port is handed over to @@ -21,6 +23,10 @@ class SerialManager extends Actor with ActorLogging { import SerialManager._ import context._ + override val supervisorStrategy = OneForOneStrategy() { + case _: Exception => Stop + } + def receive = { case open @ Open(port, settings, bufferSize) => Try { SerialConnection.open(port, settings) |