Getting started with QUIC

894 views
Skip to first unread message

Guillaume Ruty

unread,
May 13, 2014, 3:21:30 PM5/13/14
to proto...@chromium.org
Hi,
I'm very interested into testing QUIC and followed the instructions to build everything but I am not able to ninja quic_server, quic_library or quic_client. I actually don't find ninja files corresponding to any of these executables. Why could it be?

Ryan Hamilton

unread,
May 13, 2014, 6:42:18 PM5/13/14
to proto...@chromium.org
Can you include the exact command that you are running, and the output you are seeing?

Cheers,

Ryan


On Tue, May 13, 2014 at 12:21 PM, Guillaume Ruty <guillaum...@gmail.com> wrote:
Hi,
I'm very interested into testing QUIC and followed the instructions to build everything but I am not able to ninja quic_server, quic_library or quic_client. I actually don't find ninja files corresponding to any of these executables. Why could it be?

--
You received this message because you are subscribed to the Google Groups "QUIC Prototype Protocol Discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+...@chromium.org.
To post to this group, send email to proto...@chromium.org.
For more options, visit https://groups.google.com/a/chromium.org/d/optout.

Guillaume Ruty

unread,
May 14, 2014, 4:07:25 AM5/14/14
to proto...@chromium.org
Well I just run "ninja -C out/Debug quic_server quic_library quic_client"
the output is "ninja : Entering directory 'out/Debug'" then "ninja : error: unknown target 'quic_server' "
I might add that on the other hand the command "ninja -C out/Debug chrome" worked perfectly but that chromium quits unexpectedly as soon as it opens.

Guillaume Ruty

unread,
May 14, 2014, 8:44:44 AM5/14/14
to proto...@chromium.org
Ok I actually figured out what the problem was. I tried to compile this on Mac OS. But the net.gyp file supposed to compile quic_server_bin.cc and quic_client_bin.cc only does this on linux (a condition prevents it from doing it on mac OS). Disabling the condition generates an error because it uses epoll.h, which simply doesn't exist on mac. I'm now on my way moving all my projects on ubuntu.

Ryan Hamilton

unread,
May 14, 2014, 9:47:14 AM5/14/14
to proto...@chromium.org
Are you building on Linux?

Guillaume Ruty

unread,
May 14, 2014, 11:11:48 AM5/14/14
to proto...@chromium.org
I wasn't but i have now done int and it works, although i juste used "ninja -C out/Debug quic_client quic_server" because quic_library didn't exist.
Now is it possible to use QUIC as a transport protocol in a client-server application? I currently have one in which I send instructions through a TCP socket and I would like to experiment with QUIC to see what could the improvements be (notably by using the QUIC feature to multiplex streams and to define different qualities of service to different streams).

auro tripathy

unread,
May 14, 2014, 12:11:02 PM5/14/14
to proto...@chromium.org
Hi Guillaume

I'm experimenting with the QUIC transport in the peer-to-peer area. So I've integrated an ICE SDK which punches UDP ports (on the remote peer) across the internet and I'm running quic_client and quic_server over the punched port.

Love to hear more about your experiments. 

Soon, I can share benchmarks (relative to TCP/OpenVPN etc.). Maybe, its early for this.

-Auro

Guillaume Ruty

unread,
May 19, 2014, 11:53:33 AM5/19/14
to proto...@chromium.org
Hi Auro,

That's highly interesting to me. Do you directly use quic_client and quic_server to send packets? If yes, do you use multiplexing abilities from QUIC? The quic_server seems to be only able to store data and send it to clients connected to it, but I would like to push a stream of dynamic commands directly through QUIC without having to artificialy write them on a file and storing this file for the client to read. Is it currently possible without strongly modifying the executables?

auro tripathy

unread,
May 20, 2014, 7:22:44 PM5/20/14
to proto...@chromium.org
Hello Guillaume:

Yes, I'm directly invoking the quic_client and quic_server (on two different machines). I give the client the ip:port parameter (from the previous port-punching step).

I'd like to try out multiplexing.

Could you suggest a way to do it?

Can I simulate it by having multiple quic_client invocations (on different machines) talking to the same instance of the quic_server (on yet another machine)? 

-Auro

Guillaume Ruty

unread,
May 21, 2014, 5:14:46 AM5/21/14
to proto...@chromium.org
Well the current API doesn't seem to allow multiplexing. I think that in the source code some classes like net/quic/quic_protocol.cc or quic_spdy_server_stream are supposed to deal with that but are not yet used in the current API.

If having multiples quic_client invocations doesn't crash (which would surprise me as both clients will try connect to the same port) I don't think this would be multiplexing as you would just start 2 connections when multiplexing is all about having multiple streams in one connection. Furthermore, once again I'm not sure the current API allows you to adjust the quality of service you wish to have for a particular stream, which is for me one of the main interests of multiplexing in QUIC. I might however be wrong about this, as I'm not very familiar with the code yet.

-Guillaume

Sir Yang

unread,
Oct 20, 2015, 4:27:57 AM10/20/15
to QUIC Prototype Protocol Discussion group, guillaum...@gmail.com
hello 
    I want to compile google quic,but I don't know how to get the build.ninja for quic. couled you plese tell me or sent it to me.
thankyou!
 
yangxianghong  from changsha china

在 2014年5月14日星期三 UTC+8下午8:44:44,Guillaume Ruty写道:

Ryan Hamilton

unread,
Oct 20, 2015, 9:55:15 AM10/20/15
to proto...@chromium.org, guillaum...@gmail.com
Sure.  The main QUIC page https://www.chromium.org/quic/playing-with-quic, links to the instructions for checking out the Chromum code: http://www.chromium.org/developers/how-tos/get-the-code, which includes running ./build/install-build-deps.sh. I believe that ensures that ninja is installed on your system.

Cheers,

Ryan

Reply all
Reply to author
Forward
0 new messages