// Path: comm-library/src/node/NodeListEntry.java
// public class NodeListEntry extends Object implements Serializable {
// 	private static final long serialVersionUID = -1638892096321023484L;
// 	
// 	// the IP
// 	public String ip;
// 	// the port
// 	public int port;
// 	// sub-network label for second-tier nodes
// 	public String subnetLabel;
// 	// timestamp indicating last valid connection
// 	public Timestamp timestamp;
// 
// 	public NodeListEntry(String _ip, int _port, String _subnetLabel, Timestamp _timestamp) {
// 		ip = _ip;
// 		port = _port;
// 		subnetLabel = _subnetLabel;
// 		timestamp = _timestamp;
// 	}
// 
// 	// can ignore socket for equals method
// 	public boolean equals(NodeListEntry other) {
// 		return ((ip.equals(other.ip)) && (port == other.port) && (timestamp
// 				.compareTo(other.timestamp) == 0) && (subnetLabel.equals(other.subnetLabel)));
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return ip + ":" + Integer.toString(port) + "--" + subnetLabel + "--" + timestamp.toString();
// 	}
// }


import node.NodeListEntry;
/**
 * Copyright (c) 2012 Evolutionary Design and Optimization Group
 * 
 * Licensed under the MIT License.
 * 
 * See the "LICENSE" file for a copy of the license.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.  
 *
 */
package network;


/**
 * Simple class to provide metadata about messages.
 * 
 * @author Owen Derby
 * 
 * @param <T>
 *            type of message to wrap
 */
public class MessageWrapper<T extends AbstractMessage> {

	public final T msg;
	public final String destID;
	public final NodeListEntry nle;
	
// Path: comm-library/src/node/NodeListEntry.java
// public class NodeListEntry extends Object implements Serializable {
// 	private static final long serialVersionUID = -1638892096321023484L;
// 	
// 	// the IP
// 	public String ip;
// 	// the port
// 	public int port;
// 	// sub-network label for second-tier nodes
// 	public String subnetLabel;
// 	// timestamp indicating last valid connection
// 	public Timestamp timestamp;
// 
// 	public NodeListEntry(String _ip, int _port, String _subnetLabel, Timestamp _timestamp) {
// 		ip = _ip;
// 		port = _port;
// 		subnetLabel = _subnetLabel;
// 		timestamp = _timestamp;
// 	}
// 
// 	// can ignore socket for equals method
// 	public boolean equals(NodeListEntry other) {
// 		return ((ip.equals(other.ip)) && (port == other.port) && (timestamp
// 				.compareTo(other.timestamp) == 0) && (subnetLabel.equals(other.subnetLabel)));
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return ip + ":" + Integer.toString(port) + "--" + subnetLabel + "--" + timestamp.toString();
// 	}
// }


// Path: comm-library/src/network/MessageWrapper.java
import node.NodeListEntry;

/**
 * Copyright (c) 2012 Evolutionary Design and Optimization Group
 * 
 * Licensed under the MIT License.
 * 
 * See the "LICENSE" file for a copy of the license.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.  
 *
 */
package network;


/**
 * Simple class to provide metadata about messages.
 * 
 * @author Owen Derby
 * 
 * @param <T>
 *            type of message to wrap
 */
public class MessageWrapper<T extends AbstractMessage> {

	public final T msg;
	public final String destID;
	public final NodeListEntry nle;
	
	public MessageWrapper(T m, String _destID, NodeListEntry _nle) {