class_docstr: This is an abstract class.  You must derive from this class, and add
  the two methods collect_incoming_data() and found_terminator()
class_docstr_tok: ["This","is","an","abstract","class",".","You","must","derive","from","this","class",",","and","add","the","two","methods","collect_incoming_data","(",")","and","found_terminator","(",")"]
docstr: automatically close this channel once the outgoing queue is empty
docstr_tok: ["automatically","close","this","channel","once","the","outgoing","queue","is","empty"]
code: def close_when_done(self):
      "automatically close this channel once the outgoing queue is empty"
      self.producer_fifo.append(None)
  
imports: import asyncore
  from collections import deque
  from warnings import _deprecated
label_desc: Use image node_id 15 for calling the async_chat obj's underlying member method code with example usage: obj.close_when_done() without return types