title: does pauseProducing() in Twisted guarantee no more calls to dataReceived()?
body: <p>This is an extension of my question here:  <a href="https://stackoverflow.com/questions/29244156/python-twisted-enforcing-a-single-connection-per-id">python twisted: enforcing a single connection per id</a></p>
  
  <p>I'm trying to enforce a singe connection per id.  If a new connection comes in with the same id as an existing connection, I try to kill the old one and replace it with the new one.  I do that by pausing the new one, killing the old one, then un-pausing the new one.  I made the assumption that after pausing the transport on a connection I wouldn't get any further calls to <code>dataReceived()</code> but this doesn't seem to be the case.</p>
  
  <p>In my logs, I recorded where I <code>pauseProducing</code> in the <code>dataReceived</code> method and then return.  Immediately (1ms!) after I have a second call to the <code>dataReceived</code> on the same object with no calls to un-pause the production.</p>
  
  <p><strong>Are my assumptions incorrect about no more calls to <code>dataReceived</code> after <code>pauseProducing</code> or have I found a bug?</strong></p>