anchor.diff:          0 ->
               State#state{info_fun=NewInfoFun};
           _ ->
  -            Msg = {publish, MsgId, Topic, Payload, QoS, true},
  +            Msg = {publish, MsgId, Topic, Payload, QoS, Retain, true},
               Key = {publish, MsgId},
               Ref = gen_fsm:send_event_after(RetryInterval, {retry, Key}),
               State#state{waiting_acks=store(Key, {Ref, Msg}, WAcks),
  
positive.code:     subscribe/3,
      unsubscribe/2,
      publish/4,
      disconnect/1,
      call/2,
      cast/2]).
  
negative.code:                      end,
          topic = Topic,
          qos = QoS,
          retain = Retain,
          dup = Dup,
          payload = Payload
      },
  