in kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala [45:65]
private def completeRequest(km: KernelMessage, cr: CompleteRequest):
Future[(Int, List[String])] = {
val interpreterActor = actorLoader.load(SystemActorType.Interpreter)
val codeCompleteFuture = ask(interpreterActor, cr).mapTo[(Int, List[String])]
codeCompleteFuture.onComplete {
case Success(tuple) =>
val reply = CompleteReplyOk(tuple._2, tuple._1,
cr.cursor_pos, Metadata())
val completeReplyType = MessageType.Outgoing.CompleteReply.toString
logKernelMessageAction("Sending code complete reply for", km)
actorLoader.load(SystemActorType.KernelMessageRelay) !
km.copy(
header = HeaderBuilder.create(completeReplyType),
parentHeader = km.header,
contentString = Json.toJson(reply).toString
)
case _ =>
new Exception("Parse error in CodeCompleteHandler")
}
codeCompleteFuture
}