code: func (n *NetworkServerAPI) CreateMACCommandQueueItem(ctx context.Context, req *ns.CreateMACCommandQueueItemRequest) (*empty.Empty, error) {
  	var commands []lorawan.MACCommand
  	var devEUI lorawan.EUI64
  
  	copy(devEUI[:], req.DevEui)
  
  	for _, b := range req.Commands {
  		var mac lorawan.MACCommand
  		if err := mac.UnmarshalBinary(false, b); err != nil {
  			return nil, grpc.Errorf(codes.InvalidArgument, err.Error())
  		}
  		commands = append(commands, mac)
  	}
  
  	block := storage.MACCommandBlock{
  		CID:         lorawan.CID(req.Cid),
  		External:    true,
  		MACCommands: commands,
  	}
  
  	if err := storage.CreateMACCommandQueueItem(storage.RedisPool(), devEUI, block); err != nil {
  		return nil, errToRPCError(err)
  	}
  
  	return &empty.Empty{}, nil
  }
docs: // CreateMACCommandQueueItem adds a data down MAC command to the queue.
  // It replaces already enqueued mac-commands with the same CID.