Ticket #3587 enhancement closed duplicate

Opened 4 years ago

Last modified 4 years ago

deferred for loseConnection

Reported by: ghazel Owned by:
Priority: normal Milestone:
Component: core Keywords:
Cc: Branch:
Author: Launchpad Bug:

Description

twisted.internet.abstract.FileDescriptor.loseConnection either completes immediately or finishes asynchronously. Similar to twisted.internet.tcp.Port.loseConnection, it would be nice if a deferred was returned when the operation did not complete immediately.

Specifically, it would be nice if the deferred fired -after- the event handler for connectionLost, similar to twisted.internet.tcp.Port.loseConnection. For example, this would be ideal:

class MyProtocol(Protocol):

    def dataReceived(self, data):
        print 'data'
        df = maybeDeferred(self.transport.loseConnection)
        df.addCallback(lambda : sys.stdout.write('callback\n'))

    def connectionLost(self, reason):
        print 'connectionLost'

resulting the following, whether the operation was deferred or not:

data
connectionLost
callback

Change History

1

Changed 4 years ago by ghazel

  • status changed from new to closed
  • resolution set to duplicate

oops. dupe of #1128

2

Changed 2 years ago by <automation>

  • owner glyph deleted
Note: See TracTickets for help on using tickets.