On 11/18/11 10:29 AM, Paul Kinlan wrote:


On Fri, Nov 18, 2011 at 7:23 PM, Charles Pritchard <ch...@jumis.com <mailto:ch...@jumis.com>> wrote:

    On 11/18/11 1:40 AM, Paul Kinlan wrote:


    On Fri, Nov 18, 2011 at 2:15 AM, Greg Billock
    <gbill...@google.com <mailto:gbill...@google.com>> wrote:

        On Mon, Nov 14, 2011 at 7:24 PM, Charles Pritchard
        <ch...@jumis.com <mailto:ch...@jumis.com>> wrote:

            As far as I can tell, the model doesn't prohibit, nor
            does it encourage, the passing of MessageChannel.
            It's very much made for an RPC style of communication,
            but if the message being passed back is a channel, well
            that's just fine.

            Am I mistaken? What I'm seeing is that we get
            MessageChannel for free, and there's no need to specify
            further.
            Individual Intent authors can do that themselves.



        Yes. We envision RPC-style request/response as the sweet spot
        for intents. We've definitely considered use cases which are
        better served by opening a persistent

    On the subject of MessageChannels, my thoughts have been that you
    don't pass the data across it, as you would for say "share"
    "image/*", but rather it is the initiation of a protocol - whose
    mime-type is yet to be determined; something like
    application/x-protocol-uucp

    My concern is the plumbing of Transferable.
    Sending Array Buffers across channels is great for short apps.

    Here's the webkit meta-bug as they work on postMessage semantics.
    https://bugs.webkit.org/show_bug.cgi?id=64629

    It's a "transfer" intent. I'm transferring ownership of a buffer
    or a stream.
    It's still appropriate that mime types be specified. Many
    protocols have them.

    -Charles


Sure, you can defiantly pass data across them, what I was referring to (if I understand your point) is that the MessageChannel is used for protocols that are more complex that the request/response that webintents has now. And to ensure that both client and service are talking the same protocol then the mime type is for the protocol and not the data going across it.

Yes, I understand the reference. It's important that services are register themselves to appropriate mime types and intents. The "intent" field is a simple DOMString, and it's reasonably wide-open for use. Should we treat the mime type field in similar manner? Web messaging is so-easy to use, I'd expect a flood of micro-protocols.

What's our plumbing to effectively work with the postMessage transfer semantic? It seems like "transfer" might be a special case intent. Everything else does a data copy. Transferring an array buffer means the current thread can no longer access that buffer.

This is, approximately, what I'm thinking about:

var intent = new Intent("http://webintents.org/transfer";,
  "application/octet-stream+myprotocol",
 [messagePort, arrayBuffer]);

The "transfer" intent signals that postMessage transfer semantics are going to be used.

-Charles

Reply via email to