anchor.diff:  ----
   MESSAGE
   id: e11a27d3-4b86-4191-a310-12847fa79d48
  +topic: foobar
  +content-type: application/edn
  +
  +{:foo "bar"}^@
  +----
  +
  +WARNING: Nothing prevents server send `MESSAGE` frames independently if you have
  +done a subscription or not (ex: the server can start sending notifications to the
  +client at any time, no subscription action is nedded).
  +
  +
  +=== UNSUBSCRIBE
  +
  +This is a frame that should be used for cancel a subscription.
  +
  +[source, text]
  +----
  +UNSUBSCRIBE
  +id: e11a27d3-4b86-4191-a310-12847fa79d48
  +dest: user/notifications
  +
  +{:topic "foobar"}^@
  +----
  +
  +After sending a `UNSUBSCRIBE` frame we should expect an `RESPONSE` frame to be sent
  +back as confirmation of the subscription or `ERROR` if an error is ocurred. The
  +`dest` header is mandatory and its format is explicitly not specified.
  +
  +
  +=== PUBLISH
  +
  +This is a frame that should be used for publish a message in a specified topic. If a
  +client is also subscribed to the topic, it will receive the published message.
  +
  +[source, text]
  +----
  +PUBLISH
  +id: e11a27d3-4b86-4191-a310-12847fa79d48
   topic: user.notifications
   content-type: application/edn
   
  -{:foo "bar"}^@
  -----
  -
  -WARNING: Nothing prevents server send `MESSAGE` frames independently if you have done a
  -subscription or not (ex: the server can start sending notifications to the client at
  -any time, no subscription action is nedded). The `SUBSCRIBE` frame is a semantic frame
  -that allows subscription negotiation if the user needs it.
  -
  -
  -=== UNSUBSCRIBE
  -
  -This is a frame that should be used for cancel a subscription.
  -
  -[source, text]
  -----
  -UNSUBSCRIBE
  -id: e11a27d3-4b86-4191-a310-12847fa79d48
  -topic: user.notifications
  -----
  -
  -As consecuence of send this frame, the server should send back to the client the `ACK`
  -frame confirming that the server had successfully removed the subscription.
  -
  -
  -=== PUBLISH
  -
  -This is a frame that should be used for publish a message in a specified topic. If a
  -client is also subscribed to the topic, it will receive the published message.
  -
  -[source, text]
  -----
  -PUBLISH
  -id: e11a27d3-4b86-4191-a310-12847fa79d48
  -topic: user.notifications
  -content-type: application/edn
  -
  -{:message "content"}^@
  -----
  -
  -
  -As consecuence of send this frame, the server should send back to the client the `ACK`
  -frame confirming that the publish is done successfully.
  -
  -[source, text]
  -----
  -ACK
  -id: e11a27d3-4b86-4191-a310-12847fa79d48
  -
  -^@
  -----
  +{:topic "foobar"
  + :message "content"}^@
  +----
  +
  +After sending a `PUBLISH` frame we should expect an `RESPONSE` frame to be sent
  +back as confirmation of the subscription or `ERROR` if an error is ocurred. The
  +`dest` header is mandatory and its format is explicitly not specified.
   
   
   == PUSH/PULL
  
positive.code: 
  ==== Header: *id*
  
  The `id` header serves for identify messages. It is mainly used by client frames. Frames
  without specified `id` does not return responses. And some frames has `id` as mandatory
  header.
  
  
  ==== Header: *content-type*
  
negative.code: 
  === Size Limits
  
  To prevent malicious clients from exploiting memory allocation in a server, servers
  MAY place maximum limits on:
  
  * the number of frame headers allowed in a single frame
  * the maximum length of header lines
  