Hi Alan,
On Wed, May 3, 2017 at 9:03 AM, Alan Bateman <[email protected]> wrote: > On 03/05/2017 07:43, Thomas Stüfe wrote: > > Hi all, >> >> I wonder why the sources of the transport libraries are located in >> different places: >> >> jdk/src/jdk.jdwp.agent/share/native/libdt_socket >> jdk/src/jdk.jdi/share/native/libdt_shmem >> >> Is there a particular reason to this? >> >> Seeing as they both are implementations of the jdwp sp interface, I would >> have expected them to be located side by side? >> >> jdk.jdwp.agent is the backend/debuggee side so it has the JDWP agent and > should contain the transport libraries used by the JDWP agent. > > jdk.jdi is the frontend/debugger side so it has the JDI API and the > connector and transport services that JDI uses. > > For the shared memory transport then it should ideally be split so that a > reduced libdt_shmem is in jdk.jdwp.agent and the JDI side is is jdk.jdi. > Refactoring is needed to do this right and just hasn't been a priority. > > And for the socket transport, it is not needed at the jdi side because there the socket transport is reimplemented in pure java? > BTW: Having it in jdk.jdi isn't actually too bad because the shared memory > transport is local (debugger and debuggee on the same machine). Also it > tends to be used by the launching connector which is in jdk.jdi. thank you for clarifying! Thanks, Thomas > > > -Alan >
