I look at akka http
"com.typesafe.akka" %% "akka-actor" % "2.4.6", "com.typesafe.akka" % "akka-http-experimental_2.11" % "2.4.6"
I am testing simple code as shown below. My main question is how can I improve it so that I get a notification for a closed connection. So can I print the number of connections currently open?
object StatsRepo{ val totConn = new AtomicInteger(0) val currOpenConn = new AtomicInteger(0) // how to count this? } object Boot2 extends App{ implicit val system = ActorSystem("akka-http") implicit val materializer = ActorMaterializer() implicit val executionContext = system.dispatcher val requestHandler: HttpRequest => Future[HttpResponse] = { // do some work here... } val serverSource = Http().bind("0.0.0.0", 8080) val bindingFuture: Future[Http.ServerBinding] = serverSource.to(Sink.foreach { connection => StatsRepo.totConn.incrementAndGet() connection handleWithAsyncHandler requestHandler }).run() println(s"Server online at http://0.0.0.0:9090") }
source share