/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.communication.routing.internal.v2;
import de.rcenvironment.core.communication.transport.spi.MessageChannel;
import de.rcenvironment.core.utils.common.StringUtils;
/**
* Represents a "link" in the Link State Routing terminology. Internally, this is equivalent to an
* established outgoing {@link MessageChannel}. This class is immutable.
*
* @author Robert Mischke
*/
public final class Link {
private final String linkId;
private final String nodeId; // an InstanceNodeSessionId
/**
* @param linkId the value of {@link MessageChannel#getChannelId()}; named "link id" to match
* the LSA concept
* @param nodeIdString the {@link InstanceNodeSessionId} string of the destination node
*/
public Link(String linkId, String nodeIdString) {
this.linkId = linkId;
this.nodeId = nodeIdString;
}
/**
* @return the value of {@link MessageChannel#getChannelId()}; named "link id" to match the LSA
* concept
*/
public String getLinkId() {
return linkId;
}
public String getNodeIdString() {
return nodeId;
}
@Override
public String toString() {
return StringUtils.format("Link(%s)->%s", linkId, nodeId);
}
}