Index: twisted/topfiles/4386.bugfix
===================================================================
--- twisted/topfiles/4386.bugfix	(revision 0)
+++ twisted/topfiles/4386.bugfix	(revision 0)
@@ -0,0 +1 @@
+twisted.internet.abstract.FileDescriptor implements twisted.internet.interfaces.IPushProducer instead of twisted.internet.interfaces.IProducer.
Index: twisted/internet/abstract.py
===================================================================
--- twisted/internet/abstract.py	(revision 33568)
+++ twisted/internet/abstract.py	(working copy)
@@ -155,7 +155,7 @@
 
     SEND_LIMIT = 128*1024
 
-    implements(interfaces.IProducer, interfaces.IReadWriteDescriptor,
+    implements(interfaces.IPushProducer, interfaces.IReadWriteDescriptor,
                interfaces.IConsumer, interfaces.ITransport, interfaces.IHalfCloseableDescriptor)
 
     def __init__(self, reactor=None):
Index: twisted/internet/test/test_filedescriptor.py
===================================================================
--- twisted/internet/test/test_filedescriptor.py	(revision 33568)
+++ twisted/internet/test/test_filedescriptor.py	(working copy)
@@ -5,14 +5,17 @@
 Whitebox tests for L{twisted.internet.abstract.FileDescriptor}.
 """
 
+from zope.interface.verify import verifyClass
+
 from twisted.internet.abstract import FileDescriptor
+from twisted.internet.interfaces import IPushProducer
 from twisted.trial.unittest import TestCase
 
 
 
-class FileDescriptorWriteSequenceTests(TestCase):
+class FileDescriptorTests(TestCase):
     """
-    Tests for L{FileDescriptor.writeSequence}.
+    Tests for L{FileDescriptor}.
     """
     def test_writeWithUnicodeRaisesException(self):
         """
@@ -29,3 +32,10 @@
         fileDescriptor = FileDescriptor()
         self.assertRaises(
             TypeError, fileDescriptor.writeSequence, ['foo', u'bar', 'baz'])
+
+
+    def test_fileDescriptorImplementsIPushProducer(self):
+        """
+        L{FileDescriptor} implements L{IPushProducer}
+        """
+        self.assertTrue(verifyClass(IPushProducer, FileDescriptor))
