Vect0rZ / Quic.NET

A .NET C# Implementation of QUIC protocol - Google's experimental transport layer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Base ideology of connections

Vect0rZ opened this issue · comments

What does that mean
Currently the Server acts as a continuously running entity on a single connection, awaiting packets.

What is the expectation
The connection should be handled exactly as HTTP/2's idea of "reusing" connections, rather than a long-running instance.

Example

You open up a website, that needs to load a html page and a css file and a logo. How should QUIC handle this:

  1. Connection has been opened
  • A bidirectional stream is opened for the HTML
  • A bidirectional stream is opened for the CSS
  • A bidirectional stream is opened for the logo
  1. All of those are interleaved in a single connection.
    Each of the streams is being closed by RESET_SREAM frames in the last data packets or immediately in a single packet.
    After all of the streams are closed, a CONNECTION_CLOSE is being send by the server to disband the client/server connection.