docs: def discard_queue_messages(self):
  		""" Sometimes it is necessary to drop undelivered messages. These messages may be stored in different
  		caches, for example in a zmq socket queue. With different zmq flags we can tweak zmq sockets and
  		contexts no to keep those messages. But inside ZMQStream class there is a queue that can not be
  		cleaned other way then the way it does in this method. So yes, it is dirty to access protected
  		members, and yes it can be broken at any moment. And yes without correct locking procedure there
  		is a possibility of unpredicted behaviour. But still - there is no other way to drop undelivered
  		messages
  
  		Discussion of the problem: https://github.com/zeromq/pyzmq/issues/1095
  
  		:return: None
  		"""
  		zmq_stream_queue = self.handler().stream()._send_queue
  		while not zmq_stream_queue.empty():
  			try:
  				zmq_stream_queue.get(False)
  			except queue.Empty:
  				continue
  			zmq_stream_queue.task_done()