2013-02-13 29 views
1

我有一個客戶端/服務器套接字,它可以執行一些rpc事情。我對finagle有一點了解,並且發現了Future的隔離非常優雅。所以我的問題是如何在scala中編寫一個等待事件(我的客戶端請求的服務器回覆)的Future。實施可能會使用已確定的請求,但我缺乏的是要求未來等待事件而不必等待的方式。如何編寫一個等待事件的未來

回答

0

爲此,你需要看一看Akka Actors

這裏是例如一個演員的

class MyActor extends Actor { 
    val log = Logging(context.system, this) 
    def receive = { 
     case "test" ⇒ log.info("received test") 
     case _  ⇒ log.info("received unknown message") 
    } 
} 
2

創建Promise而不是Future和偵聽器添加到您的事件,履行承諾。將承諾的未來退還給您的客戶(在Twitter中使用未來庫是它自己的承諾,在Scala 2.10中它是p.future)。