MCPcopy Index your code
hub / github.com/gopherdata/gophernotes / handleShellMsg

Method handleShellMsg

kernel.go:325–361  ·  view source on GitHub ↗

handleShellMsg responds to a message on the shell ROUTER socket.

(receipt msgReceipt)

Source from the content-addressed store, hash-verified

323
324// handleShellMsg responds to a message on the shell ROUTER socket.
325func (kernel *Kernel) handleShellMsg(receipt msgReceipt) {
326 // Tell the front-end that the kernel is working and when finished notify the
327 // front-end that the kernel is idle again.
328 if err := receipt.PublishKernelStatus(kernelBusy); err != nil {
329 log.Printf("Error publishing kernel status 'busy': %v\n", err)
330 }
331 defer func() {
332 if err := receipt.PublishKernelStatus(kernelIdle); err != nil {
333 log.Printf("Error publishing kernel status 'idle': %v\n", err)
334 }
335 }()
336
337 ir := kernel.ir
338
339 switch receipt.Msg.Header.MsgType {
340 case "kernel_info_request":
341 if err := sendKernelInfo(receipt); err != nil {
342 log.Fatal(err)
343 }
344 case "is_complete_request":
345 if err := kernel.handleIsCompleteRequest(receipt); err != nil {
346 log.Fatal(err)
347 }
348 case "complete_request":
349 if err := handleCompleteRequest(ir, receipt); err != nil {
350 log.Fatal(err)
351 }
352 case "execute_request":
353 if err := kernel.handleExecuteRequest(receipt); err != nil {
354 log.Fatal(err)
355 }
356 case "shutdown_request":
357 handleShutdownRequest(receipt)
358 default:
359 log.Println("Unhandled shell message: ", receipt.Msg.Header.MsgType)
360 }
361}
362
363// sendKernelInfo sends a kernel_info_reply message.
364func sendKernelInfo(receipt msgReceipt) error {

Callers 1

runKernelFunction · 0.95

Calls 6

handleExecuteRequestMethod · 0.95
sendKernelInfoFunction · 0.85
handleCompleteRequestFunction · 0.85
handleShutdownRequestFunction · 0.85
PublishKernelStatusMethod · 0.80

Tested by

no test coverage detected