anchor.diff:                            message_id=MessageId,
                             payload=Payload};
           false ->
  -            error
  +            {error, cant_validate_publish_topic}
       end;
   parse(<<?PUBACK:4, 0:4>>, <<MessageId:16/big>>) ->
       #mqtt_puback{message_id=MessageId};
  
positive.code:         _ -> more
      end;
  parse(Data) when byte_size(Data) =< 8 -> more;
  parse(_) -> {error, <<>>}.
  
  parse(<<?PUBLISH:4, Dup:1, 0:2, Retain:1>>, <<TopicLen:16/big, Topic:TopicLen/binary, Payload/binary>>) ->
      LTopic = binary_to_list(Topic),
  
negative.code: 
  -define(MAX_PACKET_SIZE, 266338304).
  
  -spec parse(binary()) -> {mqtt_frame(), binary()} | {error, atom()} | more.
  parse(<<Fixed:1/binary, 0:1, L1:7, Data/binary>>) ->
      case Data of
          <<Var:L1/binary, Rest/binary>> -> {parse(Fixed, Var), Rest};
  