[hybi] Serf support for BWTP

Justin Erenkrantz <justin@erenkrantz.com> Fri, 18 December 2009 08:32 UTC

Return-Path: <justin.erenkrantz@gmail.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DF05E3A6813 for <hybi@core3.amsl.com>; Fri, 18 Dec 2009 00:32:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NW6Zdm4rP6o6 for <hybi@core3.amsl.com>; Fri, 18 Dec 2009 00:32:28 -0800 (PST)
Received: from mail-px0-f171.google.com (mail-px0-f171.google.com [209.85.216.171]) by core3.amsl.com (Postfix) with ESMTP id 1E8B93A67AE for <hybi@ietf.org>; Fri, 18 Dec 2009 00:32:28 -0800 (PST)
Received: by pxi1 with SMTP id 1so2054094pxi.29 for <hybi@ietf.org>; Fri, 18 Dec 2009 00:32:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=tCI4efkqTE1LI8KTiDgvkSK9IgsPgycKIfT4QCdPdeM=; b=K2BzYqaWZKtTfI5cYVjhJmqFsX8sU1QZEyB6IDgDktjAVtXfhMOR1qsZn3v+9OP3R+ KCFusYVf+Kmh1HeBeOdxSDRSGv0KQZylCWpBQMK4gFbOPZ4a39V1yWzNz5jK5u2hzE3f rYd+KQ4MmPAoIViMTVS2aUXCo6AYEHIMeZ5vI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; b=IwJBekk/uksDenGLDMo+SjwqW/NHNs+Am/gep24w+R+8ow/Wm/Woka68Q+zWdR8iTM c4iYh02bbnAMP+mUlD38OiMfdhoXpUpQ/9k1zhDGfI0BGQ5m/9XvBcRnTa37d8FBhhYw ZMQVitHUmOiqsJ58baji3wnL0AKMs9h7Brm78=
MIME-Version: 1.0
Sender: justin.erenkrantz@gmail.com
Received: by 10.142.55.8 with SMTP id d8mr2420893wfa.22.1261125130090; Fri, 18 Dec 2009 00:32:10 -0800 (PST)
Date: Fri, 18 Dec 2009 00:32:10 -0800
X-Google-Sender-Auth: 6244e3e1ff7166ca
Message-ID: <5c902b9e0912180032o33d58da5hf3411baeb1fc5f7f@mail.gmail.com>
From: Justin Erenkrantz <justin@erenkrantz.com>
To: hybi@ietf.org
Content-Type: text/plain; charset="ISO-8859-1"
Subject: [hybi] Serf support for BWTP
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Dec 2009 08:33:15 -0000

Hi hybi@,

Out of some stuff that's been done with CREST [1], I got pointed at
BWTP and decided to implement it in Serf [2].  A colleague of mine at
UC Irvine is implementing BWTP with PLT Scheme for some CREST stuff
he's doing.  (In short, CREST would benefit from having an async
protocol.)

If ya'll haven't followed the Twitter conversation between me and
Hixie over the last few days, I've pretty much come to the same
conclusions regarding "Web Sockets" RFC that Greg Wilkins did much
earlier.  (Kudos to Greg!)  I guess that Hixie has tried to write his
RFC drafts in a way that stresses one particular way of writing a
client - but for a pure async client library like Serf, the
description in the RFC is pretty impenetrable...and, in my mind, not
very helpful when it comes to writing an independent implementation.
So, I found BWTP a lot easier to implement...and so I did.

The BWTP implementation in Serf isn't perfect and there's probably
more to do, but it'll suffice for now.  Though there do seem to be
some errors in the BWTP RFC, but I'm not sure if Greg is updating the
BWTP RFC drafts or not.  If so, I'm happy to post about those apparent
errors as well.

Anyway, Hixie asked that I subscribe/post to the IETF list, so here I
am.  =)  -- justin

1. http://www.erenkrantz.com/CREST/
2. http://code.google.com/p/serf/