On 19 Mar 2013, at 20:58, Dan Berindei wrote:
> * Marshalling happens in the async thread (the same one that puts the message on the
wire) rather than in the caller's thread
my understanding is that there's no such additional thread, but caller's thread
goes to the network stack even for async calls. I think Bela can put some light on this.
If you use bundling, the bundler thread writes the bytes to the socket, not the
caller's thread. TCP also uses a special sender thread for each connection, if
use_sender_queues=true (the default).
right. But the bundeler would need to know the
serialized form in order to calculate the size...
> * sendMessage() should accept a marshaller and unmarshaller per invocation
There is a org.jgroups.Buffer that we pass to the org.jgroups.Message we send across,
another, less intrusive way would be to write a lazy wrapper around it.
Still, FRAG2 needs the actual bytes of the message, and that's a long time before the
message gets passed to the bundler thread.
so the message needs to be serizlized in
the caller's thread for either the bundler or FRAG2
Cheers
Dan
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
Cheers,
--
Mircea Markus
Infinispan lead (
www.infinispan.org)