[jboss-jira] [JBoss JIRA] Commented: (JGRP-796) RpcDispatcher.Marshaller: use Buffer instead of byte[]
Bela Ban (JIRA)
jira-events at lists.jboss.org
Mon Jul 21 10:06:32 EDT 2008
[ https://jira.jboss.org/jira/browse/JGRP-796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12422011#action_12422011 ]
Bela Ban commented on JGRP-796:
-------------------------------
Actually, this *is* useful when the underlying byte[] buffer is NOT reused, e.g.
ExposedByteArrayOutputStream output=new ExposedByteArrayOutputStream(512);
DataOutputStream out=new DataOutputStream(output);
out.writeBoolean(msg != null);
if(msg != null)
msg.writeTo(out);
out.flush();
Buffer retval=new Buffer(output.getRawBuffer(), 0, output.size());
out.close();
output.close();
Message xmit_msg=new Message(dest, null, buf.getBuf(), buf.getOffset(), buf.getLength());
xmit_msg.putHeader(name, new NakAckHeader(NakAckHeader.XMIT_RSP, seqno));
down_prot.down(new Event(Event.MSG, xmit_msg));
In this case, we avoid copying the byte[] buffer by calling ByteArrayOutputStream.toByteArray() and using an ExposedByteArrayOutputStream.
BUT: we need to be guaranteed by the caller that he won't change the underlying byte[] buffer EVER !
> RpcDispatcher.Marshaller: use Buffer instead of byte[]
> ------------------------------------------------------
>
> Key: JGRP-796
> URL: https://jira.jboss.org/jira/browse/JGRP-796
> Project: JGroups
> Issue Type: Task
> Reporter: Bela Ban
> Assignee: Bela Ban
> Priority: Minor
> Fix For: 2.7
>
>
> A Buffer allows us to pass in byte[] arrays with a different offset and length; more flexible. Maybe create a Marshaller2 (extending Marshaller)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list