Re: WiSH: A General Purpose Message Framing over Byte-Stream Oriented Wire Protocols (HTTP)

Takeshi Yoshino <> Fri, 28 October 2016 17:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id DDD50129581 for <>; Fri, 28 Oct 2016 10:25:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.951
X-Spam-Status: No, score=-6.951 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-0.431, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id kBlq7H_ks70H for <>; Fri, 28 Oct 2016 10:25:53 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 2DB29129565 for <>; Fri, 28 Oct 2016 10:25:53 -0700 (PDT)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1c0Aqz-0002Hj-S0 for; Fri, 28 Oct 2016 17:22:05 +0000
Resent-Date: Fri, 28 Oct 2016 17:22:05 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1c0Aqu-0002Gy-TN for; Fri, 28 Oct 2016 17:22:00 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <>) id 1c0Aqo-0001eh-Ou for; Fri, 28 Oct 2016 17:21:55 +0000
Received: by with SMTP id n202so125175666oig.3 for <>; Fri, 28 Oct 2016 10:21:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=k/Yqu3VSA++PW7z6drzWr5Q4KFzw46lEf523bX9fmP8=; b=O9X4ld/HVK2sdpE983izDF6qbjz0qD1hV845oOhzH4uUMsZG2y3IN/T3ZWFLdv1MDI ArxEvNAbVA7l9ypUIVaz1DZBOf9f6SSYy0zApsE1t9ur5VKyLQul4k9p6BCpt+7rQzoS rvtFyb9rc8E29i5xcwNIaiDm3aSTt/OOACNLS1MA8FxHpSOqcKbziHoaHW2d7pTMFVaz k5aoI3U0SdFxPYwwuDdc7OkG5Nso16D1d6TFVOYBa/bK2NMOUskYmnpzMemXbG8n05zZ AcPgoGTJd0UaejdhWUavNiQhiRRxOM2YVAyZoxIviwheaPws7YLDXKnrcnC1UxCoKStp y2qQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=k/Yqu3VSA++PW7z6drzWr5Q4KFzw46lEf523bX9fmP8=; b=BLSp3m2PEVy0vBQvggehCDnLnTqLPP2zwjYL3Ly7C09zi+ltZzJyhtsEoD+3P5ejeG 8v9AQYu2eVxh+j03O/I+uo+eJfzjf82UvfBKghmoXKbZtE2cF0+DEuaZhsV7/DKlV+4F rb5dvIWVhcBkxFkZRMoacQwffTA8VnPaOMyIcD5fpcD/Z6gfIZJJt7wMxcS+IuRzgz1L SZ9HCXeSoxnaxAY/hbSeuBEmwvgt9brSFQirWvbE6qJhVPB/kn4btpnTojcJzE8mhb0p STLbQSyiTOlxa8eTJm87xGPpFpY3ZtTlkp10lpTmv45rTARoJKIZpvdTEqJ8Mx6T1w9L s0Xw==
X-Gm-Message-State: ABUngvdxvC39wbVexzRs8inKJg8DxM1PiTHc1xhTnuHgAWX5LYG9/ts2Mv/cQf89ObH9kt+Ou310NcAi+H38Xp5R
X-Received: by with SMTP id 20mr11555151ioz.189.1477675288315; Fri, 28 Oct 2016 10:21:28 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Fri, 28 Oct 2016 10:21:07 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <>
From: Takeshi Yoshino <>
Date: Sat, 29 Oct 2016 02:21:07 +0900
Message-ID: <>
To: Costin Manolache <>
Cc: Wenbo Zhu <>, Loïc Hoguin <>, " Group" <>
Content-Type: multipart/alternative; boundary="001a113ffa22a7aefc053ff01654"
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-6.4
X-W3C-Hub-Spam-Report: AWL=0.493, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-1.418, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1c0Aqo-0001eh-Ou 77d7a6a1bd72a70727255359bbd69411
Subject: Re: WiSH: A General Purpose Message Framing over Byte-Stream Oriented Wire Protocols (HTTP)
Archived-At: <>
X-Mailing-List: <> archive/latest/32707
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On Sat, Oct 29, 2016 at 1:25 AM, Costin Manolache <> wrote:

> I think WiSH could be great as a fallback to the webpush protocol push
> promises, in devices
> that don't fully support http/2, and for webpush delivery receipts.

Great to hear that.

> In the context of IoT: since continuation is available, any reason to
> support 64-bit-length frames ?
> Even 32 bit ( 4G ) frames may be unpractical.  I don't know how common
> this int encoding scheme
> is - but using varint or fixed may be easier to handle.

It's basically not to introduce any gap with WebSocket's representation
power for compatibility while also keeping it efficient for small frames.

Re: varint,
Actually, old WebSocket protocol I-Ds used base 128 varint for encoding
frame length for binary frames.
We can choose this as this is efficient for small messages but considered
that WebSocket encoding is already common and honored input which led to
the WebSocket encoding. IIRC there was some feedback from hardware
developer against to 128 varint, but I cannot find it now.

Re: big frames,
We're also seeing that very long messages are uncommon from Chromium's UMA
stats. We might be able to share that.

Re: small over head for small frames,
For the use cases where WiSH is layered on top of HTTP2 overhead and TLS
record overhead, this difference might be negligible.

So, ... I'm open to changing the encoding, but want to hear more :)