Live data from Hacker News

MsQuic – QUIC Implementation from Microsoft

github.com

41–50 of 87 posts

Re: MsQuic – QUIC Implementation from Microsoft

#42

Please fire away any questions you may have! I lead the team that built this library. This blog has details on current development status and adoption within Microsoft: https://techcommunity.microsoft.com/t5/networking-blog/msqui...

I recently had a project in my college course to implement MP-QUIC, but there was sever lack of resources on it. What do you guys think of MPQUIC vs QUIC?

Re: MsQuic – QUIC Implementation from Microsoft

#43

Earlier quoted context omitted.

Since this had to run in kernel mode on Windows to power our HTTP stack, C was the language of choice. There exist other open source implementations of QUIC in C++ and Rust etc.

Isn’t the Windows kernel C++?

The Windows kernel is mostly C, but also parts in assembly and C++. [1] It also helps to keep in mind that back in the late 80s, when development work on the NT kernel began, C++ was still the new kid on the block. NT kernel work began even before ANSI C was done.

--

[1] https://www.reddit.com/r/cpp/comments/4oruo1/windows_10_code...

Re: MsQuic – QUIC Implementation from Microsoft

#44

Please fire away any questions you may have! I lead the team that built this library. This blog has details on current development status and adoption within Microsoft: https://techcommunity.microsoft.com/t5/networking-blog/msqui...

Was't QUIC was standarized as HTTP/3 what makes it call QUIC not HTTP/3.

Re: MsQuic – QUIC Implementation from Microsoft

#45

Please fire away any questions you may have! I lead the team that built this library. This blog has details on current development status and adoption within Microsoft: https://techcommunity.microsoft.com/t5/networking-blog/msqui...

Was't QUIC was standarized as HTTP/3 what makes it call QUIC not HTTP/3.

No. HTTP/3 is HTTP using QUIC as the lower-layer transport. QUIC itself allows for different protocols to be build on top of it, and was standardized on its own.

Re: MsQuic – QUIC Implementation from Microsoft

#46

Earlier quoted context omitted.

Any strong reasons you chose C? Maybe I skimmed too quickly but I didn't see this mentioned in that blog post. Was there a requirement from other teams?

Since this had to run in kernel mode on Windows to power our HTTP stack, C was the language of choice. There exist other open source implementations of QUIC in C++ and Rust etc.

I thought Rust was being considered for these use-cases. Is it (or was, at the time you started working on it) too early for that?

Re: MsQuic – QUIC Implementation from Microsoft

#48

> MsQuic is shipped in-box in the Windows kernel in the form of the msquic.sys driver Does that mean that a HTTP.SYS Webserver will also Support QUIC?

You mean IIS? HTTP.SYS isn't a webserver.

HTTP.SYS is the core of a Windows NT native web server; the async listen/accept loop, IOCP-based data transfer, etc. IIS is built on top of HTTP.SYS. I presume that it ships with Windows for ease of servicing; it is after all a kernel-mode driver (of sorts).

Re: MsQuic – QUIC Implementation from Microsoft

#50

Earlier quoted context omitted.

Any strong reasons you chose C? Maybe I skimmed too quickly but I didn't see this mentioned in that blog post. Was there a requirement from other teams?

Since this had to run in kernel mode on Windows to power our HTTP stack, C was the language of choice. There exist other open source implementations of QUIC in C++ and Rust etc.

So what measures are in place to avoid being part of the 70%?

https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-s...

Post reply on HN