Beispiel #1
0
	def loseConnection(self, connDone=failure.Failure(main.CONNECTION_DONE)):
		"""
		Stop accepting connections on this port.

		This will shut down the socket and call self.connectionLost().  It
		returns a deferred which will fire successfully when the port is
		actually closed, or with a failure if an error occurs shutting down.
		"""
		self.disconnecting = True
		self.stopReading()
		if self.connected:
			self.deferred = deferLater(
				self.reactor, 0, self.connectionLost, connDone)
			return self.deferred
Beispiel #2
0
def _loopbackAsyncContinue(ignored, server, serverToClient, client,
                           clientToServer, pumpPolicy):
    # Clear the Deferred from each message queue, since it has already fired
    # and cannot be used again.
    clientToServer._notificationDeferred = None
    serverToClient._notificationDeferred = None

    # Schedule some more byte-pushing to happen.  This isn't done
    # synchronously because no actual transport can re-enter dataReceived as
    # a result of calling write, and doing this synchronously could result
    # in that.
    from lib.twisted.internet import reactor
    return deferLater(reactor, 0, _loopbackAsyncBody, server, serverToClient,
                      client, clientToServer, pumpPolicy)
Beispiel #3
0
    def loseConnection(self, connDone=failure.Failure(main.CONNECTION_DONE)):
        """
		Stop accepting connections on this port.

		This will shut down the socket and call self.connectionLost().  It
		returns a deferred which will fire successfully when the port is
		actually closed, or with a failure if an error occurs shutting down.
		"""
        self.disconnecting = True
        self.stopReading()
        if self.connected:
            self.deferred = deferLater(self.reactor, 0, self.connectionLost,
                                       connDone)
            return self.deferred
Beispiel #4
0
def _loopbackAsyncContinue(ignored, server, serverToClient, client,
						   clientToServer, pumpPolicy):
	# Clear the Deferred from each message queue, since it has already fired
	# and cannot be used again.
	clientToServer._notificationDeferred = None
	serverToClient._notificationDeferred = None

	# Schedule some more byte-pushing to happen.  This isn't done
	# synchronously because no actual transport can re-enter dataReceived as
	# a result of calling write, and doing this synchronously could result
	# in that.
	from lib.twisted.internet import reactor
	return deferLater(
		reactor, 0,
		_loopbackAsyncBody,
		server, serverToClient, client, clientToServer, pumpPolicy)