Applying updated patch from Issue 1736190, which addresses partial
issues in: 909005 and 17361001, as well as completely as possible issues
539444, 760475, 777588, 889153, 953599, 1025525, 1063924, and 658749.
This patch also includes doc and test updates as necessary.
diff --git a/Doc/library/asynchat.rst b/Doc/library/asynchat.rst
index 6f15441..ff6432e 100644
--- a/Doc/library/asynchat.rst
+++ b/Doc/library/asynchat.rst
@@ -81,6 +81,12 @@
    :exc:`NotImplementedError` exception.
 
 
+.. method:: async_chat._collect_incoming_data(data)
+
+   Sample implementation of a data collection rutine to be used in conjunction
+   with :meth:`_get_data` in a user-specified :meth:`found_terminator`.
+
+
 .. method:: async_chat.discard_buffers()
 
    In emergencies this method will discard any data held in the input and/or
@@ -95,6 +101,12 @@
    should be available via an instance attribute.
 
 
+.. method:: async_chat._get_data()
+
+   Will return and clear the data received with the sample
+   :meth:`_collect_incoming_data` implementation.
+
+
 .. method:: async_chat.get_terminator()
 
    Returns the current terminator for the channel.
diff --git a/Doc/library/asyncore.rst b/Doc/library/asyncore.rst
index da94a9b..e40f507 100644
--- a/Doc/library/asyncore.rst
+++ b/Doc/library/asyncore.rst
@@ -222,6 +222,20 @@
       flushed).  Sockets are automatically closed when they are
       garbage-collected.
 
+.. class:: file_dispatcher()
+  A file_dispatcher takes a file descriptor or file object along with an
+  optional map argument and wraps it for use with the :cfunc:`poll`\ or
+  :cfunc:`loop`\ functions.  If provided a file object or anything with a
+  :cfunc:`fileno`\ method, that method will be called and passed to the
+  :class:`file_wrapper` constructor.
+  Availability: UNIX
+
+.. class::file_wrapper()
+  A file_wrapper takes an integer file descriptor and calls os.dup() to
+  duplicate the handle so that the original handle may be closed independently
+  of the file_wrapper.  This class implements sufficient methods to emulate a
+  socket for use by the file_dispatcher class.
+  Availability: UNIX
 
 .. _asyncore-example: