def __init__()

in zktraffic/base/sniffer.py [0:0]


  def __init__(self,
               config,
               request_handler=None,
               reply_handler=None,
               event_handler=None,
               error_to_stderr=False):
    """
    This sniffer will intercept:
     - client requests
     - server replies
     - server events (i.e.: connection state change or, most of the times, watches)
    Hence handlers for each.
    """
    super(Sniffer, self).__init__()

    self._error_to_stderr = error_to_stderr
    self._packet_size = 65535
    self._request_handlers = []
    self._reply_handlers = []
    self._event_handlers = []
    self._requests_xids = defaultdict(dict)  # if tracking replies, keep a tab for seen reqs
    self._four_letter_mode = {}              # key: client addr, val: four letter
    self._wants_stop = False

    self.config = config

    self.add_request_handler(request_handler)
    self.add_reply_handler(reply_handler)
    self.add_event_handler(event_handler)

    self.setDaemon(True)