[Twisted-Python] Streaming File Transfer Protocol?

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Fri Feb 19 08:12:56 EST 2010


On 11:33 am, darren at ontrenet.com wrote:
>Hi again,
>   Ok, so now it seems the Int32StringReceiver does not receive
>"stringReceived" events if the sent bytes
>exceed a certain amount. If I send from the client, say 5000 bytes. It
>receives it.
>
>But when i send 7376896 bytes at a time, the client indicates it wrote
>the bytes, but there is not one
>stringReceived callback on the server side of the protocol. No error or
>exception. nothing.
>Is this normal behavior?

Yes.  You've hit the arbitrary additional limit on the maximum length of 
a single string that Int32StringReceiver will accept.  When this limit 
is exceeded, the connection is dropped.  If you really want to accept 
7MB strings from your peer, set the MAX_LENGTH attribute of your 
Int32StringReceiver subclass (or instance) to large enough value.  You 
can also get notification when this limit is exceeded by overriding the 
lengthLimitExceeded method (the default implementation of which is what 
drops the connection).

Jean-Paul



More information about the Twisted-Python mailing list