class_docstr: A Thread for running a zmq Authenticator
  
  This is run in the background by ThreadedAuthenticator
class_docstr_tok: ["A","Thread","for","running","a","zmq","Authenticator","This","is","run","in","the","background","by","ThreadedAuthenticator"]
docstr: Handle a message from the ZAP socket.
docstr_tok: ["Handle","a","message","from","the","ZAP","socket","."]
code: def _handle_zap(self):
      """
      Handle a message from the ZAP socket.
      """
      msg = self.authenticator.zap_socket.recv_multipart()
      if not msg:
          return
      self.authenticator.handle_zap_message(msg)
  
imports: import time
  import logging
  from threading import Thread, Event
  import zmq
  from zmq.utils import jsonapi
  from zmq.utils.strtypes import bytes, unicode, b, u
  import sys
  from .base import Authenticator
label_desc: Use image node_id 3 for calling the AuthenticationThread obj's underlying member method code with example usage: obj._handle_zap() without return types