aboutsummaryrefslogtreecommitdiff
path: root/samples/rwc/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala
diff options
context:
space:
mode:
Diffstat (limited to 'samples/rwc/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala')
-rw-r--r--samples/rwc/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala14
1 files changed, 7 insertions, 7 deletions
diff --git a/samples/rwc/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala b/samples/rwc/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala
index ddcde8d..e616763 100644
--- a/samples/rwc/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala
+++ b/samples/rwc/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala
@@ -24,23 +24,23 @@ class SerialHandler(port: String, baud: Int) extends Actor with ActorLogging {
case Opened(port) => {
log.info(s"Port ${port} is now open.")
- context watch sender
context become opened(sender)
}
}
def opened(operator: ActorRef): Receive = {
- case Terminated(`operator`) => {
- log.info("operator down, handler exiting")
- context.stop(self)
- }
+
case Received(data) => {
log.info("Received data: " + formatData(data))
log.info("As string: " + new String(data.toArray, "UTF-8"))
}
case Wrote(data) => log.info("Got ACK for writing data: " + formatData(data))
- case Closed => {
- log.info("Operator closed, exiting handler.")
+ case Closed(None) => {
+ log.info("Operator closed normally, exiting handler.")
+ context stop self
+ }
+ case Closed(Some(ex)) => {
+ log.info("Operator crashed, exiting handler.")
context stop self
}
case "close" => {