[tahoe-dev] uTP (low extra delay transport)

Brian Warner warner at lothar.com
Tue Jun 1 22:55:05 UTC 2010


On 5/28/10 12:09 PM, ghazel at gmail.com wrote:
>>
>> How does the uTP event loop work? Have you tried or been able to make it
>> work as a twisted ITransport?
> 
> There is a periodic call you may insert in to any event loop.

Does this introduce latency, or limit the overall transfer speed (i.e.
no rx progress is made until the periodic call fires, imposing an
artificially high RTT)? Or is it the case that the receive-side can be
used in two different modes?:

 1: use the periodic call for receive: easy but limits transfer speed
 2: use callback for receive: slightly harder but no latency

Or do you need the periodic call even if you're calling the
recievedPacket function each time a new packet arrives?

> I was able to get it running on Twisted very easily, using the direct
> uTP API. I built an ITransport out of it, which wasn't too much
> trouble, and even took a swing at the
> Client/Server/Connection/Connector pile of objects to implement
> reactor.connectUTP and reactor.listenUTP. Those have a lot of edge
> cases around when the connection is lost or manually closed, which
> I'll need to test, but it seems to work at a basic level.

Awesome. I'd want to copy that code into Foolscap to approach this
stuff, or get it into Twisted itself. Is it part of the uTP repo?

thanks,
 -Brian



More information about the tahoe-dev mailing list