Initial commit
diff --git a/src/main/java/com/intel/jndn/utils/ClientObservableEvent.java b/src/main/java/com/intel/jndn/utils/ClientObservableEvent.java
new file mode 100644
index 0000000..7102f93
--- /dev/null
+++ b/src/main/java/com/intel/jndn/utils/ClientObservableEvent.java
@@ -0,0 +1,61 @@
+/*
+ * File name: ClientObservableEvent.java
+ *
+ * Purpose:
+ *
+ * © Copyright Intel Corporation. All rights reserved.
+ * Intel Corporation, 2200 Mission College Boulevard,
+ * Santa Clara, CA 95052-8119, USA
+ */
+package com.intel.jndn.utils;
+
+/**
+ *
+ * @author Andrew Brown <andrew.brown@intel.com>
+ */
+public class ClientObservableEvent<T> {
+
+ boolean success;
+ long timestamp;
+ T packet;
+
+ public ClientObservableEvent(T packet) {
+ fromPacket(packet);
+ }
+
+ public ClientObservableEvent() {
+ timestamp = System.currentTimeMillis();
+ success = false;
+ }
+
+ public final void fromPacket(T packet_){
+ timestamp = System.currentTimeMillis();
+ success = !Exception.class.isInstance(packet_);
+ packet = packet_;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public long getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(long timestamp) {
+ this.timestamp = timestamp;
+ }
+
+ public T getPacket() {
+ return packet;
+ }
+
+ public void setPacket(T packet) {
+ this.packet = packet;
+ }
+
+}