anchor.diff:          false -> is_ignored(DevAddr, Rest)
       end.
   
  +match(<<DevAddr:32>>, <<MatchAddr:32>>, undefined) ->
  +    DevAddr == MatchAddr;
   match(<<DevAddr:32>>, <<MatchAddr:32>>, <<MatchMask:32>>) ->
       (DevAddr band MatchMask) == MatchAddr.
   
  
positive.code: 
  -include_lib("lorawan_server_api/include/lorawan_application.hrl").
  -include("lorawan.hrl").
  
  process_frame(MAC, RxQ, PHYPayload) ->
      Size = byte_size(PHYPayload)-4,
  
negative.code:     end).
  
  txpk(Gateway, TxQ, DevAddr, ACK, FOpts, #txdata{confirmed=false} = TxData) ->
      PHYPayload = encode_txpk(2#011, DevAddr, ACK, FOpts, TxData),
      mnesia:dirty_write(pending, #pending{devaddr=DevAddr, confirmed=false, phypayload=PHYPayload}),
      {send, Gateway, TxQ, PHYPayload};
  txpk(Gateway, TxQ, DevAddr, ACK, FOpts, #txdata{confirmed=true} = TxData) ->
      PHYPayload = encode_txpk(2#101, DevAddr, ACK, FOpts, TxData),
      mnesia:dirty_write(pending, #pending{devaddr=DevAddr, confirmed=true, phypayload=PHYPayload}),
      {send, Gateway, TxQ, PHYPayload}.
  
  encode_txpk(MType, DevAddr, ACK, FOpts, #txdata{port=FPort, data=Data, pending=FPending}) ->
  