Switch to OnInterestCallback
diff --git a/src/main/java/com/intel/jndn/utils/SegmentedServer.java b/src/main/java/com/intel/jndn/utils/SegmentedServer.java
index d89f445..875ca87 100644
--- a/src/main/java/com/intel/jndn/utils/SegmentedServer.java
+++ b/src/main/java/com/intel/jndn/utils/SegmentedServer.java
@@ -20,16 +20,15 @@
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.nio.ByteBuffer;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import net.named_data.jndn.Data;
 import net.named_data.jndn.Face;
 import net.named_data.jndn.Interest;
+import net.named_data.jndn.InterestFilter;
 import net.named_data.jndn.Name;
 import net.named_data.jndn.encoding.EncodingException;
-import net.named_data.jndn.transport.Transport;
 
 /**
  * Implementation of a {@link RepositoryServer} that segments packets stored in
@@ -75,7 +74,7 @@
    * {@inheritDoc}
    */
   @Override
-  public void onInterest(Name prefix, Interest interest, Transport transport, long registeredPrefixId) {
+  public void onInterest(Name prefix, Interest interest, Face face, long interestFilterId, InterestFilter filter) {
     logger.finer("Serving packet for: " + interest.toUri());
     
     if (interest.getChildSelector() == -1) {
@@ -89,10 +88,9 @@
     try {
       Data data = repository.get(interest);
       data = processPipeline(data);
-      ByteBuffer buffer = data.wireEncode().buf();
-      transport.send(buffer);
+      face.putData(data);
     } catch (Exception e) {
-      logger.log(Level.SEVERE, "Failed to find data satisfying: " + interest.toUri(), e);
+      logger.log(Level.FINE, "Failed to find data satisfying: " + interest.toUri(), e);
     }
   }
 
diff --git a/src/main/java/com/intel/jndn/utils/SimpleServer.java b/src/main/java/com/intel/jndn/utils/SimpleServer.java
index 683dd06..b983fa3 100644
--- a/src/main/java/com/intel/jndn/utils/SimpleServer.java
+++ b/src/main/java/com/intel/jndn/utils/SimpleServer.java
@@ -23,6 +23,7 @@
 import net.named_data.jndn.Data;
 import net.named_data.jndn.Face;
 import net.named_data.jndn.Interest;
+import net.named_data.jndn.InterestFilter;
 import net.named_data.jndn.Name;
 import net.named_data.jndn.transport.Transport;
 import net.named_data.jndn.util.Blob;
@@ -83,14 +84,13 @@
    * {@inheritDoc}
    */
   @Override
-  public void onInterest(Name prefix, Interest interest, Transport transport, long registeredPrefixId) {
+  public void onInterest(Name prefix, Interest interest, Face face, long interestFilterId, InterestFilter filter){
     try {
       Data data = callback.onInterest(prefix, interest);
       data = processPipeline(data);
-      ByteBuffer buffer = data.wireEncode().buf();
-      transport.send(buffer);
+      face.putData(data);
     } catch (Exception e) {
-      logger.log(Level.SEVERE, "Failed to send data for: " + interest.toUri(), e);
+      logger.log(Level.FINE, "Failed to send data for: " + interest.toUri(), e);
     }
   }
 }
diff --git a/src/main/java/com/intel/jndn/utils/server/Server.java b/src/main/java/com/intel/jndn/utils/server/Server.java
index bc5eca7..bcf7f3c 100644
--- a/src/main/java/com/intel/jndn/utils/server/Server.java
+++ b/src/main/java/com/intel/jndn/utils/server/Server.java
@@ -15,8 +15,9 @@
 
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import net.named_data.jndn.Data;
+import net.named_data.jndn.Face;
 import net.named_data.jndn.Name;
-import net.named_data.jndn.OnInterest;
+import net.named_data.jndn.OnInterestCallback;
 
 /**
  * Base interface for defining a server; see descendant interfaces for different
@@ -27,7 +28,7 @@
  *
  * @author Andrew Brown <andrew.brown@intel.com>
  */
-public interface Server extends Runnable, OnInterest {
+public interface Server extends Runnable, OnInterestCallback {
 
   /**
    * @return the {@link Name} prefix this server is serving on.