in kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandler.scala [54:85]
override def process(kernelMessage: KernelMessage): Future[_] = Future {
logKernelMessageAction("Initiating CommInfo request for", kernelMessage)
val commMap = (Json.parse(kernelMessage.contentString) \ "target_name").asOpt[String] match {
case Some(targetName) => {
buildCommMap(targetName)
}
case None => {
//target_name is missing from the kernel message so return all comms over every target
commStorage.getTargets().map(buildCommMap(_)).reduce(_ ++ _)
}
}
val commInfoReply = CommInfoReplyOk(commMap.asInstanceOf[Map[String, Map[String, String]]])
val kernelInfo = SparkKernelInfo
val replyHeader = Header(
java.util.UUID.randomUUID.toString,
"",
java.util.UUID.randomUUID.toString,
CommInfoReply.toTypeString,
kernelInfo.protocolVersion)
val kernelResponseMessage = KMBuilder()
.withIds(kernelMessage.ids)
.withSignature("")
.withHeader(replyHeader)
.withParent(kernelMessage)
.withContentString(commInfoReply).build
actorLoader.load(SystemActorType.KernelMessageRelay) ! kernelResponseMessage
}