X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fpacket%2FRawPacket.java;h=590f5d923e792f03f4abc8498bd405c64e770204;hb=f3bdffc96f0c221111faeef07db2a6b975f56463;hp=d5189021830b30fb98bdf0b3390a9f86a3f1c7d4;hpb=f9348fbdc543a48ac7575b6f9498bdeb23691561;p=controller.git diff --git a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/packet/RawPacket.java b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/packet/RawPacket.java index d518902183..590f5d923e 100644 --- a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/packet/RawPacket.java +++ b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/packet/RawPacket.java @@ -24,25 +24,25 @@ import org.opendaylight.controller.sal.core.NodeConnector; import org.opendaylight.controller.sal.core.TimeStamp; /** - * + * * Describe a raw Data Packet, this is how a packet is received from the network * and how it will be transmitted. It essentially wraps the raw bytestream - * + * */ public class RawPacket { private byte[] packetData; - private LinkEncap encap; - private TimeStamp incomingTime; - private TimeStamp copyTime; - private Map props; + private final LinkEncap encap; + private final TimeStamp incomingTime; + private final TimeStamp copyTime; + private Map props; private NodeConnector incomingNodeConnector; private NodeConnector outgoingNodeConnector; /** * If the packet is being sent this parameter tells where the packet is sent * toward - * - * + * + * * @return the NodeConnector toward where the packet is being sent */ public NodeConnector getOutgoingNodeConnector() { @@ -51,7 +51,7 @@ public class RawPacket { /** * Setter method for OutGoing NodeConnector - * + * * @param outgoingNodeConnector * NodeConnector toward where the packet is travelling */ @@ -61,7 +61,7 @@ public class RawPacket { /** * Return the incoming NodeConnector if the packet was received - * + * * @return NodeConnector where the packet was received from */ public NodeConnector getIncomingNodeConnector() { @@ -70,7 +70,7 @@ public class RawPacket { /** * Setter for Incoming NodeConnector - * + * * @param incomingNodeConnector * NodeConnector to be used and incoming one */ @@ -80,10 +80,10 @@ public class RawPacket { /** * Retrieve a given property attached to the packet, if exits of course - * + * * @param key * Key to retrieve the wanted property attached to the packet - * + * * @return The property attached to the packet */ public Object getProps(Object key) { @@ -95,7 +95,7 @@ public class RawPacket { /** * Generic data associated to the data packet - * + * * @param key * key for the association * @param value @@ -103,7 +103,7 @@ public class RawPacket { */ public void setProps(Object key, Object value) { if (this.props == null) { - this.props = new HashMap(); + this.props = new HashMap(); } this.props.put(key, value); @@ -111,12 +111,12 @@ public class RawPacket { /** * Constructor for RawPacket - * + * * @param data * content of the packet as bytestream * @param e * datalink encapsulation for the packet - * + * */ public RawPacket(byte[] data, LinkEncap e) throws ConstructionException { if (data == null) { @@ -137,10 +137,10 @@ public class RawPacket { * Copy Constructor for RawPacket, it performs a copy of the packet so each * packet can be modified independently without worrying that source packet * content is touched - * + * * @param src * packet to copy data from - * + * */ public RawPacket(RawPacket src) throws ConstructionException { if (src == null) { @@ -157,25 +157,26 @@ public class RawPacket { this.incomingTime = src.getIncomingTime(); this.incomingNodeConnector = src.getIncomingNodeConnector(); this.outgoingNodeConnector = src.getOutgoingNodeConnector(); - this.props = (src.props == null ? null : new HashMap(src.props)); + this.props = (src.props == null ? null : new HashMap( + src.props)); this.copyTime = new TimeStamp(System.currentTimeMillis(), "CopyTime"); } /** * Constructor for RawPacket with Ethernet encapsulation - * + * * @param data * content of the packet as bytestream - * + * */ public RawPacket(byte[] data) throws ConstructionException { this(data, LinkEncap.ETHERNET); } /** - * Read the timestamp when the packet has entered the system - * - * @return The timestamp when the packet has entered the system + * Read the time stamp when the packet has entered the system + * + * @return The time stamp when the packet has entered the system */ public TimeStamp getIncomingTime() { return this.incomingTime; @@ -183,7 +184,7 @@ public class RawPacket { /** * Read the packet encapsulation - * + * * @return The encapsulation for the raw packet, necessary to start parsing * the packet */ @@ -193,10 +194,21 @@ public class RawPacket { /** * Get bytestream of the packet body - * + * * @return The raw bytestream composing the packet */ public byte[] getPacketData() { return this.packetData; } + + /** + * Returns the time at which the current instance of RawPacket was created + * as a copy of the original one. + * + * @return The time stamp at which this RawPacket instance was created. null + * if this is the original instance. + */ + public TimeStamp getCopyTime() { + return this.copyTime; + } }