[Nice] libnice and pseudo tcp

Olivier Crête olivier.crete at collabora.com
Tue Jan 10 14:01:40 PST 2012


On Tue, 2012-01-10 at 22:41 +0100, Eduardo Bezerra wrote:
> - does the pseudotcp communication implemented in libnice ensure both
> deliver *and* FIFO order?
> - does it implement flow-control, as ordinary tcp?

Yes, it's basically just TCP over UDP, so it should provide most of the
stuff you expect from a baisc TCP implementation.

> - do you have some test results regarding both message delivery delay
> and maximum throughput of pseudotcp, when compared to tcp?

Probably not as good as a good modern TCP implementation (like the one
in the Linux kernel), but not too bad.

> - what about the maximum size of a message? I know that udp has a
> lower cap for the length of a packet than what you can send by tcp
> with one single call to write(). do you handle some fragmentation and
> reassembly in pseudotcp?

It's a stream like TCP, so there is no concept of messages in the
reliable mode. Unreliable just sends UDP so the limit is relatively low.

> - I do not intend to use a relay 3rd-party for communication... if two
> peers cannot communicate directly, then the application just returns
> an error. Can I use libnice in such way?

Just don't set a relay. You probably still want a stun server.

> - do you plan on including nat-pmp in libnice?

If there is a nice NAT-PMP client implementation that integrates nicely
into GLib, why not? Preferably something as simple as the GUPnP-IGD
module. Could also be integrated in GUPnP-IGD for that matter. But we
haven't had any demand for NAT-PMP up to now. If you have a STUN server,
UPnP/NAT-PMP doesn't give you so much.

Olivier Crête
olivier.crete at collabora.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/nice/attachments/20120110/5e91a225/attachment.pgp>

More information about the Nice mailing list