Re: Inviting feedback on my proposed "ASGI" spec

Ionel Maries Cristian <[email protected]> Thu, 10 Mar 2016 16:46:39 +0200
Newsgroups gmane.comp.python.web
Message-ID <CANkHFr9emQ9ZKrb=QV50Vs6osdeF9_HF4Kg=9A09773Z_mM+3g@mail.gmail.com>
--===============6138913961517477877==
Content-Type: multipart/alternative; boundary=001a11c3b8a4f44557052db2e2d4

--001a11c3b8a4f44557052db2e2d4
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hey,

On Thu, Mar 10, 2016 at 2:34 AM, Andrew Godwin <[email protected]> wrote:

> Helpful quick Q&A: http://channels.readthedocs.org/en/latest/inshort.html
>

I have looked over that and it's not very clear what goes where. [1] I'd be
inclined to understand that the process type "that handles HTTP and
WebSockets" would be some sort of specialized proxy service that does the
websocket routing, proxying plain requests to the worker (for the regular
views) and specific frontend protocol handling (upgrading to
http2.0/websockets or whatever).
It would be more clear if the docs would include some diagrams illustrating
data flow and how all the components connect together with what protocols.

Shouldn't the process type "that handles HTTP and WebSockets" have a more
specific term? It's a bit long to type.

Spec is up here: http://channels.readthedocs.org/en/latest/asgi.html
>

Is ASGI a wire protocol? I'd assume it is, if multiple processes
communicate to each other with this protocol, but the docs don't have any
details about the exact wire format.

Also, some comparison to existing solutions (like Meteor/SockJS/Crossbar
<http://crossbar.io/>/WAMP <http://wamp-proto.org/>) would help clearing
lots of questions.

=E2=80=8B[1] Sorry if it sounds harsh, certainly not the intention. I'm jus=
t a bit
confused/overwhelmed.=E2=80=8B

Thanks,
-- Ionel Cristian M=C4=83rie=C8=99, http://blog.ionelmc.ro

--001a11c3b8a4f44557052db2e2d4
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:trebuche=
t ms,sans-serif"><div class=3D"gmail_quote">Hey,<br><br>On Thu, Mar 10, 201=
6 at 2:34 AM, Andrew Godwin <span dir=3D"ltr">&lt;<a href=3D"mailto:andrew@=
aeracode.org" target=3D"_blank">[email protected]</a>&gt;</span> wrote:<b=
r><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Helpful quick Q&am=
p;A:=C2=A0<a href=3D"http://channels.readthedocs.org/en/latest/inshort.html=
" target=3D"_blank">http://channels.readthedocs.org/en/latest/inshort.html<=
/a></div></blockquote></div><br><div class=3D"gmail_default" style=3D"font-=
family:trebuchet ms,sans-serif">I have looked over that and it&#39;s not ve=
ry clear what goes where. [1] I&#39;d
 be inclined to understand that the process type &quot;that handles HTTP an=
d=20
WebSockets&quot; would be some sort of specialized proxy service that does=
=20
the websocket routing, proxying plain requests to the worker (for the=20
regular views) and specific frontend protocol handling (upgrading to=20
http2.0/websockets or whatever). <br></div><div class=3D"gmail_default" sty=
le=3D"font-family:trebuchet ms,sans-serif">It
 would be more clear if the docs would include some diagrams=20
illustrating data flow and how all the components connect together with=20
what protocols.<br><br></div><div class=3D"gmail_default" style=3D"font-fam=
ily:trebuchet ms,sans-serif">Shouldn&#39;t the process type &quot;that hand=
les HTTP and WebSockets&quot; have a more specific term? It&#39;s a bit lon=
g to type.<br><br><blockquote style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex" class=3D"gmail_quote">Spec is=
 up here:=C2=A0<a href=3D"http://channels.readthedocs.org/en/latest/asgi.ht=
ml" target=3D"_blank">http://channels.readthedocs.org/en/latest/asgi.html</=
a><br></blockquote></div><div class=3D"gmail_default" style=3D"font-family:=
trebuchet ms,sans-serif"><br>Is
 ASGI a wire protocol? I&#39;d assume it is, if multiple processes=20
communicate to each other with this protocol, but the docs don&#39;t have=
=20
any details about the exact wire format.<br></div><div class=3D"gmail_defau=
lt" style=3D"font-family:trebuchet ms,sans-serif"><br></div><div class=3D"g=
mail_default" style=3D"font-family:trebuchet ms,sans-serif">Also, some comp=
arison to existing solutions (like Meteor/SockJS/<a href=3D"http://crossbar=
.io/" target=3D"_blank">Crossbar</a>/<a href=3D"http://wamp-proto.org/" tar=
get=3D"_blank">WAMP</a>) would help clearing lots of questions.<br></div><s=
pan style=3D"font-family:trebuchet ms,sans-serif"><span style=3D"color:rgb(=
51,51,51)"><br><div class=3D"gmail_default" style=3D"font-family:trebuchet =
ms,sans-serif;display:inline">=E2=80=8B[1] Sorry if it sounds harsh, certai=
nly not the intention. I&#39;m just a bit confused/overwhelmed.=E2=80=8B<br=
><br><span style=3D"font-family:trebuchet ms,sans-serif"><span style=3D"col=
or:rgb(51,51,51)"><font size=3D"2"><span style=3D"color:rgb(51,51,51)">Than=
ks,</span><br><span style=3D"color:rgb(153,153,153)">-- Ionel</span></font>=
</span><font size=3D"2"><font style=3D"color:rgb(153,153,153)"> Cristian M=
=C4=83rie=C8=99, <a href=3D"http://blog.ionelmc.ro" target=3D"_blank">http:=
//blog.ionelmc.ro</a></font></font></span></div></span></span></div></div>

--001a11c3b8a4f44557052db2e2d4--

--===============6138913961517477877==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Web-SIG mailing list
[email protected]
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: https://mail.python.org/mailman/options/web-sig/gcpw-web-sig%40m.gmane.org

--===============6138913961517477877==--