[jbosscache-commits] JBoss Cache SVN: r6484 - core/trunk/src/main/java/org/jboss/cache/marshall.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Sat Aug 2 11:33:40 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-08-02 11:33:40 -0400 (Sat, 02 Aug 2008)
New Revision: 6484

Modified:
   core/trunk/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java
   core/trunk/src/main/java/org/jboss/cache/marshall/CommandAwareRpcDispatcher.java
   core/trunk/src/main/java/org/jboss/cache/marshall/Marshaller.java
   core/trunk/src/main/java/org/jboss/cache/marshall/VersionAwareMarshaller.java
Log:
Updated to use new JGroups Marshaller2 interface and Buffer class instead of byte arrays

Modified: core/trunk/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java	2008-08-02 15:33:04 UTC (rev 6483)
+++ core/trunk/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java	2008-08-02 15:33:40 UTC (rev 6484)
@@ -36,6 +36,7 @@
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jgroups.util.Buffer;
 
 import java.io.InputStream;
 import java.io.ObjectInputStream;
@@ -92,11 +93,21 @@
       throw new RuntimeException("Needs to be overridden!");
    }
 
+   public Buffer objectToBuffer(Object o) throws Exception
+   {
+      throw new RuntimeException("Needs to be overridden!");
+   }
+
    public Object objectFromByteBuffer(byte[] bytes) throws Exception
    {
       throw new RuntimeException("Needs to be overridden!");
    }
 
+   public Object objectFromByteBuffer(byte[] bytes, int offset, int len) throws Exception
+   {
+      throw new RuntimeException("Needs to be overridden!");
+   }
+
    public Object objectFromStream(InputStream in) throws Exception
    {
       throw new RuntimeException("Needs to be overridden!");

Modified: core/trunk/src/main/java/org/jboss/cache/marshall/CommandAwareRpcDispatcher.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/marshall/CommandAwareRpcDispatcher.java	2008-08-02 15:33:04 UTC (rev 6483)
+++ core/trunk/src/main/java/org/jboss/cache/marshall/CommandAwareRpcDispatcher.java	2008-08-02 15:33:40 UTC (rev 6484)
@@ -17,6 +17,7 @@
 import org.jgroups.blocks.GroupRequest;
 import org.jgroups.blocks.RpcDispatcher;
 import org.jgroups.blocks.RspFilter;
+import org.jgroups.util.Buffer;
 import org.jgroups.util.Rsp;
 import org.jgroups.util.RspList;
 
@@ -82,19 +83,19 @@
          log.trace(new StringBuilder("dests=").append(dests).append(", command=").append(command).
                append(", mode=").append(mode).append(", timeout=").append(timeout));
 
-      byte[] buf;
+      Buffer buf;
       try
       {
-         buf = req_marshaller.objectToByteBuffer(command);
+         buf = req_marshaller.objectToBuffer(command);
       }
       catch (Exception e)
       {
-         throw new RuntimeException("failure to marshal argument(s)", e);
+         throw new RuntimeException("Failure to marshal argument(s)", e);
       }
 
-      Message msg = new Message(null, null, buf);
-      if (oob)
-         msg.setFlag(Message.OOB);
+      Message msg = new Message();
+      msg.setBuffer(buf);
+      if (oob) msg.setFlag(Message.OOB);
       RspList retval = super.castMessage(dests, msg, mode, timeout, use_anycasting, filter);
       if (trace) log.trace("responses: " + retval);
 
@@ -131,7 +132,7 @@
       {
          try
          {
-            return executeCommand((ReplicableCommand) req_marshaller.objectFromByteBuffer(req.getBuffer()), req);
+            return executeCommand((ReplicableCommand) req_marshaller.objectFromByteBuffer(req.getBuffer(), req.getOffset(), req.getLength()), req);
          }
          catch (Throwable x)
          {

Modified: core/trunk/src/main/java/org/jboss/cache/marshall/Marshaller.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/marshall/Marshaller.java	2008-08-02 15:33:04 UTC (rev 6483)
+++ core/trunk/src/main/java/org/jboss/cache/marshall/Marshaller.java	2008-08-02 15:33:40 UTC (rev 6484)
@@ -31,7 +31,7 @@
  * @author <a href="mailto://manik@jboss.org">Manik Surtani</a>
  * @since 2.0.0
  */
-public interface Marshaller extends RpcDispatcher.Marshaller
+public interface Marshaller extends RpcDispatcher.Marshaller2
 {
    /**
     * Marshalls an object to a given {@link ObjectOutputStream}

Modified: core/trunk/src/main/java/org/jboss/cache/marshall/VersionAwareMarshaller.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/marshall/VersionAwareMarshaller.java	2008-08-02 15:33:04 UTC (rev 6483)
+++ core/trunk/src/main/java/org/jboss/cache/marshall/VersionAwareMarshaller.java	2008-08-02 15:33:40 UTC (rev 6484)
@@ -12,11 +12,12 @@
 import org.jboss.cache.factories.ComponentRegistry;
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.Start;
+import org.jboss.cache.util.ExposedByteArrayOutputStream;
 import org.jboss.cache.util.Util;
 import org.jboss.util.stream.MarshalledValueInputStream;
+import org.jgroups.util.Buffer;
 
 import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
@@ -151,9 +152,9 @@
    }
 
    @Override
-   public byte[] objectToByteBuffer(Object obj) throws Exception
+   public Buffer objectToBuffer(Object obj) throws Exception
    {
-      ByteArrayOutputStream baos = new ByteArrayOutputStream();
+      ExposedByteArrayOutputStream baos = new ExposedByteArrayOutputStream();
       ObjectOutputStream out = new ObjectOutputStream(baos);
 
       out.writeShort(versionInt);
@@ -164,15 +165,15 @@
       out.close();
 
       // and return bytes.
-      return baos.toByteArray();
+      return new Buffer(baos.toByteArray(), 0, baos.size());
    }
 
    @Override
-   public Object objectFromByteBuffer(byte[] buf) throws Exception
+   public Object objectFromByteBuffer(byte[] bytes, int offset, int len) throws Exception
    {
       Marshaller marshaller;
       int versionId;
-      ObjectInputStream in = new MarshalledValueInputStream(new ByteArrayInputStream(buf));
+      ObjectInputStream in = new MarshalledValueInputStream(new ByteArrayInputStream(bytes, offset, len));
 
       try
       {




More information about the jbosscache-commits mailing list