[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [dsdp-tm-dev] TCF Subsystem development
|
Hello Brian,
I haven't seen any bugzilla's regarding this issue... is it
resolved by now or are you
going to file some bugzilla's ?
Cheers,
--
Martin Oberhuber, Senior Member of Technical
Staff, Wind River
Target Management Project
Lead, DSDP PMC Member
Hi Brian,
TCF/RSE integration plug-in (org.eclipse.tm.tcf.rse)
certainly can be improved. As I understand, you want to re-use the code for a
new RSE subsystem, but, in fact, the code is not even designed to be
reusable - it has no public APIs, all packages are
internal.
Making it re-usable is good idea. I think the best way to
do it is to create bugzilla entry, preferably with a patch
:-)
As for cleanup issues, please, keep in mind that TCF is
not part of RSE, it was not designed for exclusive use by RSE, and it is based
on different design principals, like event driven vs multithreading. So, some
misalignment between TCF and RSE is expected. I don't consider it to be an
issue. And TCF/RSE integration plug-in would be the best place for any
code that alleviates this misalignment (wrappers,
etc).
Eugene
I'm working on
adding a new service using TCF to explore the windows on a target and run into
an issue and have a couple of requests for cleanup. I'm trying
to figure out how to connect things up between TCF and the
RSE. I did find the example
org.eclipse.tm.tcf.examples.daytime, and from it I see how to register a
ChannelOpenListener and get notified when a channel opens. But what I'm
trying to do is create a new RSE Subsystem. I see that
TCFConnectorServiceManager.getConnectorService can be used to get a
TCFConnectorService for a particular IHost. I use getConnectorService in
my implementation of ISubSystemConfiguration to get a connector
service. But what I don't see is how to get the IChannel for a
particular IHost? TCFConnectorService manages this but I don't see a way
to get it out. I've added a method "getChannel" in a local copy of
TCFConnectorService, but am looking to see if there is an official way to do
this (or if I should just file something into
bugzilla)?
A cleanup issue is
that both TCF and RSE have a different concept of Service, and in fact have
different interfaces IService. This isn't wrong, but it is confusing to
have two different design elements with the same name.
Another cleanup
issue is that it appears that the constructor for class Command (which issues
an channel.send) has to be executed on the Protocol thread. This forces
some awkward code if you want to get the IToken for a command in any other
thread--you're pretty much forced to do a Protocol.invokeAndWait all over and
this seems like an opportunity for improvement. I've implemented a
WrapperChannel class which hides the invokeAndWait, but it would be great to
get the IToken on any thread.
-Brian
Nettleton
Wind River
Systems