[Telepathy] Abusing FileTransfer.URI

Danielle Madeley danielle.madeley at collabora.co.uk
Thu May 5 17:38:24 PDT 2011


A bunch of protocol libraries implement file transfer using a file API
that reads/writes files from the disk. Unlike Telepathy, which transfers
files to/from the client using sockets.

This makes implementing FT for these protocols a pain, where the only
way it's possible is to implement the API is to spool the data from the
socket to a temporary file. For large files this is both a huge
slow-down, and a way to potentially run out of disk space.

I was thinking the other day that it might be possible to abuse the new
FileTransfer.URI property to work around this problem.

For outgoing files, we could check the Size and ContentHash matched the
URI and if that's the case, ignore the data coming via the socket.

For incoming files, we could write to a temporary file and then move it
into the location of URI once the client had closed its socket.

It's pretty hacky, and might melt for some implementations. For clients
that don't implement URI we could fall back to spooling. Thoughts?

--danni

-- 
Danielle Madeley
Software Developer, Collabora Ltd.                  Melbourne, Australia

www.collabora.co.uk



More information about the telepathy mailing list