[slime-devel] New wire format

Hugo Duncan hugo at hugoduncan.org
Mon Nov 7 17:16:09 UTC 2011


On Mon, 07 Nov 2011 11:40:39 -0500, Helmut Eller <heller at common-lisp.net>  
wrote:

> * Hugo Duncan [2011-11-07 13:56] writes:
>
>>>> This makes the messages less easy to inspect, and less easy
>>>> to write integration tests for.
>>>
>>> Only marginally.  Shifting 3 bytes together is not exactly rocket  
>>> since.
>>
>> It isn't rocket science, but does remove the possibility of visual
>> verification, and of being able to send messages via scripting or a
>> simple console. HTTP, SIP, SMTP, and STOMP are all good examples of
>> protocols with text headers, and I think appropriate, if one looks at
>> swank as a sort of control protocol.
>
> If HTTP is so great then why are WebSockets specified as a binary
> protocol?

The websockets protocol has text headers:  
http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-17

>> Given this is a breaking change, I also see the desire to introduce an
>> extension mechanism at the same time. I would argue a text based
>> header/value extension would be more appropriate.
>
> A fixed sized header is a clear efficiency win.  It's also easier to
> implement.

The efficiency difference is negligible, imho.  The implementation isn't  
any easier in clojure at least.

>> At the end of the day, I realise the balance between the respective
>> merits of binary and text headers is somewhat subjective.
>
> Yes, it's also rather academic as there are only 2 or 3 people that need
> to debug this.

Being one of these people, it effects me [1]. As you say, it is not rocket  
science and I have a working version with the new protocol. For what it is  
worth, I still think it is the wrong direction.

-- 
Hugo Duncan

[1] https://github.com/pallet/ritz




More information about the slime-devel mailing list