public virtual void OnKernelInfoRequest()

in src/Servers/ShellServer.cs [164:225]


        public virtual void OnKernelInfoRequest(Message message)
        {
            // Before handling the kernel info request, make sure to call any
            // events for custom handling.
            KernelInfoRequest?.Invoke(message);

            try
            {
                // Tell the client we're about to handle their kernel_info_request.
                this.SendIoPubMessage(
                    new Message
                    {
                        Header = new MessageHeader
                        {
                            MessageType = "status"
                        },
                        Content = new KernelStatusContent
                        {
                            ExecutionState = ExecutionState.Busy
                        }
                    }
                    .AsReplyTo(message)
                );

                this.SendShellMessage(
                    new Message
                    {
                        ZmqIdentities = message.ZmqIdentities,
                        ParentHeader = message.Header,
                        Metadata = null,
                        Content = this.context.Properties.AsKernelInfoReply(),
                        Header = new MessageHeader
                        {
                            MessageType = "kernel_info_reply",
                            Id = Guid.NewGuid().ToString(),
                            ProtocolVersion = "5.2.0"
                        }
                    }
                );

                // Once finished, have the shell server report that we are
                // idle.
                this.SendIoPubMessage(
                    new Message
                    {
                        Header = new MessageHeader
                        {
                            MessageType = "status"
                        },
                        Content = new KernelStatusContent
                        {
                            ExecutionState = ExecutionState.Idle
                        }
                    }
                    .AsReplyTo(message)
                );
            }
            catch (Exception e)
            {
                this.logger?.LogError(e, "Unable to process KernelInfoRequest");
            }
        }