[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
RE: [dsdp-tm-dev] TCF Subsystem development
 | 
Thanks Eugene,
 
I'm not trying to make it part of RSE.  It's 
organizationally under the Target Manager so I view it as a peer of RSE.  
As such I still think it should integrate well with RSE.
 
Your email confirms what I was suspecting, that it simply 
hasn't had the effort applied to it to make it reusable yet. I'll work 
towards providing bugzilla enties and patches of whatever I get 
working.
 
-Brian
 
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