►
From YouTube: ASP.NET Community Standup - Oct. 22nd, 2019 - HTTP/3 and QUIC with Justin Kotalik and Andrew Nurse
Description
Join members from the ASP.NET teams for our community standup covering great community contributions for ASP.NET, ASP.NET Core, and more.
Community Links: https://www.theurlist.com/aspnet-standup-2019-10-22
A
B
C
B
C
My
name
is
Justin
I've
been
on
the
astronaut
core
team
for
around
two
years
now,
two
years
and
some
change
and
I
primarily
work
on
like
guest
role
is
an
CM,
and
now
something
should
be
three
stuff,
which
is
pretty
awesome.
You
were
on
the
stand
up
once
before.
I
was
on
the
stand
up
three
years
ago,
when
I
was
an
intern.
I
talked
about
URL
rewrite
the
middleware,
I
wrote
as
an
intern
and
hey
we
shipped
it.
So
it's
not
gonna.
Be
that
bad.
C
A
C
Once
I
remember,
hearing
was
I.
Think
Hansen
was
talking
about
how
he
had
a
URL
rewrite
file
as
part
of
is,
and
he
was
like
I'm
pouring
my
cycle.
Linux,
like
I,
can't
use
these
year.
I'll
rewrite
roles
with
ice
at
all.
I
just
brought
the
file
in
called
you
like
use
your
own
use,
rewriter
and
pass
the
violin,
but
the
is
rules
and
Ashley
just
all
worked,
which
was.
It
was
a
good
cyril.
'if
it
was
like.
Oh
yes,
we
actually
rather
beat
you
that,
like
worked
bugs
bugs,
was
awesome.
Yep.
A
Awesome
I'm
starting
right
off
the
bat
with
a
Turkish
post,
I,
hope,
you're
ready
for
reading
some
Turkish
or
I'll
translate
to
English
needed.
So
we
are
trying
to
do
this
every
week.
We
want
a
feature
at
least
one
non-english
post
and
unfortunately,
there's
a
ton
of
great
content
out
there.
So
Emory
is
writing
about
content
security
policy
for
dotnet,
core
MVC
projects
and
so
there's
different
ways
to
handle
this.
There
are
some
some
libraries
out
there
that
will
handle
this.
A
For
you,
there's
1,
MW,
SEC,
there's
a
I
think
we
featured
a
post
from
Anthony
Chu
a
while
ago.
People
have
written
tag,
helpers
Tomas
did
something
on
that
a
while
ago,
but
this
this
is
this,
is
you
know
a
nice
walk
through?
This
is
writing
the
code
kind
of
from
scratch.
It's
explaining
why
you
need
content
security
policy
and
so
I
always
feel
dumb
when
I
say
this
is
I,
think
it's
nonce
yeah
all
right!
We're
agreed
it's
not
so
you
so
you
need.
This
is
basically
like
a
hash
right.
This
is
a
generated.
A
It's
a
one-time
value
and
so
an
attacker
is
not
going
to
be
able
to
create
that
value
each
time.
So
here
he
goes
through
and
uses
the
orangey
crypto
service
provider
and
shows
writing
that
out
explaining
you
know
what
what
is
valuable
for,
and
so
that's
that's
pretty
much
it
and
then
showing.
If
you,
if
you
don't
have
you'll
you'll,
get
an
error,
which
is
what
you
want
to
see
so
nice.
A
Alright.
So
here
is
a
repeat:
offender
on
the
community,
stand
up
and
relax
he's
going
through
a
series
on
dotnet
core
3,
and
this
is
writing
about
local
tools.
So
we've
had
global
tools
for
a
while,
and
a
niche
been
to
with
global
tools
is
if
operating
with
someone
at
a
you
know,
PayPal
where
you're
sharing
code
and
your
project
is
relying
on
a
global
tool.
Then
you
kind
of
you
need
to
tell
people
hey.
You
need
to
go,
get
this
tool
or
whatever.
So
with
that
an
acquire
3,
we
have
support
for
local
tools.
A
That
includes
a
creative
tool
manifest
and
going
through.
You
can
install
so
here
he
shows
in
and
cake
and
then
for
your
for
people
that
join.
You
know
that
are
using
your
project.
Then
then
they
will
I
may
have
scrolled
by
it
too
quickly.
You
you
can.
Basically
you
can
say
here:
it
is
here's
the
exciting
part,
so
dotnet
store
and
that'll
political
tools.
You
can
just
run
if
you
had
your
own
version,
or
this
will
show
you.
This
allows
support
for
specific
versions.
A
B
Tool,
that's
doing
something
like
say
generating
code
or
it's
like
a
key
part
of
your
build
system.
There
wasn't
really
a
way
to
a
make
that
so
that
when
you
restored,
they
just
appear
and
be
managed
the
fact
that
well
what
if
you're
switching
branches,
what,
if
you've
been
switching
projects
all
the
time
so
yeah
cool.
A
Alright,
just
a
quote
there
from
the
identity
server
folks,
so
they
Dominic
announcing
that
the
three
oh
version
is
out:
support
for
dotnet
re
SDK
and
some
other
nice
new
features.
So
that
is
cool.
We
are
yeah.
Alright.
This
is
one
that
I
thought
was
pretty
cool.
So
on
kit
it
is
Oktoberfest
and
I
got
a
chat
asking
you
know,
hey
or
actually
got
a
pull
request,
updating
the
dotnet
foundation
website.
We
were
previously
on
dotnet
core
to
one
and
so
I
got
a
pull
request
from
him.
A
Saying:
hey,
I,
updated
you
two
to
two
and
me
being
you
know,
always
wanting
more
I
said
great,
how
about
three?
So
so,
but
actually
I'm
kit
went
through
and
not
only
did
you
know
sent
me
a
great
poll.
Qwest
I
was
able
to
you,
know,
merge
it
and
they
were
just
great
I'm.
So
this
live
in
production
now,
but
also
he
went
through
and
wrote
a
blog
post
explaining.
You
know
step-by-step
what
he
did
all
the
changes
along
the
way.
A
So
I've
done
this
recently
I
did
on
a
Twitter
stream
last
week,
where
I
updated
a
site
to.net
course
or
asp,
net
core
3
and
just
going
through
the
docs
I
felt
like
the
docs
were
pretty
straightforward.
So
this
this
felt
pretty
familiar
to
me,
but
so
just
the
steps
on
packages,
the
change
from
my
hosting
reference
I
web
host
and
I,
boosting
environment,
I,
host
web
host
environment,
yeah
I
can't
say
that
more
than
once
fast.
B
A
Yeah
yeah
and
then,
of
course,
changing
endpoint
routing
so
and
then
and
then
also
getting
rid
of
the
how
the
compatibility
version
4
to
2.
Now
question
on
this
I
remember
when
a
compatibility
version
came
out,
and
that
was
a
thing
that
allowed
for
you
know
like
some
things
that
would
have
been
breaking
changes
and
allows
you
to
kind
of
select
your
behavior.
There
were
none
of
those
that
really
applied
in
dotnet
core
3.
Is
that
kind
of
a
as
neat
like
this
compatible
version
thing
or
any
time?
Well,.
B
I
expect
I'm
gonna
speak
relatively
under
informed
about
this,
because
I'm
not
entirely
familiar
with
it,
but
I
believe
it's
one
of
those
things.
What
we
that
we
do
between
major
versions
more
to
allow
you
to
opt
in
and
out
of
new
functionality
added
in
toilet,
basically,
there's
a
lot
of
stuff
going
on
in
the
guts
of
MVC
that
we
want
to
adjust,
and
we
we
do
that
in
ways
that
we
believe
are
non-breaking.
B
But
sometimes
you
know
some
edge
case
comes
up,
and
so
the
that's
designed
as
a
as
a
way
to
let
you
say:
okay,
I
upgraded
to
2,
but
my
site
needs
me
to
roll
back
to
the
one
behavior
for
these
NBC
specific
settings.
I,
don't
think
we
do
it
in
three.
Oh
the
ideas
in
three
oh
you're,
sort
of
reacting
on
the
the
current
major
version,
but
I
would
double
check
with
someone
like
Damien
or
something
I'm,
not
a
hundred
percent
on
that
I'm.
C
A
Alright,
so
this
is
nice
as
from
Bradley
he's
using
sequel
mr.
mcpeet
ba
bill
msbuild
asked
and/or
did
so
just
like
walk
through
this
is
this
is
doing
the
PWA
magic,
creating
a
manifest
jason
and
service.
So
he
walks
through
he's,
got
a
calculator
application
setting
it
up
with
the
things
you
know
like
icons
and
cash
and
actually
pretty
straightforward.
There's
not
there's
not
a
huge
amount
of
code
in
here.
You
know
some
general
kind
of
styling
and
stuff,
but
pretty
quick
walk
through
so
this.
A
This
is
nice
to
see
there
yeah
and
you
know
something
like
blazer
makes
sense.
You
know
I
think
in
a
lot
of
cases
to
do
a
waa,
so
yeah
alright.
So
this
is,
let
me
see:
okay,
so
Chang,
we
hopefully
I'm
saying
that
kind
of
right.
This
is
interesting.
I
saw
a
discussion
on
Heroku
today,
and
this
is
neat
on
using
github
actions
to
deploy
asp
net
core
to
Heroku,
so
it's
you're
able
to
containerize-
and
you
know
that
works
really
well
with
github
actions
so
kind
of
over
there.
A
So
here
not
at
all
a
Roku
expert,
but
this
was
relatively
easy
to
follow.
So
you
know
going
through
setting
up
all
the
the
docker
izing,
so
the
docker
build
then
going
through
and
creating
the
Heroku
app.
This
was
the
part
that
was
kind
of
new
to
me.
I
haven't
looked
at
Roku
for
a
bit,
so
you
know
creating
the
Heroku
application
and
then
just
you
know,
building
that
in
through
the
workflow
that
github
workflow
to
actually
deploy
that
out.
A
So
yeah,
pretty
cool
and
I
said,
have
as
an
option
yeah
alright
last
link
for
me
to
share.
So
this
is
exciting:
ABP
announcing
a
100
release,
so
the
this
is
a
BP
this.
This
has
been
a
long
time
building
to
this
release,
as
they
say
here,
three
years
of
continuous
deployment,
so
5900
commits
so
there's
a
lot.
A
This
ABP
project,
we've
featured
them
in
the
past
before
there's
a
lot
of
stuff
for
all
kinds
of
stuff,
modularity
multi-tenancy,
you
know
so
a
real
kind
of
a
boilerplate
sort
of
application
and
so
quite
a
bit
to
dig
through.
So
congratulations
to
the
team
for
the
big
me
and
that
is
it
for
my
links
and
I
will
be
sharing
these
out
in
the
all
the
places
on
the
the
notes
and
the
in
the
chats
and
yep
I
I
am
about
done.
Talking.
I
am
excited
to
see
some
cool
siding
gone.
A
B
Yeah,
it's
kind
of
just
thing
that
was
like
acronym
names
that
then
they
just
decided
to
drop
the
acronym
but
key,
the
name
like,
for
example,
and
or
they
rebrand
a
little
bit.
I
know
gr
PC
was
Google
RPC,
but
now
it
gr
PC
stands
for
G
RPC
remote
procedure
call.
So
the
G&G
RPC
stands
for
G
RPC,
it's
the
classic
recursive
algorithm,
yeah
yeah
another.
B
Another
interesting
version
of
that
is
the
quick
UDP
internet
connections
or
qu
IC,
which
is
quic,
which
is
a
new
transport
protocol
that
we're
going
to
talk
about
very
soon
which
the
the
recent
specs
they
change
it
to
say,
quick
is
just
a
name.
It's
just
a
name
doesn't
stand
for
anything
anymore,
but
I
think
originally
it
stood
for
something
like
that.
Quick
UDP,
internet
connections
and
on.
B
A
B
Yeah
but
yeah,
so
three
go
Donna
core
300
shipped
pretty
recently
and
in
that
one
of
the
big
pieces
of
news
HTTP
to
full
support
on
by
default,
but
we
are
not
resting
there.
So
today,
we're
gonna
talk
a
little
bit
about
some
prototype
work.
We're
doing
at
and
and
the
plan
is
to
ship
this
in
a
future
release.
B
We
don't
know
exactly
when
yet,
but
we're
looking
into
H
2
B
3,
which
is
the
next
version
of
HTTP,
turns
out
there's
already
an
HDTV
3
out
there
and
HB
3
is
sort
of
a
new
version
of
HTTP
built
on
top
of
quick,
that's
qu
IC,
and
let
me
actually
hearing
these
throw
over
to
my
screen.
A
little
bit
quick
is
is
the
the
quick
website.
Quick
is
a
new
sort
of
low-level
transport
protocol,
so
think
quick
replaces
TCP
at
that
level.
B
Think
Justin's
got
a
little
bit
of
content
to
go
through
to
talk
a
little
bit
about
where
we're
going,
but
basically
what
this
comes
to
is
we
want
to
get
out
and
get
started
running
with
HTTP
3
and
start
playing
around
with
it
and
start
sharing
it,
because
we
don't
know
exactly
how
much
work
there
is
we're
still
sort
of
figuring
that
out,
but
but
what
we
do
know
is
that
people
are
starting
to
use
it
CloudFlare
just
announced
recently
that
they
were
supporting
HB
3
everywhere.
So
we
want
to
sort
of
share.
C
C
So
first,
pretty
clear
question
is
why
the
heck
do
we
need
another
version
of
HTTP,
so
we
implement
HB,
that
was,
the
spec
was
pretty
much
done
around
2015-2016
and
it
introduced
many
many
cool
things
over
H,
b11,
I,
introduced
multiplexing
being
able
to
you
know,
have
multiple
streams
and
connections
being
able
to
have
multiple
streams
go
at
the
same
time
the
representation
be
requests
and
use
flow
control
and
header
compression
as
well,
in
order
to
just
speed
up
the
protocol
itself.
But
fundamentally,
HB
2
has
a
few
problems.
C
The
the
first
one
is
really
that
when
you
are
doing
the
streaming
connection,
these
are
all
still
happening
at
the
application
layer.
So
what
happens
is
when
you
get
something
called
head-of-line
blocking
in
with
the
TCP
layer?
So
what
head-of-line
blocking
is,
if
you
have
like,
let's
say,
five
people
waiting
in
line
and
the
first
one
is
taking
forever
all
four,
but
behind
it
are
blocked
effectively.
B
Cuz
in
HP
one,
you
had
one
TCP
connection
and
you
sent
one
HTTP
message
and
you
had
to
wait.
It
had
to
process
that
before
it
could
process
the
next
one
exactly,
but
in
HP
you're
still
on
that
one
TCP
connection,
but
now
you
can
send
a
bunch
of
different
parallel
requests
exactly
so
up
on
the
application
layer.
You
have
a
bunch
of
parallelism,
but.
C
C
C
First,
off
quick
is
a
UDP
based
protocol.
It
is
I,
have
a
little
diagram
on
the
top
right
effectively.
What
we
have
is
htv-2
you
had
this
different
network
stack
with
TLS
and
TCP,
so,
for
example,
and
kestrel.
This
would
look
like
you
have
a
socket
and
you're
reading
TCP
from
it.
These
TCP
packets
eventually
go
through
SSL
stream
and
then
after
SSL
stream,
you're,
eventually
in
kestrel
and
you're,
parsing
and
processing
these
frames
with
htv3.
C
B
And
I
think
the
thing
that's
different
there
about
what
TCP
does
is
where
TCP
does
reliability
as
well,
messages
come
in.
If
you
get
a
message
out
of
order,
it
blocks
and
waits
for
the
message
to
come
in
they're
all
like
there's
retransmission.
The
client
will
keep
resending
if
you
haven't
acknowledged
things
like
that,
but
it's
all
on
that
one
big
connection
pipe.
C
A
given
stream,
all
other
streams,
can
still
be
processed
at
the
same
time.
That's
the
big
thing
so
friend.
If
you
do
lose
a
packet
for
a
given
stream,
that's
that's.
Individual
stream
will
be
blocked,
but
all
the
other
ones
will
allow
it
to
be
well
will
be
able
to
process
same
time
yeah.
It's
also
very
analogous
to
what
h-2b
to
did
with
the
connections
and
streams.
So
HTTP
you
have
these,
like.
You
have
an
HP
connection
and
you
have
streams
on
top
of
that
effectively.
C
The
same
thing
happens:
it's
quick
layer,
you
have
a
quick
connection
and
then
you
have
quick
streams
on
top
of
that
as
well.
Quick
also
introduces
some
ideas
of
quicker
round-trip
times,
so
normally,
when
you
are
negotiating
or
setting
up
a
connection,
you
have
a
lot
of
like
handshaking
and
a
lot
of
back-and-forth
between
the
client
and
server.
Quick
makes
a
couple
things
really
quick
with.
A
C
There's
a
lot
of
things
to
improve
this
experience.
I
I'm
not
quite
sure
out
what
happens
at
the
protocol
area.
Yeah.
B
I
mean
I
I
have
not
read
that
protocol
or
spec
in-depth
either,
but
yeah.
It's
about
reducing
those
round-trip
times
pretty
dish,
because
because
in
TCP
and
with
TLS
and
all
these
you've
got,
you
got
to
do
a
TCP
handshake
and
you've
got
to
do
TLS
negotiation
to
figure
out
like
okay.
What
certificate
are
we
using?
What
keys
are
we
using
quick,
does
a
lot
to
try
and
roll
those
all
into
one
set
of
handshakes
and
also
reduce
the
time
it
takes
yeah
and.
C
So
with
that
quick
one
of
the
biggest
appeals
of
it
is
the
amount
of
time
it
takes
to
set
up
a
secure
connection.
I
remember
seeing
some
data
about
it
being
a
few
orders
of
magnitude
faster
than
sanic
the
normal
TCP
connection,
which
is
nice.
Another
thing
about
quick
kind
of
implied
by
that
is
that
quick,
it's
always
secure.
C
C
That's
just
a
general
overview,
quick!
Well
all
right
now,
once
you
have
quick,
you
can
implement
H
2,
B,
3
and
effectively
it's
just
a
brand
new
way
of
sending
HTPC
HTTP
over
the
wire
as
a
binary
protocol,
just
like
HTTP
2,
but
there's
some
small
differences
between
how
the
frame
types
and
protocol
and
all
that
stuff
that's
fairly
minor,
but
there's
a
lot
of
similarities
between
htv3
and
HTTP
2,
but
it
also
has
some
HTTP
1
elements
in
there.
It's
just
an
interesting
mix.
C
C
C
C
So,
Anza
being
really
efficient
with
that
yeah,
there
was
a
couple
reasons
why
they
needed
to
make
a
new
one
called
queue
pack,
instead
of
H
package,
the
kid
couldn't
reuse
it
I
believe
fundamentally,
is
because
with
HT
be
to
all
of
the
headers
for
coming
on
the
same
connection,
and
so
I
think
they
didn't
need
to
worry
about
like
concurrent
headers,
because
now
the
headers
are
being
sent
on
streams
that
I
think
had
to
make
a
change
to
the
product.
Yeah.
B
Hb2
made
a
little
a
few
concessions
to
the
fact
that,
like
it
allows
you
to
interleave
things
so
that
what
you
can
have
data
coming
in
from
one
big
giant
upload,
while
other
requests
are
going
on,
for
example,
but
it
made
some
limitations.
That's
certain
things
have
to
happen
completely
before
anyone,
any
other
requests
can
be
processed
and
because
quic
is
all
about
splitting
that
down
two
streams,
letting
you
have
a
lot
of
different
parallel
streams.
It's
multi-threaded,
TCP
I,
think
is
one
of
the
comments
I
saw
in
the
chat.
B
C
It's
very
similar
to
a
CH
pack
with
just
some
changes
and
because
they're
chain
making
changes,
they
made
a
ton
of
good
changes
to
the
static
table.
I
remember
the
static
table
needs
to
be
to
only
had
like
30
entries
or
something
like
that,
and
now
they
have
like
100,
which
is
really
nice,
because
there's
a
lot
of
common
headers
out
there
and
also
just
as
I
think.
A
C
Yeah
yeah
for
sure,
just
a
quick
shout
out
to
a
website
I've
been
using
it's
I
John.
Is
there
gonna
be
a
way
to
for
me
to
share
a
bunch
of
links
after
this
potentially
yeah.
C
That'd
be
great,
so
this
is
a
nice
community
link.
I
wrote
this,
but
it's
pretty
much
gives
you
a
quick,
cannot
use.
The
word
quick
gives
a
nice
an
explanation
of
htv3.
Why
they're
wanting
to
do
it
over
HTTP
to
what
problems
that
has?
What
is
the
yeah?
What's
the
the
benefits
of
it
and
a
bunch
of
other
things
about
it?
So
just
a
quick
shout
out
to
this.
C
Alright,
also
mentioning
that,
so
you
can
do
HTTP
3
over
quick,
but
quick
is
effectively
just
a
way
to
transport
bytes
between
a
client
and
server
and
vice
versa.
So
there's
been
a
lot
of
talk
about
doing
non-http
workloads
over
quick,
one
I
know
has
been
talked
about,
is
G
RPC
I
know
it's
been
kind
of
briefly
mentioned
on
the
repo
or
the
GRP
cero
repo
I'm
on
it
wasn't
certain
if
that's
gonna,
be
something
that's
happening
sooner
than
later.
C
There's
a
lot
of
questions
about
if
the
quick,
the
current
quick
spec
is
actually
viable
to
use
for
non-http
workloads.
I
know
that
they're
talking
about
a
quick
v2,
so
that
also
made
me
something.
But
another
thing
we
try
to
play
around
with
the
signal
are
and
I'll
eventually
show
a
demo
of
a
single
are
using
quick,
which
is
yeah.
C
Then
finally,
DNS
there
was
some
talk
about
DNS,
I,
don't
know,
looks,
look
up,
is
UDP
or
not,
I'm,
not
sure
yeah
I
think
it
is
I,
think
so
I
think
so
anyway.
So
we're
talking
about
doing
I,
don't
know
something
right,
quick
with
DNS
and
doing
that
instead,
alright
and
then
yeah
some
shadows
to
libraries
that
are
currently
available
right
now.
There
are
many
many
different,
quick
libraries
today.
C
The
first
one
is
and
as
quick
is
one
that's
being
developed
by
Microsoft
is
written
in
C
and
it's
actually
the
one
we're
currently
prototype
prototyping
with
we'll
go
into
more
detail
about,
like
some
of
that
stuff,
we're
doing
with
them
as
quick
a
little
bit
later.
Other
ones
include
quiche
wishes
and
our
pun
on
the
word.
Well,
it's
fun
and
quick
and
something
that
it's
about.
My
CloudFlare
CloudFlare
announced
that
they
are
using
htv-3
on
both
the
client
and
server
I.
C
Believe
Google,
quick,
I,
don't
really
know
what
the
name
of
it
is
I
like
the
Facebook
one
though
yeah
I
was
I.
Looked
at
that
and
I
was
like
what
is
most
yeah.
It's
me:
it's
you're
supposed
to
say,
has
move
fast
and
then
they
have.
They
have
a
quick
server
as
well
neck
CO
neck,
oh
I,
think
that's
Mozilla
version.
It's
also
written
in
rust
and
there's
again
a
ton
of
others.
So
I'll
show
you
a
quick
interrupt
matrix.
It
is
so.
B
Wait
a
lot
I
think
this
is
what
this
matrix
is
showing,
and
this
is
an
illustrative
thing
for
why
we're
talking
about
this
is
an
experimental
early,
prototyping
kind
of
phase
each
column
and
row
is
an
implementation
and
the
boxes
are
like
how
they
work
together,
so
they
don't
even
all
work
together
to
the
same
level.
That's
it's
is.
This
is
a
constantly
evolving
spec
right
now,
yeah,
it's
not
even
in
felt
like
the
spec
itself
is
constant,
is
still
in
draft
right
now.
Yeah.
C
B
C
C
C
B
B
Really
involved
in
developing
this
yeah,
but
one
of
the
things
we'll
show
and
actually
I
think
we
could
probably
jump
towards
that
as
we
can
show
a
demo
of
what
we've
got
in
an
initial
prototype,
using
chrome
to
actually
make
an
HTTP
3
request
to
an
eight-speed
on
our
servers
yeah.
So
if
you
wanted
to
show
that
now,
let's.
C
B
C
B
C
It
looks
just
follow
me.
Thank
gosh
yeah,
all
right,
so
this
is
your
normal
program.
Man.
The
only
difference
is
that
I'm
calling
an
API,
it's
called
like
use,
ms
quick,
so
what's
doing
is
this
is
effectively
adding
just
like
we
had.
We
have
different
transports
in
Kestrel
effectively,
you
can
call
you
sockets
use
Livia
V.
This
is
just
another
transport,
that's
implemented
with
this
bedrock
API
I'm,
allowing
you
to
get
a
connection
and
get
a
stream
out
of
that
and
stuff
like
that.
B
B
B
C
A
C
B
C
So
different
I
know
it's
really
interesting.
So
if
we
go
to
here
and
we
refresh,
we
should
be
able
to
see
you're.
C
B
B
B
Got
a
bunch
of
so
one
of
the
things
I
think
we
should
talk
about
is
okay.
So
what
does
this
mean
for
net
core?
Because.
B
A
great
demo
it's
been
hacked
together,
like
what
does
this
actually
mean
and
I?
Think
there's
a
the
thing
to
remember
about
supporting
something
like
HT
p3
is
there's
a
whole
bunch
of
elements
to
it
right,
there's
getting
it
working
in
asp
net
core
on
on
kestrel
there's.
Does
it
work
in
is?
Does
it
work
in
HTTP
sisters?
Are
our
other
servers
theirs?
Does
it
work
with
HP
client,
like
you,
don't
make
requests
with
HP
client?
All
these
things
are
on
the
table.
There
are
things
that
we're
like
we're.
B
Looking
at
we're
starting
to
explore,
I
think
long
term.
It
is
our
goal
to
support
these
things
in
all
of
our
our
places.
What
we're
working
on
right
now
is
we're
playing
around
with
prototyping
HP
3
in
kestrel,
we're
not
trying
to
try
and
implement
quick
because,
as
Justin
sort
of
mentioned,
you're
trying
to
implement
reliability
on
top
of
UDP.
That
basically
means
reimplemented
tcp
and
that's
a
hard
problem.
There's
a
reason
why
most
operating
systems
do
it
for
you
yeah
yeah,
so
some.
C
A
B
B
It
lets
us,
do
you
know
it
handles
those
streams
and
stuff,
and
then
all
we
have
to
deal
it
on
top
of
that
is
the
HTTP
3
stuff
and
that's
sort
of
our
approach
right
now
we're
looking
at
that,
because
that
gives
us
that
leg
up
it
means
we
don't
have
to
start
from
Ground
Zero.
We
can,
you
know,
build
up
from
something
that
already
kind
of
works.
I.
C
C
B
B
The
context
I
want
to
set
on
this
is:
it's
still
super
experimental
think
blazar
way
back
in
the
early
days,
and
not
even
that,
like
we
don't
even
know
exactly
where
we're
going
with
this
because,
like
I
said,
the
spec
isn't
even
done
it's
they're
still
discussing
this
yeah,
but
but
you'll
start
seeing
that
stuff.
We're
because
we're
using
this
MS,
quick
library,
those
hb3
bits.
B
We
start
checking
in
early
on
I'm,
not
gonna,
work
right
away,
because
you're
gonna
need
that
library
and
we
haven't
figured
out
how
we're
gonna
deal
with
that
right
now,
but
long-term.
Our
plan
is
to
devote
to
produce
to
some
HTTP
3
scenarios
and
get
them
out
in
a
version
of.net
core,
that's
full
open
source.
You
can
contribute
you
can
build
everything
you
know
follows:
are
our
usual
patterns,
but
right
now
we're
sort
of
in
that
early,
prototyping
and
basically,
what
it
comes
down
to
is
Justin's
tired
of
private
Fork
of
a
cotton.
He.
B
Party
and
and
we're
tired
of
it
too,
we've
only
been
it's
only
been
going
for
a
couple
weeks
but
like
we
want
to
make
sure
that
that
our
custom
that
our
community
can
see
what
we're
doing,
because
that's
really
important
to
our
open
source,
even
if
what
we're
doing
is
still
building
on
these
components
that
are
a
little
harder
to
access.
I,
think
it's
important
that
what
we're
doing
the
public
yep
exactly.
A
B
A
B
Roles
are
very
similar
like
so
it's
still
quickie
as
a
connection-oriented
protocol.
It's
the
same
just
because
it's
implement
at
the
top
of
UDP.
It's
still
connection
oriented,
because
when
you
look
at
it
IP,
which
is
what
all
of
this
is
based
on,
is
also
not
connection
based.
It's
just
sending
packets
and
so
quick
is
you
you
can
think
of
quick
as
implementing
TCP
on
top
of
UDP,
but
doing
it
in
this
like
multi
stream
way.
B
There
are
some
quirky
things
about
quick,
quirky,
quick
that,
like
quick,
supports
a
feature
called
connection
migration,
which
is
so
in
a
TCP
connection.
You,
the
connection,
is
defined
by
the
two
IP
addresses
and
ports
on
either
side
right
and
the
local
address
and
the
remote
address
that
and
you
can't
change
that.
So
if
you
go
in
a
tunnel
and
you
lose
your
and
you
lose
your
internet
connection,
so
you
connect
to
the
local
Wi-Fi
that
TCP
connection
is
gone
because
it's
a
whole.
B
You
have
a
whole
new
IP
address,
you're
a
whole
new
thing
in
quick.
The
connection
is
not
coupled
to
a
specific
address,
so
you
can
actually
migrate
that
connection
so
that
when
you
go
into
that
tunnel
and
you
go
on
and
you
you
know,
you're
on
your
bus
with
wife
or
something
and
you
connect
to
the
the
Wi-Fi
on
the
bus,
you,
your
TCP
connection,
your
quick
connections
are
not
dropped,
they
just
continue,
as
is
yeah.
A
C
Connection
migration
on
the
other
ones,
connections,
establishment,
I'm,
like
the
time
it
takes
to
establish
connection,
is
like
especially
a
secure
connection
is
significantly
less
also
this
head
of
line
blocking
problem
with
TCP
and
being
solved
by
KTP.
It's
like
probably
the
biggest
one
I
would
say:
that's
someone
I'd,
like
you
know,
if
you're
likely,
reading
like
oh,
why
are
we
getting
right?
Baby,
that's
probably
the
biggest
reason,
and
then
yeah
after
that,
like
it
probably
is
gonna
be
more
performant.
That's
the
probably
the
biggest
question
that,
like
is
on
people's
mind,.
B
B
Udp
is
as
well,
but
UDP
is
pretty
simple,
like
that's
very
low
logic,
but
TCP
has
buffering
and
flow
control
and
all
this
stuff,
then
you
can't
touch
that
code
in
the
kernel,
because
it's
it's
it's
highly
got
to
be
highly
compatible
and
all
these
things
quick,
because
it's
implemented
on
top
of
UDP
quickest
implemented
in
so
when
you,
when
Justin,
ran
that
code.
All
of
the
quick
code
was
running
in
his
process
in
user
mode,
not
in
the
kernel.
B
Now
he
was
running
for
those
DLL
that
we
were
using,
so
you
didn't
write
it,
but
it
can
iterate
more
quickly.
It's
not
tied
to
your
OS
version.
It's
it's
more
flexible!
That
way,
it's
like
app
locally
and
this
you
know
in
that
way:
yeah
yeah,
all
right,
I
I've,
seen
a
couple
questions
and
on
a
similar
theme,
which
is
around
platform
support.
So
first
off
the
question
that
guys
since
this
is
built
on
is
quick.
Does
that
mean
Windows
only
well,
there's
a
good
reason.
It's
called
MS,
quick
and
not
something
like
win
quick.
B
Our
understanding
is.
The
plan
is
to
take
that
cross-platform.
So
the
thing
I
want
to
put
out
clearly
is
that
we
are
committed
to
building
a
cross-platform
quick,
implement
a
like
quick
support
and
htv3
we're
still
looking
exactly
what
that
means
and
how
that
works.
We're
working
with
the
MS
quick
team
to
help
them
sort
of
understand
what
we
need
and
then
what
can
do,
but
but
they
plan
to
be
cross-platform
as
well
and.
C
We're
gonna
we're
trying
to
promise
everybody
that
we're
gonna
deliver
a
cross-platform
like
great
experience
with
HP
3
and
until
we
get
to
that
point,
we're
not
gonna
ship.
It
really
and
at
that
point
like
we're,
gonna
make
sure
it's
cross
platform.
So
if
Emma's
quick
only
runs
on
Windows,
which
from
I
could
tell
it's,
not
it's
gonna
run
on
budget
yeah.
C
C
And
this
is
I
kind
of
kind
of
went
over
this,
so
this
is
generally
just
like.
We
have
bedrock
in
kestrel,
so
we're
gonna
develop
a
package
just
call
like
Microsoft
based
for
no
connections,
dot,
quick
dot,
whatever
doesn't
really
matter.
Unless
we
are
better
a
component
that
allows
us
to
get
something
called
a
connection
context
I,
would
say,
connection
context
represents
to
pronounce
an
imprint
and
output
for
your
connection.
So.
B
B
C
We
may
need
some
work
with
bedrock
in
order
to
figure
out
the
right
level
abstraction
because
we
really
haven't
had
this
like
multiplex,
like
we
want
streams
instead
of
connections
kind
of
idea.
So
we
just
need
to
figure
out
those
problems
and
then
I
just
mentioned
quickly
that
we
have
Microsoft
based
Finnick
orchestral,
that's
gonna
be
implementing
htv3,
and
then
you
know
we'll
see
what
we
do
with
other
things
like
signal
are
or
zero
PC.
We
don't
really
know
yet,
but
I'm
gonna
show
you
quick.
A
demo
about
single
are
using
quick.
B
Something
I
said
and
and
so
date
you
set
this
up.
So
it's
like
david.
I
remember,
I
think
I
don't
know
if
he
showed
it
on
a
stand
up,
but
he's
definitely
talked
about
it
before
a
while
ago.
He
he
liked
to
show
this
sample
of
sigma,
are
running
directly
over
a
raw
TCP
connection
and
that's
because
sick.
The
way
signal
are
is
layered
the
actual
messages
that
go
back
and
forth
your
hub
in
vacations
and
things
like
that.
B
We
send
them
down
a
WebSocket
or
we
send
them
through
long
polling
or
through
service
and
events.
But
that's
layered,
like
that's
just
one
of
the
transports.
If
you
want,
you
could
run
it
directly
on
top
of
TCP
and
so
Justin
and
and
David
got
together
and
kind
of
said.
Well,
okay,
we
just
built
this
quick
thing
and
here's
the
thing
signal,
our
imagine
you
can
imagine
each
invocation
could
get
its
own
stream.
You
could
have
long-running
requests.
C
B
B
One
thing
we're
gonna
see:
he's
gonna
set
this
up
because
quic
is
always
secure.
You're
gonna
see
a
bunch
of
Wireshark
and
it's
gonna
be
a
bunch
of
encrypted
content,
but
you
will
see
that
there
are
quick
messages
coming
in,
but
you
won't
see
the
content
of
them
and
because
we're
sharks,
decryption
logic,
doesn't
work
with
quick
either.
B
B
C
B
C
B
B
C
C
A
B
You
can
get
some
of
the
data
out,
but
a
lot
of
the
pay
that
you
notice,
if
you
actually
like
click
on
that
and
then
double
and
then
open
that
up,
you
can
see
it
says
like
protected
payload
and
it's
like
it's
a
bunch
of
garbage
cuz,
it's
all
encrypted,
but
yeah.
You
can
kind
of
see
that
but
yeah
so
like
this
is
sort
of
an
experiment.
We're
moving
down.
B
There's
just
I
just
posted
this
morning,
I
posted
an
announcement
to
the
ASP,
none
announcements,
repo
sort
of
helping
set
the
context
on
this
as
well,
and
this
is
kind
of
our
you
know.
It's
our
explorations
we're
trying
to
look
at
we're
trying
to
see
what
comes
out
of
this
early
on,
because
we
don't
know
what
its
gonna
be
and
how
long
it's
going
to
take.
B
B
B
A
B
The
MS,
quick
library
is
developed
out
of
the
sort
of
same
team.
My
understanding
is
the
same
team
that
builds
things
like
h-2b,
sis,
the
HTP
implementation
inside
windows,
so
HTTP
3,
support
in
Windows
and
I
is
an
HP
says.
This
is
also
I
talked
about
now,
all
our
servers,
this
was
in
Kestrel.
My
understanding
is
that's
something
that
is
on
their
radar.
That.
A
B
So
like
first
so
when
we're
talking
about
this
we're
talking
about
implementing
this
in
Kestrel
in
order
to
get
support
for
this
in
is
or
an
HPC
server,
you're
gonna
need
to
run
whatever
Windows
version
has
that
functionality,
when
that
rolls
out
an
MS
quick,
is
the
MS
quick?
Is
the
library
that's
being
developed
for
that
purpose?
It's
for
common
code
to
be
used
for
quick
across,
not
just
the
company,
but
also
you
know,
they're
looking
at
moving
it
out
into
the
community
as
well
and.
C
A
This
is
I
mean
you
know,
I
think
you
went
through
in
such
an
organized
way
and
presented
everything.
I
think
you
feels
like
you've
answered
the
questions
here
and.
C
It's
really
like
what
are
the
so.
This
is
all
nice
and
shiny,
like
where
the
big
problems
with
quick
and
HTTP
3-
and
one
of
this
is
that
people
don't
believe.
Udp
is
a
great
mom.
I
would
say.
I
would
say
this
like
a
lot
of
companies
on
routers
along
network
equipment,
kind
of
walks
UDP
by
default.
We
kind
of
believe
that
it's
going
to
change
over
the
future
that
people
will
realize.
Oh
quick
as
a
protocol.
We
need
to
start
allowing
UUP
again,
but
a
lot
of
people
did
it
for
security
reasons.
B
Like
I
mean
one
of
the
things
one
of
the
things
I
was
thinking
of
just
now
is
like
when
you
go
into
your
as
your
VM
or
something
and
you
set
up
through
your
ad,
your
firewall
rules
and
you
turn
to
say,
I
want
to
allow
HTTP.
It
allows
TCP
port
80
through
well,
that's
not
gonna
work
with
quick,
because
you
got
allowed
UDP
port
80,
so
I
mean
I.
Think
a
lot
of
this
is
also
you
know.
There's
gonna
be
such
it's
early
on
in
this
process.
B
There's
gonna
be
situations
where
quic
is
not
gonna
work
and
fortunately
it's
been
designed
with
these
ways
so
that
you
know
the
server
and
the
client
can
both
kind
of
try
to
use
quick
when
they
can
hb3
when
they
can
and
fall
back
to
hb2
and
fall
back
to
HP
one
like
all
these
things
have
this
model
to.
Let
you
do
that.
I
think
that,
but
but
but
it's
definitely
still
a
question
mark
of
like
is
UDP
the
right
choice
for
this.
This
is
why
it's
still
a
draft
spec.
It's
why
yeah
I
mean.
C
C
A
C
A
C
It's
gonna
be
critical
to
make
sure
that
HTTP
3
is
competitive
with
HTTP
2,
if
not
better
yeah,
and
if
it's
not
that
case,
then
then,
what's
the
point
means
supporting
it.
There's
other
benefits
to
get
out.
It
should
be
3,
but
it
we
really
would
like
to
make
sure
the
performance
are
at
the
RPS
is
comparable
and.
B
If
this
is
only
useful
for
the
googles
of
the
world,
the
Microsoft
that
you
know
the
asher's
of
the
world,
like
maybe
it
changes
the
equation
a
little
bit,
because
I
saw
one
question
go
by
which
was
like
what
is
the
actual
benefit
to
developers
of
this.
The
answer
is
like
performance
yeah
mostly,
and
the
reality
is,
if
you're
happy
with
your
performance
in
hiv-2,
that's
not
as
exciting
I
mean
it's.
It's
definitely
nice
to
be
faster.
B
C
Is
a
feature
that
we
believe
is
not
something
that
people
are
gonna
notice
immediately.
Nor
is
it
something
that
people
necessarily
want,
but
down
the
line
we
believe
is
gonna,
be
really
beneficial
to
anyone.
So
similar
I.
B
Mean
and
it's
a
lot
like
HP
like
HP,
adds
some
little
bits
of
functionality.
You've
got
pushed
promises
which
most
servers
don't
even
really
implement
now
holy
and
you've
got
some
things,
but,
like
the
major
benefit,
is
it's
a
performance
thing
and
you
can
just
you
just
throw
a
switch
to
say
well
turn
HP
2
on
as
well,
and
hopefully
some
people
get
faster
connection.
A
You
know
I
feel
like
the
performance
side
to
it.
There's
multiple
aspects
to
performance
a
lot
of
time.
So
one
is
what
you
know.
Ok,
my
I
hit
a
web
site.
I
get
something
faster,
that's
great,
but
also
scale
right,
and
so,
if
it's
more
efficient
on
the
server
I
can
serve
more
requests
with
less
resources,
pay
less
money.
All
that
kind
of
stuff
yeah.
C
No
that's
true,
yeah
I,
remember
seeing
a
graph
come
from
something
I
must
quit
folks
and
they
said
that
they
they
were
seeing
comparable
forms
between
HD
180.
Oh
sorry,
HB
2,
+,
HB
3
with
regards
to
connection
connection
opening
when
it
was
a
very
low
number
of
work
on
the
machine,
but
once
it
got
to
a
much
higher
scale,
it
became
very
clear
that,
like
quick
was
allowing
connections
to
get
through
way
quicker,
right,
yeah,
so
yeah.
C
A
B
It
won't
allow
us
I
mean
you
can
have
multiple
connections,
but
over
the
course
of
the
mic.
So
quick
is
designed
for
this
connection,
migration
and
and
while
you're
migrating,
it
is
set
up
to
allow
your
concurrent
requests
to
continue
going
as
much
as
possible
while
you
migrate
from
one
address
to
the
other.
Of
course,
messages
you
sent
with
right
as
you
went
into
the
tunnel,
won't
arrive.
But
when
you
do
reestablish
the
the
new
connection,
it
will
retransmit
them
and
it
will
just
act
like
a
dropped
packet,
basically
yeah.
So.
C
B
C
And
fundamentally,
connections
are
more
expensive
in
streams
right,
that's
the
big
thing.
Is
it
having
five
active
TCP
connections
or
is
way
more
expensive
to
both
the
client
and
the
server
than
just
having
one
and
and
because
you
can
multiplex
it?
You
should
not
have
to
worry
about
having
this
blocking
issue.
So
typically,
it's
just
one
from
one
one
connection
from
the
client
to
the
server
and
then
during
this
reach
an
admission
phase.
It
may
be
I'm
not
quite
sure
yeah.
B
Is
that
little
as
it's
migrating
over
but
yeah
exactly
it's
still
one?
It's
still
considered
one
quick
connection,
it's
just
the
what
they
basically
did
is
they
kind
of
virtualize
it
over
like?
This
is
what
you
do
and
you
want
to
make
this
thing
work.
They
made
the
connection,
a
concept,
it's
not
real
connection
is
just
an
idea,
man
and
and
and
then
the
actual
physical
UDP
UDP
doesn't
even
have
connections
the
actual
physical
packets.
That's
just
one
one
instance
of
the
physical
transport
and
the
rest
is
kind
of
more
virtual.
A
B
No,
so
the
migration
isn't
based
on
the
migration
is
based
on,
like
you
do
hp1
or
HP
2,
so,
like
I
mean
we
can
talk
a
little
bit
about
like
what's
the
pattern.
So,
let's
imagine
you're
a
browser.
Just
pretend
that
you're
a
browser
for
a
second,
probably
chromium,
because
everything's
chromium,
the
first
thing
you'll
do
is
you'll
open,
a
TCP
connection
to
port
80
and
you'll,
say
you'll.
Do
because
the
user
put
HTTP
in
their
address
bar
cuz,
everybody
should
put
HTTP
in
their
address
bar
it'll.
B
Do
the
TLS
handshake
so
T
and
part
of
TLS?
Is
this
new
extension
called
a
LPN
application
protocol
negotiation,
application,
layer,
protocol
negotiation
and
basically
it's
a
way
of
during
TLC
TLC,
TLS
negotiation,
you
say:
I
want
to
talk,
HTTP,
2
or
I
want
to
talk
HTTP
1,
and
that
is
the
part
where
you
decide
whether
you're
doing
HP,
1
or
HP
great
ok.
B
So
that's
what
happens
today
when
you
connect
to
websites
that
support
HP,
2
cool,
obviously
that
only
doesn't
work
for
UDP,
because
it's
a
whole
different
kind
of
thing,
but
you
now
make
your
first
request.
You
say:
ok
get
me
the
main
page
and
in
the
response
that
comes
back
from
the
server
there's.
Basically
a
header
and
the
header
says
by
the
way:
here's
your
data,
but
by
the
way,
I
support,
HP,
3
and
here's
where
I
support
it,
and
you
can
trust
this
data
that
I'm
telling
you
for
X
X
seconds.
B
Like
it's
a
it's
a
caching
things
you
say
hey
by
the
way:
I
support,
HTTP
3,
that's
on
port
80
and
cache
that
for
a
year
or
something
and
then
the
browser
will
cache
it
and
the
next
time
you
connect
to
that
URL,
it
will
say:
well,
I,
don't
even
need
to
do
the
TCP
connection.
I'll
go
straight
to
the
UDP
connection,
so
they
have
that
I
think
this
is
a
good
observation
that
like
well,
if
I'm
gonna
try
quick
first,
that's
gonna
be
annoying.
Well!
Ok!
It
that's.
C
B
I
think
you
know,
and
certainly
browsers
have
to
be
careful
about
doing
that,
making
sure
they're
only
doing
get
requests
cuz.
Obviously,
if
they
send
your
bye-bye
widgets
and
requests
twice
down
the
thing,
that's
gonna
get
complicated,
but
they
do
that
kind
of
thing
when
they
know
that
it's
a
safe
request
to
send
they,
they
just
say
well
what,
if
I
just
send
both
and
see
which
comes
back
first
yep.
A
C
C
C
At
the
same
time,
yeah
I
think
the
same
thing
that
applies
to
different
parts
of
your
web
page.
They.
B
Because
of
the
parallelism
that's
there,
even
though
it
may
not
be
faster
to
get
each
one
of
those
requests
completed,
they're
all
happening
at
once,
so
you
don't
have
to
like
I'm,
not
gonna
go
as
far
as
to
say
you
don't
have
to
bundle
and
minify
with
HB
3
or
HB
2,
but
it
is
a
different
you're,
making
a
different
consideration
at
that
point.
You
know
you
may
not
need
to
bundle
or
minify,
because
you're
just
gonna
download
them
in
parallel.
It
doesn't
matter
yeah.
B
C
The
amount
of
work
there's
a
lot
of
work
to
do
still.
We
don't
know
what
necessarily
is
the
bar
for
us
to
running
the
ship.
That
says
like
fully
supported,
but
I'll
tell
you.
This,
like
I,
probably
would
be
working
on
this
pretty
much
dedicated
for
at
least
a
while
yeah.
B
The
site
we
haven't
talked
about
yet
and
is,
is
well
what
about
HP
client
cuz.
This
is
great
if
I
can
get
it
from
the
server,
but
like
and
chromium
supports
it.
So
that's
cool
I
got
my
edge
and
I
got
my
Google
Chrome
and
Firefox
is
working
on
it.
All
the
browser's
are
doing
it
well,
what
do
I
do
if
I
want
to
do
service
to
service
communication
using
HP
3?
That.
B
And
the
most
I'll
say
there
is
the
that's
on
the
table.
We're
looking
at
that,
like
I,
think
we
definitely
have
support
for
it
in
HP
client,
as
we
go
forward
again
same
same
sort
of
caveat
I'm
putting
here,
which
is
that
this
is
all
very
experimental
we're
playing
stuff.
We
want
to
show
you
the
stuff
that
we're
doing
early
on,
so
you
can
see
how
it
gets
made
and
how
we
work
on
this
stuff.
So.
A
B
A
B
A
Well,
it's
been
just
over
an
hour,
so
it's
probably
good
spot
to
wrap
up
here.
So
thank
you
very
much,
of
course,
we'll
have
to
get
you
back
in
as
things
get
more
shaped
up
and
and
then
I'll
get
your
get
those
links
from
you
so
that
we
can
add
those
into
the
link
roll
up
that
I
sent
out
earlier
yeah.