class_docstr: A KernelClient that provides thread-safe sockets with async callbacks on message replies.
      
docstr: This is run in the ioloop thread when the kernel info reply is received
          
code: def _check_kernel_info_reply(self, msg):
      """This is run in the ioloop thread when the kernel info reply is received"""
      if msg["msg_type"] == "kernel_info_reply":
          self._handle_kernel_info_reply(msg)
          self.shell_channel._inspect = None
  
imports: from __future__ import absolute_import
  import atexit
  import errno
  import sys
  from threading import Thread, Event
  import time
  from zmq import ZMQError
  from zmq.eventloop import ioloop, zmqstream
  from traitlets import Type, Instance
  from jupyter_client.channels import HBChannel
  from jupyter_client import KernelClient
label_desc: Use image node_id 3 for calling the ThreadedKernelClient obj's underlying member method code with example usage: obj._check_kernel_info_reply(msg) without return types