Akka
馬鹿にはマルチスレッドは複雑すぎる わたしマルチスレッド怖いんです。なんでかっていうと、あれ、これってスレッドセーフだっけ?とか考えないとだめだし、えーっとこの変数は別のスレッドからアクセスされる可能性があるから〜とか考えないとだめ。あとロ…
PipelinePorts を作ってそこにコマンドやイベントを流し込めば普通に結果が返り値で返ってくるのでテストを書きやすい val pipelinePort = { val ctx = new PipelineContext {} PipelineFactory.buildFunctionTriple(ctx, new YourPipelineStage) } // パイ…
ちゃんと Terminated が送られてくる see http://doc.akka.io/docs/akka/2.2.0/general/supervision.html#what-lifecycle-monitoring-means One important property is that the message will be delivered irrespective of the order in which the monitori…
こんな感じでどうでしょうね。 解説はコメントを参照のこと。 import akka.actor._ import akka.actor.Terminated import akka.io._ import akka.io.IO import akka.util.ByteString import java.net.InetSocketAddress import scala.collection.immutable.{…
APNsGatewayServer を書こうの巻 えー。APNsとのやりとり部分を書くのはなにげにとても面倒です。面倒な理由として プロトコルがアップルのオレオレプロトコルであり、なおかつバイナリでやりとりしている APNsサーバーに対してリクエストを送っても、基本的…
解決したい問題 Akka でネットワークサーバーを書く場合、エンコード/デコードの部分は Pipeline を利用し、TCPレイヤーの IO をその Pipeline に流し込む場合は TcpPipelineHandlerを利用するのが定石だと思いますが、ではサーバーがレスポンスを返したあと…