in client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClient.scala [111:134]
private def receiveCommOpen(
parentHeaderId:String, kernelMessage: KernelMessage
): Unit = {
parseAndHandle(
kernelMessage.contentString,
CommOpen.commOpenReads,
(commOpen: CommOpen) => {
val targetName = commOpen.target_name
val commId = commOpen.comm_id
val commWriter = new ClientCommWriter(
actorLoader, KMBuilder(), commId)
commStorage.getTargetCallbacks(targetName) match {
// Unexpected target (does not exist on this side), so send close
case None =>
commWriter.close()
// Found target, so execute callbacks
case Some(callbacks) =>
callbacks.executeOpenCallbacks(
commWriter, commId, targetName, commOpen.data)
}
}
)
}