[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] EDC and asynchronous operations
|
I've created
https://bugs.eclipse.org/bugs/show_bug.cgi?id=328417
to track discussions and work on this matter.
John
At 03:42 PM 10/11/2010, ken.ryall@xxxxxxxxx wrote:
Content-Language: en-US
Content-Type: multipart/alternative;
boundary="_000_C8D8E10229ECDkenryallnokiacom_"
John,
Glad you brought this up, it is an area in EDC that needs some review and
probably some re-work. Everything should work asynchronously if possible
but in some cases, like implementing the stack service, making a series
of synchronous calls is really useful. ACPM looks promising for this, but
I havent had the opportunity to review 310345 yet. I would like to
try this out and clean things up for Indigo.
The implementation of
org.eclipse.cdt.debug.edc.services.Registers.getRegisterValue(RegisterDMC,
DataRequestMonitor<String>),
doesnt make much sense to me either, it should certainly be
redone.
- Ken
From: ext John Cortell
<rat042@xxxxxxxxxxxxx>
Reply-To: "CDT General developers list."
<cdt-dev@xxxxxxxxxxx>
Date: Mon, 11 Oct 2010 22:01:49 +0200
To: "CDT General developers list."
<cdt-dev@xxxxxxxxxxx>
Subject: [cdt-dev] EDC and asynchronous operations
Ken,
Can you speak to the synchronous implementations EDC has for asynchronous
DSF services. E.g., EDC's implementations of, e.g.,
- IStack.getFrames(IDMContext,
DataRequestMonitor<IFrameDMContext[]>)
- IStack.getLocals(IFrameDMContext,
DataRequestMonitor<IVariableDMContext[]>)
synchronously gather the data from the TCF backend, which seems to
defeat the asynchronous nature of DSF. I.e., the DSF executor thread is
tied up during the entire time EDC is pulling together the stack crawl
(or local variables) through a series of low-level TCF calls (reading
registers and memory). The current implementation reduces asycnhronous
calls to synchronous ones at both the DSF boundary and the TCF
one.
Should we not instead be looking at ACPM, taking Pawel's prototype work
as a starting point
https://bugs.eclipse.org/bugs/show_bug.cgi?id=310345
Additionally, I see the watering down of aync calls to sync ones even
where it doesn't seem to simplify things. Eg., in
org.eclipse.cdt.debug.edc.services.Registers.getRegisterValue(RegisterDMC,
DataRequestMonitor<String>),
the call is given a request monitor, but the implementation calls TCF
synchronously and waits an arbitrary 15 seconds for the response to
return.
John
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev