class_docstr: Class for communicating between a Frontend and a Kernel
  
  Must be subclassed with a publish_msg method implementation which
  sends comm messages through the iopub channel.
class_docstr_tok: ["Class","for","communicating","between","a","Frontend","and","a","Kernel","Must","be","subclassed","with","a","publish_msg","method","implementation","which","sends","comm","messages","through","the","iopub","channel","."]
docstr: Handle a comm_close message
docstr_tok: ["Handle","a","comm_close","message"]
code: def handle_close(self, msg: MessageType) -> None:
      """Handle a comm_close message"""
      logger.debug("handle_close[%s](%s)", self.comm_id, msg)
      if self._close_callback:
          self._close_callback(msg)
  
imports: from __future__ import annotations
  import contextlib
  import logging
  import typing
  import uuid
  from traitlets.utils.importstring import import_item
  import comm
label_desc: Use image node_id 9 for calling the BaseComm obj's underlying member method code with example usage: obj.handle_close(msg) without return types