From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Status: No, score=-3.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from mail-qk0-f175.google.com (mail-qk0-f175.google.com [209.85.220.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 36EE62018E for ; Tue, 9 Aug 2016 03:17:57 +0000 (UTC) Received: by mail-qk0-f175.google.com with SMTP id x185so1595566qkc.2 for ; Mon, 08 Aug 2016 20:17:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2be-co-il.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=LbUeO6reocypfQS/HqPeCxhLm0XfDcHVYflHMzMj8tw=; b=AyfZJ8L0yISmFjAoFoWS3tfMBXkN/NVdJAzVsBQe6MyIJXxo1lkvUKYKTMtRGIbYzT Lpl6jGjLw6wm/ALAutTC5oTmgZgYIDkp+tm/gapbiKyF6CV1lfnkIIgxknkYRaI18A3+ jULso9/aZ3sjJuBdKWci8z0RChrkDn7DwQgRreLIdpHw4FoQ0qEKGj/Vvk8Puovr8iSL c/BiuhWoChX9VYDYAyxIAVhKVLtxobq37YYb6pUKZ+oXEJ4QfjOv9BtrTa9wcnvreRw5 fN+A1TlWG68BdygkwMJcyhXLSRd+g57x0R9UtXrc4wusku8FEY7d/BS3ELuWWwq1sHyj wFxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=LbUeO6reocypfQS/HqPeCxhLm0XfDcHVYflHMzMj8tw=; b=enCaqbngZe0gF2QppxiIIqj602TfjA038j7pjiOb9C0Abb+UOQFzb0Omb6mVCNA/Yz fi1sVROH7S3g3jN6BQoz6PmyS+31bIsY9OF94OQTRmLfTJVtz29sJq8VVz8TTPuih8ye ptp1y0DUhdSZH6tiMo/KkxPUIbrxpdgsBuV5wwpuRlMBpKxNjik0oo9Y7C8SkhjYsFfv R3StXoZHTXWit+k26bj7AS3C55z/RfPDGlIV2vW5TBfZBxyaBbNNxG1tCA3vC46O1OEY I7MT1HpmRbiJQkIxi4a0b9nhbXJv+ocST/Naskdk0SxLMu4NXg/WtVlKGmKhbS+Ia/mB QhdA== X-Gm-Message-State: AEkoousLCc0tQjKzSBXfOoCRfSnm9s7zZYtRiYgGUFRqMIo//87i1KIdwHZWOC+by5t79Q== X-Received: by 10.55.165.202 with SMTP id o193mr33923769qke.285.1470712676200; Mon, 08 Aug 2016 20:17:56 -0700 (PDT) Received: from [10.0.1.3] (c-50-176-253-103.hsd1.ma.comcast.net. [50.176.253.103]) by smtp.gmail.com with ESMTPSA id n128sm5616112qkn.21.2016.08.08.20.17.54 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 08 Aug 2016 20:17:55 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: Please join the Rack Specification discussion for `env['upgrade.websocket']` From: Boaz Segev In-Reply-To: Date: Mon, 8 Aug 2016 23:17:53 -0400 Cc: Michael Fischer , Eric Wong , unicorn-public Content-Transfer-Encoding: quoted-printable Message-Id: References: <58D32D89-4523-436E-8C0E-FA8F4E7AFFB2@plezi.io> <20160806010126.GA7486@dcvr> <202FC1D8-3042-4CBF-9DEA-85D1BEA080F3@2be.co.il> <460032A6-EF75-4930-8447-0F59C7BC3E4E@2be.co.il> To: Sam Saffron X-Mailer: Apple Mail (2.3124) List-Id: Hi Sam, I just wanted to point out that the specification was meant to be = optional and this is why it includes the `env['upgrade.websocket?']` = flag to indicate support.=20 I don't think every server has to support Websockets - different server = architectures favor different tasks and performance isn't a one size fit = all. However, it's high time (if not a bit late) Ruby had better support for = applications that decide to use Websockets - which is, obviously, not = all of them (I doubt that many applications need them). I think it's wrong that Websockets are so complicated to implement in = Ruby and Rack. The technology might be dangerous, but it does have it's = uses (such as large file uploads, inter-app micro-services, game = servers... to name just a few use-cases that survive HTTP/2). - Bo. > On Aug 8, 2016, at 21:08, Sam Saffron wrote: >=20 > For the record Eric, >=20 > We use unicorn at Discourse to serve concurrent long polls across 100s > of hosted forums using hijack with zero issues using > https://github.com/SamSaffron/message_bus >=20 > I am not particularly enthused WebSockets and have blogged about my > reservations, in an HTTP/2 world I am less clear about how they fit in > except for some very niche uses. >=20 > If this becomes a core Rack specification and now forces all Rack > implementation to carry around websocket framing protocol and > epoll/kqueue I would also be less excited. >=20 > On Sat, Aug 6, 2016 at 5:37 PM, Boaz Segev wrote: >>>> Michael said >>> Unicorn is a forking webserver, not an event-driven or threaded >>> webserver. Whether Unicorn ever supports the proposed standard or >>> not, I wouldn't recommend it be used for typical applications that = use >>> WebSockets, as they usually involve persistent connections. Unicorn >>> would quickly run out of worker processes capable of serving such >>> connections anyway, so I question whether it's worth delving into = the >>> dirty details of IO syscalls. >>=20 >>=20 >>>> Eric said >>> Sorry, not interested, and definitely not touching centralized >>> message boards :> >>=20 >>=20 >> I totally understand and I thank you both for your time. >>=20 >> -- Bo. >>=20