org.opendaylight.protocol.pcep.pcc.mock.PCCTunnel Maven / Gradle / Ivy
/*
* Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.protocol.pcep.pcc.mock;
import io.netty.util.Timeout;
import org.opendaylight.protocol.pcep.pcc.mock.api.LspType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.pcrpt.message.pcrpt.message.reports.Path;
final class PCCTunnel {
private final byte[] pathName;
private final LspType type;
private int delegationHolder;
private Path lspState;
private Timeout redelegationTimeout;
private Timeout stateTimeout;
PCCTunnel(final byte[] pathName, final int delegationHolder, final LspType type, final Path lspState) {
if (pathName != null) {
this.pathName = pathName.clone();
} else {
this.pathName = null;
}
this.delegationHolder = delegationHolder;
this.type = type;
this.lspState = lspState;
}
public byte[] getPathName() {
return this.pathName;
}
public int getDelegationHolder() {
return this.delegationHolder;
}
public void setDelegationHolder(final int delegationHolder) {
this.delegationHolder = delegationHolder;
}
public LspType getType() {
return this.type;
}
public Path getLspState() {
return this.lspState;
}
public void setLspState(final Path lspState) {
this.lspState = lspState;
}
public void setRedelegationTimeout(final Timeout redelegationTimeout) {
this.redelegationTimeout = redelegationTimeout;
}
public void setStateTimeout(final Timeout stateTimeout) {
this.stateTimeout = stateTimeout;
}
public void cancelTimeouts() {
if (this.redelegationTimeout != null) {
this.redelegationTimeout.cancel();
}
if (this.stateTimeout != null) {
this.stateTimeout.cancel();
}
}
}