►
From YouTube: .NET Design Reviews: GitHub Triage
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
D
D
So
we
previously
talked
about
this
API,
which
is
basically
you
have
a
stream
that
represents
a
connected
WebSocket
connection,
and
now
you
want
to
actually
be
able
to
use
the
WebSocket
class
to
communicate
over
to
implement
the
protocol
and
right
now
we're
source
sharing
our
managed
WebSocket
implementation
between
core
FX
and
multiple
assemblies
and
korn
effects,
as
well
as
asp
net
site
speed
edit.
We
build
it
into
multiple
assemblies
and
a
student
has
been
copying
and
pasting
the
source
into
their
own
repo.
D
E
D
So
after
some
discussion,
the
proposal
is
to
basically
create
a
new
assembly
and
I
realize
it's
a
little
strange
to
have
assembly
with
you
know,
one
exposed
method,
but
there's
a
lot
of
code
behind
that
method
having
it
in
its
own
assembly
will
make
it
easier
for
us
to
just
use
that
on
net
effects
as
well.
So
we
can
either
just
build
for
net
standard
or
more
than
likely
will
one
across
compile
and
have
it
at
carafe
implementation
at
Wells
in
that
standard
implementation
to
take
advantage
of
newer
stuff.
D
We
currently
have
two
assemblies
system
that
websockets
DLL,
which
contains
the
base
WebSocket
class,
as
well
as
some
of
the
helper
classes,
and
then
we
have
a
system
that
WebSockets
client
DLL,
which
contains
client,
WebSocket
and
associated
classes.
So
this
assembly
would
sort
of
live
between
the
two
of
them.
D
B
F
D
F
D
F
A
D
That's
fine.
Can
we
at
least
decide
on
the
class
name?
Part
of
that
hoop
discussion
was.
If
we
put
it
into
an
existing
assembly,
we
could
theoretically
put
it
onto
an
existing
class.
But
if
you
want
usable
on
desktop
as
well,
it
has
to
go
into
its
own
class.
So
we
need
to
come
up
with
a
class
name.
So.
A
Websocket
right
because
it's
effectively
a
factory
method
right
all
right,
but
that
class
already
exists.
There's
I'm
saying
that
they
wouldn't
move
it.
You
put
this
on
much
tell
me:
what
would
it
put
it
on
WebSocket?
Is
that
is
it
there
yeah,
so
okay,
so
that
I
would
say
that
in
our
answer
would
be
basic
to
fall?
If
you
don't
move
it
put
it
on
that
socket.
If
we
move
it
are
we
have
you
at
this
time
and
I
would
say
like
I,
don't
see.
D
G
D
A
Like
if
we,
if
we
talk
about
moving
components,
I
think
the
the
problem
of
moving
is
we
have
to
find
a
home
for
the
time
right
and
like
the
the
we,
if
we
decide
you
want
to
protect,
ology
I
think
we
should
probably
settle
on
a
type
name
that
is
effectively
creating
a
logical
island
without
over-promising.
So
if
we
make
this
type
name,
super
generic
like
that
socket
factory,
something
well,
let's
say
we.
You
know.
We
hope
this
particular
thing,
which
is
the
you
know.
A
I
A
G
D
Websocket,
like
so
like
for
us
with
client
WebSocket,
we
create
a
string.
You
know
we
do
the
whole
HTTP
stuff,
we
get
a
stream
and
then
we
need
to
put
that
into
a
web
socket.
So
you
can
use
web
socket
API.
Similarly,
asp.net
they
upgrade
their
connection
to
be
a
web
socket,
they
have
a
stream
that
represents
it
in
the
meaning
to
get
a
web
socket
object
around
that.
So
generally
you
don't.
You
don't
have
one
already.
G
G
D
It
needs
to
well
yeah
I
mean
by
directional
connection,
to
something
I
mean
it's
almost
always
going
to
be
over
some
kind
of
number
of
connection,
but
the
actual
stream
that
represented
that
network
connection.
You
know
it
might
be
a
network
stream,
it
might
be
an
SSL
stream,
it
might
be
whatever
stream
type
ASP
not
uses.
G
H
D
A
D
I
D
G
H
G
D
G
D
Yeah
that
was
sort
of
what
I
was
trying
to
get
up
with
the
connected
part.
It's
like
it's,
not
just
an
arbitrary
stream,
isn't
actually
doing
the
you
know
it's
this
isn't
doing
the
websocket
handshake
to
do
the
upgrade
from
HTTP
to
WebSocket.
It's
that's
already
been
done
and
you
just
want
to
layer
the
protocol
stuff.
On
top
of
this
already
connected
readwrite
stream,
I.
G
B
C
D
F
G
A
G
D
B
D
D
The
reason
I
included,
those
is
client,
WebSocket
client
WebSocket
exposes
options
for
it,
but
we
could,
of
course,
just
translate
those
options
into.
We
can
just
do
whatever
we
want.
With
regards
to
allocation
like
we
could
take
the
hints
provided
to
client
WebSocket
options
and
just
allocate
a
buffer,
that's
passed
in,
so
we
wouldn't
lose
anything
by
just
saying
you
know,
get
rid
of
the
sizes
and
just
have
the
buffer,
and
if
you
want
to
control
it,
you
pass
one
in.
If
you
don't,
the
implementation
does
what
it
wants.
H
G
A
You're
not
quite
intuitive
like
that,
so,
but
these
are
different
buffers
right.
I
mean
this
is
the
buffer
that
they
use
as
a
scratch
buffer,
I
suppose
right.
If
this
is
the
one
that
they
actually
use
for
receiving,
but
it
says
they
can
use
it.
However,
they
want,
for
example,
for
receive
and
said
sure,
like.
G
You
know,
maybe
they
don't
I'm,
saying
like
when
you
look
at
the
API
set
the
description.
It's
it's
not
super
container
sizes
and
the
memory
classes.
D
A
G
K
G
D
E
K
D
D
Strange
we're
inconsistent
because,
like
we,
there
is
a
sub
protocol
property
on
WebSocket,
with
a
capital
S
and
a
capital
P.
So
from
that
perspective
we
would
expect
this
to
be
lowercase
s,
capital,
P,
but
I.
Think
in
the
actual
WebSocket
RFC
I
think
it
uses
lowercase
P
is
we
just
pulled
it
up?
I
would.
D
K
A
Need
to
add
yeah,
we
need
to
basically
add
the
one
that
adds
the
cancellation.
Talking
back.
Any
cancellation
told
me
is,
are
kind
of
special
because
we
always
want
to
keep
them
lost
so
that
it
kind
of
makes
it
shitty,
because
you
always
end
up
like
if
you
want
to
change
the
actual
arguments
of
the
night
that
you
always
end
up
answering
in
the
middle
I.
Don't
know
how
to
it.
So
why
cancellation
doesn't
always
last.
That's.
K
D
K
A
G
D
So
if
you
were
to
make
the
last
two
arguments
optional
for
buffer
size,
you
need
to
decide
what
you
want
the
default
value
to
be,
and
you
basically
have
two
options.
You
either
make
it
a
sentinel
like
negative
one,
in
which
case
we
have
to
make
negative
one
illegal
value
to
pass
in
or
you
make
it
the
actual
size
you
want
it
to
be,
in
which
case
you
bake
that
into
the
signature
yep.
We
can't
have
two
fallen
today.
A
A
A
K
A
The
problem
which
holds
and
optionality
is
that
so,
if
we
mark
this
thing
is
optional,
it
only
helps
people
that
literally
call
this
method
like.
If
you
have
a
derived
type
and
you're
the
local
variable
type,
that's
the
right
type,
I,
don't
think
the
the
optionality
actually
kicks
in,
because
if
that
should
happens
to
override
it,
the
override
doesn't
make
you
sing
optional,
like
I,
think
you're
cause
that
doesn't
apply
anymore.
Also,.
D
B
D
K
A
And
the
question
is
now:
what
happens
if
I
want
to
pass
in
oh
yeah,
that
one
is
actually
the
one
that
has
the
least
this
was
what
allows
to
I.
Have
this
nation
only
destination
and
buffer
size
and
destination
cancellation
token.
So
this
is
all
provocations
we
can
add.
If
we
had
one
more
well,
then
yes
and.
C
A
You
can
play
the
doctrinal
thank
yous
yeah,
which
I
think
I
think
the
bottom
of
optionality
is
that
probably
better
Shannon
doesn't
know
if
Burton
we
have
solved
I.
Think
the
problem
that
we
haven't
thought
about
is
what
happens
on
on
virtual
methods
because,
as
I
said
like,
if
we,
if
we
mark
this
thing,
is
optional
like
it
will
not
carry
the
biotypes
unless
they
also
mark
their
stuff.
A
Basically
puts
the
value
in
for
you
yes,
and
the
compiler
will
look
at
the
definition
of
the
thing
that
is
visible
at
the
call
size
of
the
call
like
some
type
derived
from
screaming
boo,
probably
y'all,
look
at
the
stream
days.
So
if
it's
optional,
it
needs
to
have
default
on
it
right.
Well,
yeah.
You
have
to
have
a
default
baby,
but
for
most
part
like
you
can
come
up
with
one
like
it's
not
I'm.
Sorry,
that's
really
not
the
meaning
yeah.
K
Can
we
disappear?
I
mean
like
another
test
is.
If
this
was
created
some
scratch
today.
Would
we
find
that
third
one
objectionable?
No,
so
unless
there's
some
issue
in
adding
it
later,
which
I
don't
think
we
found
just
approve
it
or
move
on
yeah,
we
don't
particular
this
one,
but
I
do
want
to
get
more
than
one
half
done.
Any
concerns.
A
D
D
G
D
A
A
H
A
Flip
this
in
my
head
and
it
struck
so
so
this
one
should
accept
essentially
we'd
only
buffer
up,
but.
A
My
only
question
would
be
should
be
considered
adding
strongly
typed
that
it
gets
typed
just
that
the
signatures
look
somewhat
sensible.
So
there's
a
bit
odd
that
one
is
a
constructed
generic.
The
other
one
is
not
and
understand
why
that
is
but
like
it
seems,
like
I
think
you
want
to
convey
that
these
are
logically
overloads
right.
A
G
B
G
A
master
having
said
that,
so
one
one
suggestion
I
would
have
for
these
api's.
They
are
so
complicated
and
hard
to
understand.
What's
going
on,
can
we
like
hide
them
somehow.
G
I
A
A
G
The
advanced
teacher
doesn't
work
so
I
guess
it
because,
as
you
switch
to
yes
I
and
mounting
odd
advance
did
the
rest
of
when
they
installed.
This
was
studio.
Sure,
okay,
maybe
it's
okay,
it's
just
like
seriously.
It
takes
me
some
time
to
think
what
the
second
overload
does
either
justify.
Can
you
tell
us
what
the
second
of
metal
does
copy
to
async
fun
greens
on
the
power
of
bite
of
the
cancellation?
Token
task
object
in
battle
holy
crap.