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
>

Reply via email to