►
From YouTube: .NET Design Reviews GitHub Triage
Description
-07:-08:-18 - Approved: SNI API for SslStream https://github.com/dotnet/corefx/issues/24553#issuecomment-376614353
A
A
Yep
no
way
actually
like
yep
turn
the
leg
to
Pacific
or
back
alright.
So.
C
C
D
Sn
is
like
when
the
client
connects
to
the
server
and
the
server
has
like
hold
on
one
post
name
assented
the
server
can
tell,
which
husband
is
why
I'm
trying
to
connect
and
choose
the
headset
so
like
where
the
SLI?
This
is
the
SLI
being
sent
like
when
doing
the
SSL
negotiation.
So
what
was
happening
is
like
I
said
like
when
the
client
connects
to
it.
Like
the
first
thing,
it
says
it's
like
a
client
eloping
and
he
they
apply
for
such
something
that
they
text
there's
the
SNA
and
somewhere.
E
C
B
So
HTTP
already
had
the
feature,
so
if
you
were
just
doing
it
being
on
a
GPS,
you
could
use
the
hostname
and
switch
on
it,
but
the
certificate
that
comes
back
from
TLS
happens
before
you
sent
the
hostname.
So
then
they
added
an
extension
to
the
protocol
to
let
you
send
the
hostname.
So
the
server
can
send
you
a
certificate,
so
you
can
match
it
against
the
hosting.
B
C
D
C
H
H
D
Out
of
the
kind
of
aggressive
design,
so
a
previously
you
write
what
we
chose
to
there's
going
to
be
only
one
certificate,
so
we
chose
to
make
a
few
in
the
options
that
there
is
a
server
certificate
so
essentially
like
it
should
be
for
you.
It's
us
the
oceans,
but
the
so
like
this,
since
the
Cybermen
you
said
like
somewhere
in
between
you,
have
to
pass
some
kind
of
pun
to
change
it
well,.
H
C
H
Like
options
think
so
the
option
is
passed
to
the
main
method
where
you,
basically
you
know,
authenticate
this
client
or
authenticate
a
server
or
via
originally
it
was
like
only
their
constructor.
So
we
passed
all
the
arguments
we
a
constructor.
The
number
of
number
of
comparator
parameters
grew
up
so
large
that
we
decided
go
with
the
other
option.
C
You
know
with
the
options
back,
maybe
I
totally
misunderstood
the
feature.
I
thought
from
the
original
explanation
that
it's
on
the
server
side,
the
client
a
basically
the
client
sends
me.
The
hostname
and
I
can
detect
it
on
the
server
side.
So
this
is
not.
The
options
are
like
I
pass
them
in.
This
is
kind
of
like
you
know,
I
am
getting
that
the
option
that
the
client
sent
me
yeah,
the
the.
B
Problem
the
reason
it
needs
to
be
a
call
back
is
the
the
code
that
wanted
to
be
a
TLS
server
already
had
to
call
go,
be
a
server
now
and
that's
like
a
calls
authenticated
server,
and
if
that
method
does
not
return
into
the
client
until
a
connection
is
fully
established.
But
you
need
to
pick
the
certificate
as
part
of
that
method.
So
so
you
need
to
start
authenticated
server.
Then
you
receive
an
S
and
I
header.
B
D
C
See
you
basically
I
see
we
now
painted
ourselves
in
the
bit
of
a
corner
which
is
the
protocol
is
very
complicated.
There
are
lots
of
things
going
on,
but
we
don't
have
ideas
for
them,
but
there
is
an
order
of
them.
So
we
need
to
now
help
delegates
that
basically
represent
the
pieces
of
code
that
you
would
write
if
the
code
was
actually
imperative.
C
B
B
D
J
C
Just
just
the
certificate
yeah
and
any
other
in
none
of
the
other
things
can
be
changed
right.
You
don't
expect
that
yeah,
because
basically,
you
know
like
I
will
sure
that
this
signature
that
just
returns
to
it
is
the
right
signature
because
it
closes
the
door
for
I
want
to
change
some
other
things.
I
H
Very
possibly
no
options
are
static,
kind
of
they're,
not
pair
requests
right.
The
options
are
kind
of
like
general
class
setting.
The
callback
is
invoked
by
request,
so
you
indirect,
like
oh
yeah,
I,
want
to
store
some
second
information.
But
honestly,
if
you
would
want
to
do
that,
you
would
probably
hold
it
on
the
side.
H
A
K
A
D
A
The
phone
book
touches
the
corner.
Forget
that
I'm
saying
create
the
option
you
didn't
before.
You
even
have
a
request
right,
so
don't
have
any
way
to
store
request
related
data
in
my
closure,
because
I
I
only
have
that
once
I
constructed
the
whole
thing
so
like
I
exhibit
some
parts
to
me
on
school,
but
if
they,
if
I,
can
get
it
from
the
center
than
this
one
excuse
bit
of
her
like
a
very
heavy
ended
back
to
war,
but
I,
guess
it
yeah.
C
I
think
we
need
to
go
with
it.
I
mean
I
still
think
that
it's
kind
of
weird
that,
like
underneath
there
is
a
protocol
that
is
very
imperative
and
if
they
change
the
protocol,
they
just
say
hey.
This
new
thing
is
happening
or
this
newest,
since
we
kind
of
the
whole
sequence,
the
handshake
we
kind
of
have
to
invent
cold
ballads,
they
have
to
have
signatures
that
potentially
are
limiting,
but
I
guess
we
are
there,
so
I
mean
if.
D
A
C
C
H
B
B
D
B
B
C
It
be
cheaper
to
actually
do
what
Jeremy
proposed.
So
let
me
imagine
that
you,
basically
most
of
the
calls,
are
to
some
hope
to
the
default
host,
and
then
you
just
return
null.
We
already
have
the
certificate
because
it
was
passed.
Two
options
versus
in
this
design
I
always
have
to
return
the
certificate
and
how
do
I
get
it
where
I
have
to
somehow
get
it,
which
may
be
more
costly
than
just
using
the
one
that
we
have
in
the
default
options.
C
What
so
imagine
that,
basically,
most
of
the
time
you
getting
a
call
to
host
one
and
that's
your
default
host
and
that
and
certificate
for
this
one
you
already
provided
in
fact,
if
we
can
return
known
well
most
of
the
time
you
wouldn't
have
to
do
anything
each
method,
you
just
check
because
name
equals
host
1
return.
Now,
if
we
throw
an
exception
in
case,
you
return
null
you
always
even
if
it's
your
default
host
is
called
99.9
percent
of
the
time
you
have
to
retrieve
sample
this
certificate
and
return
it,
which.
C
B
B
C
B
C
C
B
D
B
B
G
K
B
Super
strong
opinion-
maybe
it
goes
back
to
to
Christoph's,
like
maybe
you're,
now,
causing
a
capture
to
exist,
in
fact
you're
having
your,
maybe
having
to
use
a
delegate
or
a
delayed
lookup
or
a
lambda.
Instead
of
Adelaide
lookup
words,
you
have
to
either
use
a
lambda
where
you've
captured
a
variable
or
use
it
the
length
look
up
every
time
the
callback
gets
fired
or
go
to
a
static
when
what
you
really
wanted
to
do
was
I'm
the
initializer
go.
B
Do
all
the
stuff
I
want
set
the
default
move
on
with
life,
but
I
don't
want
another
closure
to
get
captured.
I
just
want
to
do
the
implicit
go.
Call
this
static
function
that
I
wrote
so
by
requiring
someone
to
provide
the
default
on
every
call,
instead
of
letting
the
passage
and
your
other
options
you're,
forcing
it
to
create
closures.
Well,.
C
C
B
A
A
K
B
A
A
B
B
H
D
H
D
I
G
H
H
The
difference
is
that
you
know
if,
if
we
pass
strength,
we
have
to
do
you
know
encoding
another
stop
Unicode
and
that
stuff,
if
it
we
only
in
span
and
which
means,
if
you
really
have
to
allocate
per
you
establish
connection
unless
we
catch
it
in
future
and
are
read-only
span
but
of
renown
span
of
bytes
over
there
II,
basically
for
the
decoding
and
coding
on
the
collar,
which
is
kind
of
pushing
it
up
the
stack
a
little
bit
like
less
user.
You
know.
H
D
D
H
Even
a
speed
of
Latinos
dis,
Chris
Rose
was
voting
for
voting
for
strength
of
people
like
Tim
Seaboard
were
voting
as
on
LPN
for
written
list
span
who
bites
their
motivation
for
every
donation
is
about
pain
performance.
You
don't
have
to
in
theory,
allocate
her.
You
know
stream,
for
which
I
think
that
we've
ever
find
that
it's
a
problem.
You
can
always
catch
because
you're
not
going
to
get
like
ten
thousand
different,
different
lesson
eyes
right.
H
B
B
B
Developers
will
expect
they
can
write
a
switch
statement.
You
can't
write
a
switch
statement
on
a
read-only
span
of
bytes,
so
I
think
we
should
just
return
string
and
it's
going
to
be
low
enough
like
yes,
it's
not
it's
not
not
allocating,
but
it's
low
and
it'll
be
gins
zero
and
not
I'm,
not
not
that
okay,
it
is
not
not
allocating,
but.
M
N
B
I
mean
if,
if
the,
if
the
TLS
protocol
called
out
explicitly
that
you
must
send
the
lower
case,
and
it
must
be
puny
code,
so
everything
is
legitimately
ASCII
and
therefore
anybody
who's
not
doing
that
is
wrong.
Then
I
would
say
such
license
reason
not
specifically,
that's
specifying
that
you
should
unicode.
D
B
N
N
B
B
C
B
C
B
A
C
B
C
E
B
D
A
L
C
Am
okay
would
be
their
solution.
The
way
I
would
do
it.
I
would
measure
how
like
what's
the
percentage
and
it
to
an
inquest
because
of
the
allocation,
not
even
measure
just
like
guesstimate.
You
know
somebody
who
understands
how
the
code
works
and
how
much,
but
because,
if
you
basically,
you
know,
adds
hundred
percent
to
the
existing
allocations,
then
I
will
go
with
a
span
if
it
adds
one.
I
B
I
think
strings,
I
think
strings.
The
more
natural
thing
I
can
understand
by
or
the
radome
expand
a
place,
but
I
think
that'll,
just
I
think
the
read
only
span
up
I
would
push
people
away
or
every
answer
on
Stack
Overflow
or
the
answers
on
Stack
Overflow
will
be
here's
how
you
turn
it
to
a
string
and
then
you
can
use
it
the
switch
statement,
which
means
we
should
have
just
done
it
that
way.
B
B
Better
depends
on
how
they
do
it,
but
yeah.
Well,
if
they're
stupid,
of
course
well.
No,
if
they
do
the
very
sensible
thing,
a
c-sharp,
2.0
spec
bug
does
the
wrong
things.
Do
I
want
to
know
more.
If
you
invoke
it,
if
you
pass
a
delegate
by
passing
the
name
of
a
static
function,
it
has
to
create
a
new
delegate
object
every
time
you
do
that,
instead
of
creating
one
static
field
that
it
references
a
plane
because
of
the
words
the
same
adds
in
the
spec.
H
D
J
E
A
B
Declined
hello
directly,
not
just
making
sure
that
all
of
the
different
libraries
that
we're
using
allow
you
to
have
started
the
server
thing
without
specifying
the
server
surgeon
to
specify
it
later
via
call
that
like
if,
because
Tim's
comment
at
the
end,
was
s
channel
takes
in
an
array
of
certificates?
So
if
any
platform
needs
it
as
pre
handshake
setup,
as
you
can't
do
this
model
at
all?
So
so
you
have
a
you.
D
C
B
E
C
B
Mean
again
like
with
the
reminder
that
you
have
to
make
a
new
SSL
stream
objects
and
you
have
to
call
authenticate
a
server
every
single
connection
that
comes
in
you
just
change
your
dictionary.
So
especially
if
you
keep
a
reference
to
the
dictionary
because
you
can
do
whatever
you
want
totally
destroy
the
behavior
of
this
class.
So
start
dynamically
plugging
away
things.
B
Charo
I
mean
test.
I
was
four
Tim
had
a
comment
that
says
s
channel
expects
it
as
an
array
of
certificates
possible.
They
have
two
modes,
one
with
a
or
the
preset
map
and
the
other
with
a
callback
but
I.
Don't
I
can't
tell
you
off
the
top
of
my
head.
If
Apple's
gonna,
let
you
do
this
and
I
can't
tell
you
I'm
stopping
ahead
of
OpenSSL.
So
let
you
do
this.
What.
B
F
F
B
H
B
C
C
I'm
glad
that
he's
now
yeah,
no
I'm,
not
that
he's
now
agreeing
with
me,
but
it's
kind
of
I,
almost
was
happy
that
I
was
the
only
person
opposing
some
one
of
the
proposals
because
he
find
the
only
one
you
know
I
get
overruled
and
we
move
move
forward.
Now,
if
I
found
a
red
agrees
with
me,
it
just
throws
a
wrench
into
the
whole.
This
kind.
A
F
A
H
A
Dr.
which
I
think
because
I
have
no
idea
with
the
mean
I
know
it's
a
lot
of
AP,
and
then
we
put
them
partially
because
it
was
a
lot
of
API.
You
feel
like
because
enough
coverage,
and
then
in
but
I
think
we
need
to
publish
fun
notice
if
you
wanna
get
any
sort
of
like
typical
Louis
and
they
think
it's
you
that
you
need
to
almost
have
a
standalone,
nearly
a
package
that
people
can
all
over.
If.
B
A
B
B
A
The
hard
way
intrinsics
one
like
I,
think
naming
wise.
It's
mostly
straightforward,
as
in
like
you
know,
whatever,
whatever
mess
up
name,
this
thing
has
to
just
spell
it
out,
but
it's
mostly
about
the
design
of
like
how
we
broke
down
the
specs.
It
decides
and
see
whether
that's
a
program
model.
It
actually
works
out.
A
B
I
mean
some
of
the
ones
that
I've
seen
I
think
that
the
attempt
to
try
and
take
the
short
name
of
the
manufacturer,
documented
assembly
instruction
and
try
and
make
it
a
long
name,
actually
makes
it
harder
to
understand.
Yeah
it's
when
essentially
it's
when,
because
some
of
the
ones
for
like
the
shop
shall
want
to
cha
to
processing
where
it's.
This
instruction
got
broken
into
pieces,
because
the
registers
only
so
wide
and
it's
like
trying
to
describe
that
is
like
first
half
and
second
half,
it's
probably
just
better
to
just
name
it.
A
A
B
So
yeah
so
for
intrinsics
I
think
that
we
that
we
possibly
want
to
violate
all
of
our
naming
rules
and
just
write
it
down
exactly
the
way
that
the
assembly
is
a
name
so
lowercase
bad,
you
know
drop
most
of
them
out,
you
know,
etc.
It's
like
if
Intel
calls
this
like
SHL
three
to
a
and
like
we
should
just
call
it
as
a
gel
three
to
a
yeah
I
mean
casing.
I
think
is,
but.
C
We're
now,
okay,
single
good,
we
did.
The
negative
of
trying
to
tweak
casing
is
sometimes
it's
not
clear
what
the
casing
should
be,
and
then
we
are
wasting
a
lot
of
time
trying
to
decide
what
the
casing
should
be
yeah,
but
we
could
I
mean
in
case
it
doesn't,
does
not
impact
search
ability
the
ground.
Can
you
come
in
I?
Think.
B
That
we
should
have
good
C,
sharp
names
on
the
namespace,
and
if
we
have
want
to
do,
the
bundling
of
things
like
this
is
the
SSE
instruction
set.
Then
we
have
like.
Oh,
this
is
SSE,
which
really
means
all
of
these
opcode
should
light
up
together.
So
you
have
one
is
SSE
available
question
and
like
there
are
things
that
we
can
do
around
that
to
be
good,
but
when
it
comes
to
the
individual
opcode
set,
I
probably
am
more
in
favor
of
writing
down
whatever
is
going
to
be
in
the
processor
manual,
but.
C
Still
I
would
say
that
we
should
look
at
few
yeah
and
if
it's
clear
how
we
would
Pascal
case
it,
we
should
just
do
it
yeah
if
it,
if
we
kind
of
like
grew
I,
don't
know
how
to
Pascal
case
this
weird
yeah,
you
know
set
of
characters
because
they
are
not
either
words
now
not
acronyms.
Then
prom
up,
you
should
just
use
what
what
it
says
stay.
J
K
K
C
C
One
is
also
the
same
issue
is
basically
it's
several
words
and
we
don't
Pascal
case
them
all
which
I
attended
single
word.
We
will
capitalize
are
and
a
Honor
I
think
this.
Basically,
if
we
said
this
is
our
convention
just
capitalize
the
first
one
Judy
there's
a
limit
work
yeah,
it
kind
of
would
look
more
see
Sharky,
but
we
wouldn't
have
to
spend
like
shouldn't
need.
Uppercase,
M,
Lower,
Keys,
hey
uppercase,
R,
Upper,
Keys,
ferry
yeah
or
m'kay
should
be
both.
B
Uppercase
cuz
yeah,
like
we
get
I,
don't
want
to
spend
hours
and
hours,
sha-1
I,
guess
it's
probably
sha-1
next
e,
but
like
sha-1
any
xte.
It's
like
I
actually
read
that
a
sha-1
in
XT
because,
like
I'm,
used
to
X
to
be
a
gun
here
defensive
well,
but
this
is
Shaw
one
message:
one
got
one
message
tube:
that's
the
I
need
bigger
registers.