|
Cisco Systems, Inc. | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.pcube.apps.engage.common.ArrayElement
com.pcube.apps.engage.policy.Rule
public class Rule
An action to perform on a flow. A rule is package-service-timeslot dependant
and is part of the Package's properties
(Package->ServiceRuleArray->ServiceRule->Rule). A rule has numerous
parameters defining resources the flow is allowed while being preBreached and
postBreached.
The rule is time based and is kept in the ServiceRule. A rule can be for a
specific time frame or a default rule for all the time frames which didn't
define a specific rule in the ServiceRule.
The Rule belongs to a Policy which enforces validation restrictions on it,
such as the existance of the Service.
The Rule defines certain volume and sessions limitations that crossing them
is considered as a breach. The Rule has active limitations prior to the
breach and another set of limitations after the breach. The limitations are
on the flow's access (allow, block or block and redirect if possible),
bandwidth, number of concurrent sessions and a BWController to which the
bandwidth is accumulated and which sets the QoS the flow will get.
ServiceRule,
ACCESS_ADMIT,
ACCESS_BLOCK,
ACCESS_BLOCK_AND_REDIRECT,
Serialized Form| Field Summary | |
|---|---|
static byte |
ACCESS_ADMIT
Allow the flow to continue. |
static byte |
ACCESS_BLOCK
Block the flow. |
static byte |
ACCESS_BLOCK_AND_REDIRECT
Block the flow by redirectiong it. |
static byte |
ACCESS_NO_CHANGE_IN_ACTIVE_ACTIONS
Post breach access is the same as the pre-breach access. |
static byte |
BLOCK_REPORT_DONT_GENERATE
Do not generate block report. |
static byte |
BLOCK_REPORT_ON_ACCESS_BLOCK
Generate block report when the flow is blocked. |
static byte |
BLOCK_REPORT_ON_BOTH_ACCESS_AND_CONC_SESSIONS
Generate block report when the block both when the flow is blocked and when number of concurrent sessions is exceeded. |
static byte |
BLOCK_REPORT_ON_CONC_SESSION
Generate block report when number of concurrent sessions is exceeded. |
static int |
DEFAULT_CONDITIONAL_REDIRECT_VAL
|
static int |
DEFAULT_TRAFFIC_MIRRORING_VAL
|
static int |
DISABLE_NOTIFICATION
Comment for DISABLE_NOTIFICATION |
static int |
EXTERNAL_QUOTA_MANAGMENT
Comment for EXTERNAL_QUOTA_MANAGMENT |
static long |
MAX_BANDWIDTH
57Mbps, bandwidth should be multiple by 1000. |
static long |
MAX_CONCURRENT_SESSIONS
Max concurrent sessions for the concurrent sessions limit. |
static int |
PERIODICAL_QUOTA_MANAGMENT
Comment for PERIODICAL_QUOTA_MANAGMENT |
static short |
RULE_STATE_DISABLED
Disables the Rule. |
static short |
RULE_STATE_ENABLED
Enables the Rule. |
static short |
RULE_STATE_IGNORE
The Rule is ignored. |
static long |
UNLIMITED_BANDWIDTH
Unlimited bandwidth for the bandwidth volume. |
static long |
UNLIMITED_CONCURRENT_SESSIONS
Unlimited concurrent sessions for the concurrent sessions limit. |
static int |
UNLIMITED_QUOTA_BUCKET_ID
Comment for DEFUALT_QUOTA_BUCKET |
| Method Summary | |
|---|---|
java.lang.Object |
clone()
|
void |
disablePostBreachNotification()
don't activate subscriber notification if breach occures |
void |
fromStream(java.io.BufferedReader in,
Formatter f)
Method fromStream |
byte |
getBlockReportParameter()
Gets the term in which a report for blocking a flow is generated. |
java.lang.String |
getBwcName()
|
CoS |
getCos()
|
java.lang.String |
getDescription()
Gets this Rule's description. |
int |
getDirection()
|
QuotaBucketInterface |
getDownQuotaBucket()
QuotaBucket: Services will use this quota bucket |
java.lang.String |
getGcName()
|
long |
getGcPir()
|
int |
getInternalRedirectStringsIndex()
Deprecated. |
java.lang.String |
getName()
Gets this Rule's name. |
Package |
getPackage()
|
int |
getPackageIndex()
Deprecated. use setPackage |
byte |
getPostBreachAccessMode()
Gets this Rule's access mode after the breach occurance. |
long |
getPostBreachConcSessions()
Gets this Rule's limitation for concurrent sessions after the breach occurance. |
long |
getPostBreachDownstreamBW()
Gets this Rule's downstream BW limitation prior to the breach occurance. |
ToSMarker |
getPostBreachDownstreamTos()
|
SubscriberRedirection |
getPostBreachNotification()
|
long |
getPostBreachUpstreamBW()
Gets this Rule's upstream BW limitation prior to the breach occurance. |
ToSMarker |
getPostBreachUpstreamTos()
|
int |
getPostConditionalRedirectIndex()
|
SubscriberRedirection |
getPostConditionalRedirectItem()
|
int |
getPostDownBWCIdx()
Gets the downstram BWController index of the BWController that this Rule's activity, after the breach occurance, is accumulated into. |
int |
getPostTrafficMirroringIndex()
|
int |
getPostUpBWCIdx()
Gets the upstream BWController index of the BWController that this Rule's activity, after the breach occurance, is accumulated into. |
byte |
getPreBreachAccessMode()
Gets this Rule's access mode prior to the breach occurance. |
long |
getPreBreachConcSessions()
Gets this Rule's limitation for concurrent sessions before the breach occurance. |
long |
getPreBreachDownstreamBW()
Gets this Rule's downstream BW limit for the behavior prior to a breach occurance. |
ToSMarker |
getPreBreachDownstreamTos()
|
long |
getPreBreachUpstreamBW()
Gets this Rule's upstream BW limit for the behavior prior to a breach occurance. |
ToSMarker |
getPreBreachUpstreamTos()
|
int |
getPreConditionalRedirectIndex()
|
SubscriberRedirection |
getPreConditionalRedirectItem()
|
int |
getPreDownBWCIdx()
Gets the downstram BWController index of the BWController that this Rule's activity, prior to the breach occurance, is accumulated into. |
int |
getPreTrafficMirroringIndex()
|
int |
getPreUpBWCIdx()
Gets the upstream BWController index of the BWController that this Rule's activity, prior to the breach occurance, is accumulated into. |
int |
getQuotaManagmentMode()
quota managment mode |
boolean |
getRdrDataEnabled()
|
int |
getRedirectStringsIndex()
Deprecated. |
RuleFrame |
getRuleFrame()
|
int |
getRuleFrameIndex()
|
java.lang.String |
getRuleFrameName()
|
Service |
getService()
|
java.lang.String |
getServiceName()
Gets the Service name of the Service that this Rule applys to. |
QuotaBucketInterface |
getSessionQuotaBucket()
returns the session quota bucket. |
short |
getState()
Gets this Rule's restriction enforcement mode. |
TimeFrame |
getTimeFrame()
Gets the time frame this Rule applys to. |
QuotaBucketInterface |
getUpQuotaBucket()
QuotaBucket: Service will use this quota bucket for upstream traffic |
boolean |
isBillingReportEnabled()
Checking if the billing report is enabled or disabled |
boolean |
isDefaultRule()
isDefaultRule - false if rule is a time based rule |
boolean |
isDefaultRuleOverride()
|
boolean |
isDisablePostBreachNotification()
|
boolean |
isExternalQuotaManagment()
|
boolean |
isFlowSignalingRdrEnabled()
|
boolean |
isGlobalRule()
|
boolean |
isMirroringAttached()
|
boolean |
isOverrideTurChecked()
|
boolean |
isPostBeachNotificationEnabled()
|
boolean |
isPostRedirected()
|
boolean |
isPostTrafficMirroringSet()
|
boolean |
isPreTrafficMirroringSet()
|
boolean |
isRedirected()
|
boolean |
isRuleFrame()
|
boolean |
isTurEnabled()
|
void |
resetRuleValuesToDefault()
Sets the rule properties to default access mode - admit BWC are set to the package's default BWC. |
void |
setBillingReportEnabled(boolean newBillingReportEnabled)
Enabling or disabling the billing report |
void |
setBlockReportParameter(byte newBlockReportParameter)
Configures the terms in which to create a report for blocking a flow. |
void |
setBwcName(java.lang.String bwcName)
|
void |
setCos(CoS newCos)
|
void |
setDefaultRuleOverride(boolean defaultRuleOverride)
|
void |
setDescription(java.lang.String newDescription)
Sets this Rule's description. |
void |
setDirection(int direction)
|
void |
setDownQuotaBucket(int id)
set the quota bucket for downstream traffic. |
void |
setFlowSignalingRdrEnabled(boolean flowSignalingRdrEnabled)
|
void |
setGcName(java.lang.String gcName)
|
void |
setGcPir(long gcPir)
|
void |
setGlobalRule(boolean globalRule)
|
void |
setName(java.lang.String newName)
Sets this Rule's name. |
void |
setOverrideTurChecked(boolean overrideTur)
|
void |
setPackageIndex(int index)
Gets the index in the Policy's PackageArray of the Package this Rule belongs to. |
void |
setPolicy(Policy m_policy)
|
void |
setPostBreachAccessMode(byte newPostBreachAccessMode)
Sets this Rule's access mode after the breach occurance. |
void |
setPostBreachConcSessions(long newPostBreachConcSessions)
Sets this Rule's limitation for concurrent sessions after the breach occurance. |
void |
setPostBreachDownstreamBW(long newPostBreachBW)
Sets this Rule's downstream BW limitation prior to the breach occurance. |
void |
setPostBreachDownstreamTos(ToSMarker marker)
|
void |
setPostBreachNotification(SubNotification conditionalRedirectNotifications)
sets the notification that will be activated upon quota breach. |
void |
setPostBreachNotification(SubscriberRedirection subscriberRedirection)
sets the notification that will be activated upon quota breach. |
void |
setPostBreachUpstreamBW(long newPostBreachBW)
Sets this Rule's upstream BW limitation prior to the breach occurance. |
void |
setPostBreachUpstreamTos(ToSMarker marker)
|
void |
setPostConditionalRedirectIndex(int _postConditionalRedirectIndex)
|
void |
setPostDownBWCIdx(int newBWCIdx)
Sets the downstream BWController index of the BWController that this Rule's activity, prior to the breach occurance, is accumulated into. |
void |
setPostTrafficMirroringIndex(int postTrafficMirroringIndex)
|
void |
setPostTrafficMirroringSet(boolean isPostTrafficMirroringSet)
|
void |
setPostUpBWCIdx(int newBWCIdx)
Sets the upstream BWController index of the BWController that this Rule's activity, prior to the breach occurance, is accumulated into. |
void |
setPreBreachAccessMode(byte newPreBreachAccessMode)
Sets this Rule's access mode prior to the breach occurance. |
void |
setPreBreachConcSessions(long newPreBreachConcSessions)
Sets this Rule's limitation for concurrent sessions before the breach occurance. |
void |
setPreBreachDownstreamBW(long newPreBreachBW)
Sets this Rule's upstream BW limit which is enforced prior to a breach occuring. |
void |
setPreBreachDownstreamTos(ToSMarker marker)
|
void |
setPreBreachUpstreamBW(long newPreBreachBW)
Sets this Rule's upstream BW limit which is enforced prior to a breach occuring. |
void |
setPreBreachUpstreamTos(ToSMarker marker)
|
void |
setPreConditionalRedirectIndex(int _preConditionalRedirectIndex)
|
void |
setPreDownBWCIdx(int newBWCIdx)
Sets the downstram BWController that this Rule's activity, prior to the breach occurance, is accumulated into. |
void |
setPreTrafficMirroringIndex(int preTrafficMirroringIndex)
|
void |
setPreTrafficMirroringSet(boolean isPreTrafficMirroringSet)
|
void |
setPreUpBWCIdx(int newBWCIdx)
Sets the upstram BWController that this Rule's activity, prior to the breach occurance, is accumulated into. |
void |
setQuotaManagmentMode(int mode)
quota managment mode |
void |
setRdrDataEnabled(boolean rdrDataEnabled)
|
void |
setRedirectStringsIndex(int index)
Deprecated. |
void |
setRuleFrame(boolean ruleFrame)
|
void |
setRuleFrameIndex(int ruleFrameIndex)
|
void |
setServiceName(java.lang.String newServiceName)
Sets the Service name of the Service that this Rule applys to. |
void |
setSessionQuotaBucket(int id)
|
void |
setState(short newState)
Sets this Rule's restriction behavior. |
void |
setTurEnabled(boolean turEnabled)
|
void |
setUpQuotaBucket(int id)
|
void |
toStream(java.io.PrintStream out,
Formatter f)
Method toStream |
java.lang.String |
toString()
Gets this Rule's String represntation. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final byte ACCESS_ADMIT
public static final byte ACCESS_BLOCK
public static final byte ACCESS_BLOCK_AND_REDIRECT
public static final byte ACCESS_NO_CHANGE_IN_ACTIVE_ACTIONS
public static final byte BLOCK_REPORT_DONT_GENERATE
public static final byte BLOCK_REPORT_ON_ACCESS_BLOCK
public static final byte BLOCK_REPORT_ON_BOTH_ACCESS_AND_CONC_SESSIONS
public static final byte BLOCK_REPORT_ON_CONC_SESSION
public static final int DISABLE_NOTIFICATION
DISABLE_NOTIFICATION
public static final int EXTERNAL_QUOTA_MANAGMENT
EXTERNAL_QUOTA_MANAGMENT
public static final int PERIODICAL_QUOTA_MANAGMENT
PERIODICAL_QUOTA_MANAGMENT
public static final short RULE_STATE_DISABLED
public static final short RULE_STATE_ENABLED
public static final short RULE_STATE_IGNORE
public static final long UNLIMITED_BANDWIDTH
public static final long UNLIMITED_CONCURRENT_SESSIONS
public static final long MAX_BANDWIDTH
public static final long MAX_CONCURRENT_SESSIONS
public static final int UNLIMITED_QUOTA_BUCKET_ID
DEFUALT_QUOTA_BUCKET
public static final int DEFAULT_TRAFFIC_MIRRORING_VAL
public static final int DEFAULT_CONDITIONAL_REDIRECT_VAL
| Method Detail |
|---|
public java.lang.Object clone()
clone in class ArrayElementArrayElement.clone()public void disablePostBreachNotification()
public boolean isDisablePostBreachNotification()
public void fromStream(java.io.BufferedReader in,
Formatter f)
throws ImportExportException
Formattable
fromStream in interface FormattableImportExportExceptionFormattable.fromStream(java.io.BufferedReader,
com.pcube.apps.engage.common.Formatter)public byte getBlockReportParameter()
BLOCK_REPORT_ON_ACCESS_BLOCK,
BLOCK_REPORT_ON_BOTH_ACCESS_AND_CONC_SESSIONS,
BLOCK_REPORT_ON_CONC_SESSIONpublic CoS getCos()
public java.lang.String getDescription()
public QuotaBucketInterface getDownQuotaBucket()
public java.lang.String getName()
public Package getPackage()
throws ItemNotFoundException
ItemNotFoundExceptionpublic int getPackageIndex()
public byte getPostBreachAccessMode()
ACCESS_ADMIT,
ACCESS_BLOCK,
ACCESS_BLOCK_AND_REDIRECT,
ACCESS_NO_CHANGE_IN_ACTIVE_ACTIONSpublic long getPostBreachConcSessions()
public long getPostBreachDownstreamBW()
public int getPostDownBWCIdx()
public SubscriberRedirection getPostBreachNotification()
throws PolicyInconsistencyException
PolicyInconsistencyExceptionpublic long getPostBreachUpstreamBW()
public int getPostUpBWCIdx()
public byte getPreBreachAccessMode()
ACCESS_ADMIT,
ACCESS_BLOCK,
ACCESS_BLOCK_AND_REDIRECTpublic long getPreBreachConcSessions()
public long getPreBreachDownstreamBW()
public int getPreDownBWCIdx()
public long getPreBreachUpstreamBW()
public int getPreUpBWCIdx()
public int getQuotaManagmentMode()
public int getRedirectStringsIndex()
public int getInternalRedirectStringsIndex()
public Service getService()
throws ItemNotFoundException
ItemNotFoundExceptionpublic java.lang.String getServiceName()
public java.lang.String getRuleFrameName()
public QuotaBucketInterface getSessionQuotaBucket()
public short getState()
RULE_STATE_ENABLED,
RULE_STATE_DISABLED,
RULE_STATE_IGNOREpublic TimeFrame getTimeFrame()
public RuleFrame getRuleFrame()
public QuotaBucketInterface getUpQuotaBucket()
public boolean isBillingReportEnabled()
public boolean isExternalQuotaManagment()
public boolean isPostBeachNotificationEnabled()
public void setBillingReportEnabled(boolean newBillingReportEnabled)
newBillingReportEnabled - -
if true enabling the report, otherwise disabling itpublic void setBlockReportParameter(byte newBlockReportParameter)
newBlockReportParameter - the new block report parameterBLOCK_REPORT_DONT_GENERATE,
BLOCK_REPORT_ON_ACCESS_BLOCK,
BLOCK_REPORT_ON_BOTH_ACCESS_AND_CONC_SESSIONS,
BLOCK_REPORT_ON_CONC_SESSIONpublic void setCos(CoS newCos)
newCos - public void setDescription(java.lang.String newDescription)
newDescription - the new descriptionpublic void setDownQuotaBucket(int id)
bucket - bucket
java.lang.IllegalArgumentException - -
thrown if quota bucket is not one of the system's bucketspublic void setName(java.lang.String newName)
newName - the new namepublic void setPackageIndex(int index)
index - the new Package indexpublic void setPolicy(Policy m_policy)
m_policy - The policy to set.public void setPostBreachAccessMode(byte newPostBreachAccessMode)
newPostBreachAccessMode - the new post breach access modeACCESS_ADMIT,
ACCESS_BLOCK,
ACCESS_BLOCK_AND_REDIRECT,
ACCESS_NO_CHANGE_IN_ACTIVE_ACTIONSpublic void setPostBreachConcSessions(long newPostBreachConcSessions)
newPostBreachConcSessions - the new post breach session limitation
java.lang.IllegalArgumentException - if the post breach access mode is
ACCESS_NO_CHANGE_IN_ACTIVE_ACTIONSpublic void setPostBreachDownstreamBW(long newPostBreachBW)
newPostBreachBW - the new BW limit
java.lang.IllegalArgumentException - if the post breach access mode is
ACCESS_NO_CHANGE_IN_ACTIVE_ACTIONS
public void setPostDownBWCIdx(int newBWCIdx)
throws ItemNotFoundException
newBWCIdx - the BWController index in the BWControllerArray.
ItemNotFoundException - -
if such BWC does not existpublic void setPostBreachNotification(SubscriberRedirection subscriberRedirection)
subscriberRedirection - public void setPostBreachNotification(SubNotification conditionalRedirectNotifications)
conditionalRedirectNotifications - public void setPostBreachUpstreamBW(long newPostBreachBW)
newPostBreachBW - the new BW limit
java.lang.IllegalArgumentException - if the post breach access mode is
ACCESS_NO_CHANGE_IN_ACTIVE_ACTIONS
public void setPostUpBWCIdx(int newBWCIdx)
throws ItemNotFoundException
newBWCIdx - the BWController index in the BWControllerArray.
ItemNotFoundException - if no such BWController existspublic void setPreBreachAccessMode(byte newPreBreachAccessMode)
newPreBreachAccessMode - the new pre breach access modeACCESS_ADMIT,
ACCESS_BLOCK,
ACCESS_BLOCK_AND_REDIRECTpublic void setPreBreachConcSessions(long newPreBreachConcSessions)
newPreBreachConcSessions - the new pre breach session limitationpublic void setPreBreachDownstreamBW(long newPreBreachBW)
newPreBreachBW - the new BW limit
public void setPreDownBWCIdx(int newBWCIdx)
throws ItemNotFoundException
newBWCIdx - the BWController index in the BWControllerArray.
ItemNotFoundException - if no such BWController existspublic void setPreBreachUpstreamBW(long newPreBreachBW)
newPreBreachBW - the new BW limit
public void setPreUpBWCIdx(int newBWCIdx)
throws ItemNotFoundException
newBWCIdx - the BWController index in the BWControllerArray.ItemNotFoundException - if such BWC does not exist
ItemNotFoundException
public void setQuotaManagmentMode(int mode)
throws java.lang.IllegalArgumentException
mode -
java.lang.IllegalArgumentException - if mode is different then Rule.EXTERNAL_QUOTA_MANAGMENT and
Rule.PERIODICAL_MANAGMENT_MODE
public void setRedirectStringsIndex(int index)
throws ItemNotFoundException
index - the new redirect string array index
ItemNotFoundException - if the index is out of boundpublic void setServiceName(java.lang.String newServiceName)
newServiceName - -
the new Service's namepublic void setSessionQuotaBucket(int id)
id - public void setState(short newState)
newState - the new stateRULE_STATE_ENABLED,
RULE_STATE_DISABLED,
RULE_STATE_IGNOREpublic void setOverrideTurChecked(boolean overrideTur)
public boolean isOverrideTurChecked()
public void setTurEnabled(boolean turEnabled)
public boolean isTurEnabled()
public void setRdrDataEnabled(boolean rdrDataEnabled)
public boolean getRdrDataEnabled()
public void setUpQuotaBucket(int id)
public void toStream(java.io.PrintStream out,
Formatter f)
Formattable
toStream in interface FormattableFormattable.toStream(java.io.PrintStream,
com.pcube.apps.engage.common.Formatter)public java.lang.String toString()
toString in class java.lang.Objectpublic boolean isDefaultRule()
public void resetRuleValuesToDefault()
public boolean isFlowSignalingRdrEnabled()
public void setFlowSignalingRdrEnabled(boolean flowSignalingRdrEnabled)
public ToSMarker getPostBreachDownstreamTos()
public void setPostBreachDownstreamTos(ToSMarker marker)
public ToSMarker getPostBreachUpstreamTos()
public void setPostBreachUpstreamTos(ToSMarker marker)
public ToSMarker getPreBreachDownstreamTos()
public void setPreBreachDownstreamTos(ToSMarker marker)
public ToSMarker getPreBreachUpstreamTos()
public void setPreBreachUpstreamTos(ToSMarker marker)
public void setPreTrafficMirroringIndex(int preTrafficMirroringIndex)
public int getPreTrafficMirroringIndex()
public void setPostTrafficMirroringIndex(int postTrafficMirroringIndex)
public int getPostTrafficMirroringIndex()
public void setPreTrafficMirroringSet(boolean isPreTrafficMirroringSet)
public boolean isPreTrafficMirroringSet()
public void setPostTrafficMirroringSet(boolean isPostTrafficMirroringSet)
public boolean isPostTrafficMirroringSet()
public void setPreConditionalRedirectIndex(int _preConditionalRedirectIndex)
public int getPreConditionalRedirectIndex()
public void setPostConditionalRedirectIndex(int _postConditionalRedirectIndex)
public int getPostConditionalRedirectIndex()
public SubscriberRedirection getPreConditionalRedirectItem()
throws PolicyInconsistencyException
PolicyInconsistencyException
public SubscriberRedirection getPostConditionalRedirectItem()
throws PolicyInconsistencyException
PolicyInconsistencyExceptionpublic boolean isMirroringAttached()
public boolean isRedirected()
public boolean isPostRedirected()
public boolean isGlobalRule()
public void setGlobalRule(boolean globalRule)
public boolean isRuleFrame()
public void setRuleFrame(boolean ruleFrame)
public int getRuleFrameIndex()
public void setRuleFrameIndex(int ruleFrameIndex)
public void setDefaultRuleOverride(boolean defaultRuleOverride)
public boolean isDefaultRuleOverride()
public void setGcName(java.lang.String gcName)
public java.lang.String getGcName()
public void setBwcName(java.lang.String bwcName)
public java.lang.String getBwcName()
public void setGcPir(long gcPir)
public long getGcPir()
public void setDirection(int direction)
public int getDirection()
|
Cisco Systems, Inc. | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||