[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