com.mobius.software.telco.protocols.diameter.primitives.rfc5777.Classifier Maven / Gradle / Ivy
package com.mobius.software.telco.protocols.diameter.primitives.rfc5777;
/*
* Mobius Software LTD
* Copyright 2023, Mobius Software LTD and individual contributors
* by the @authors tag.
*
* This program is free software: you can redistribute it and/or modify
* under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation; either version 3 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see
*/
import java.util.List;
import com.mobius.software.telco.protocols.diameter.AvpCodes;
import com.mobius.software.telco.protocols.diameter.annotations.DiameterAvpDefinition;
import com.mobius.software.telco.protocols.diameter.exceptions.MissingAvpException;
import com.mobius.software.telco.protocols.diameter.primitives.DiameterGroupedAvp;
import io.netty.buffer.ByteBuf;
/**
*
* @author yulian oifa
*
*/
/*
* 4.1.1. Classifier AVP
The Classifier AVP (AVP Code 511) is a grouped AVP that consists of a
set of attributes that specify how to match a packet.
Classifier ::= < AVP Header: 511 >
{ Classifier-ID }
[ Protocol ]
[ Direction ]
* [ From-Spec ]
* [ To-Spec ]
* [ Diffserv-Code-Point ]
[ Fragmentation-Flag ]
* [ IP-Option ]
* [ TCP-Option ]
[ TCP-Flags ]
* [ ICMP-Type ]
* [ ETH-Option ]
* [ AVP ]
*/
@DiameterAvpDefinition(code = AvpCodes.CLASSIFIER, vendorId = -1L, name = "Classifier")
public interface Classifier extends DiameterGroupedAvp
{
ByteBuf getClassifierID();
void setClassifierID(ByteBuf value) throws MissingAvpException;
ProtocolEnum getProtocol();
void setProtocol(ProtocolEnum value);
DirectionEnum getDirection();
void setDirection(DirectionEnum value);
List getFromSpec();
void setFromSpec(List value);
List getToSpec();
void setToSpec(List value);
DiffServCodePointEnum getDiffServCodePoint();
void setDiffServCodePoint(DiffServCodePointEnum value);
FragmentationFlagEnum getFragmentationFlag();
void setFragmentationFlag(FragmentationFlagEnum value);
List getIPOption();
void setIPOption(List value);
List getTCPOption();
void setTCPOption(List value);
List getTCPFlags();
void setTCPFlags(List value);
List getICMPType();
void setICMPType(List value);
List getETHOption();
void setETHOption(List value);
}