]
Bela Ban updated JGRP-809:
--------------------------
Fix Version/s: 3.1
(was: 3.0)
Copyless stack
--------------
Key: JGRP-809
URL:
https://issues.jboss.org/browse/JGRP-809
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.1
Currently (as of 2.7), the transport reads the contents of a received packet into a
buffer, then passes a *copy* of the buffer to a thread from the OOB or incoming thread
pools. To prevent this copy, we can
- have the receiver read only the version and OOB flag (to see which thread pool to
dispatch the packet to)
- pass a ref to the socket to a thread from the incoming of OOB pool, have that thread
read the packet and return
- each thread in the pool has its own buffer into which the buffer is read from the
socket
Possibly use NIO: we can install a selector and get woken up whenever data to be read is
present. At that point, we can pass the ref to the socket to the handler thread and return
immediately. NIO with channels for multicast sockets is available only in JDK 7 (or 8?),
so this is a bit off... However, we can already implement this with reading the version
and flags bytes and then passing the socket to the handler
--
This message is automatically generated by JIRA.
For more information on JIRA, see: