anchor.diff:                                         {qos2, MessageId},
                                          {2, Bin, Ref, {MsgRef, IsRetain}}, WAcks)};
           false ->
  +            %% drop
  +            vmq_systree:incr_publishes_dropped(),
               State
       end.
   
  
positive.code: cancel_timer(undefined) -> ok;
  cancel_timer(TRef) -> erlang:cancel_timer(TRef), ok.
  
  -spec check_in_flight() -> boolean().
  check_in_flight() ->
      case vmq_config:get_env(max_inflight_messages, 20) of
          0 -> true;
          V ->
              vmq_msg_store:in_flight() < V
      end.
  
  -spec valid_msg_size(binary()) -> boolean().
  
negative.code: 
  -spec dispatch_publish_qos1(msg_id(), topic(), payload(), flag(), #state{}) -> #state{}.
  dispatch_publish_qos1(MessageId, Topic, Payload, IsRetain, State) ->
      case check_in_flight(State) of
          true ->
              #state{username=User, client_id=ClientId} = State,
              MsgRef = vmq_msg_store:store(User, ClientId, Topic, Payload),
  