2 * Copyright (c) 2015 Cable Television Laboratories, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.pcmm.gates;
12 import java.util.List;
16 * A PacketCable Multimedia Gate is a logical representation of a policy
17 * decision that has been installed on the CMTS. A Gate is used to control
18 * access by a single IP flow to enhanced QoS Services provided by a DOCSIS
19 * cable network. Gates are unidirectional; a single Gate controls access to a
20 * flow in either the upstream or the downstream direction, but not both. For a
21 * bi-directional IP session, two Gates are required, one for upstream and one
22 * for downstream, each identified by a unique GateID. It is important to
23 * recognize that this is a fundamental difference from PacketCable 1.x, in
24 * which a single GateID may reference both an upstream and a downstream Gate.
27 * In PacketCable Multimedia, each Gate has a separate GateID. The Gate defines
35 public interface IPCMMGate {
40 * @return whether this gate is multicast or unicast.
42 boolean isMulticast();
45 * GateID is the handle for the Gate.
48 void setGateID(IGateID gateid);
51 * (i.e., QoS limits, timers, etc.).
54 void setGateSpec(IGateSpec gateSpec);
57 * Classifier describes the IP flow(s) that will be mapped to the DOCSIS
61 void setClassifiers(List<IClassifier> classifiers);
64 * Traffic Profile describes the QoS attributes of the Service Flow used to
65 * support the IP flow.
67 void setTrafficProfile(ITrafficProfile profile);
69 void setTransactionID(ITransactionID transactionID);
71 void setError(IPCMMError error);
73 ITransactionID getTransactionID();
76 * GateID is the handle for the Gate.
83 * AMID is the handle that identifies the Application Manager and
86 * @return AMID handle.
91 * SubscriberID uniquely identifies the Client for which the policy is being
94 * @return unique subscriber ID.
96 ISubscriberID getSubscriberID();
99 * (i.e., QoS limits, timers, etc.).
101 * @return gateSpec object.
103 IGateSpec getGateSpec();
106 * Classifier describes the IP flow(s) that will be mapped to the DOCSIS
109 * @return Classifier object.
111 List<IClassifier> getClassifiers();
114 * Traffic Profile describes the QoS attributes of the Service Flow used to
115 * support the IP flow.
117 ITrafficProfile getTrafficProfile();
120 * The PacketCable Error object contains information on the type of error that has occurred.
122 IPCMMError getError();
130 // Event Generation Info (optional)
131 // Time-Based Usage Limit (optional)
132 // Volume-Based Usage Limit (optional)
133 // Opaque Data (optional)
135 // SharedResourceID (optional)