[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [eclipse-incubator-e4-dev] [resources]	File	systemlayer	requirements
 | 
Hi Martin,
Oberhuber, Martin wrote:
Good points.
 
In fact, it looks like up to now EFS has been more or less the "least 
common denominator"
of all file systems that Eclipse can run on. It looks like this needs 
to change, in order to
adapt to the capabilities that specific file systems expose.
 
FYI, I just noticed that JSR 203 ("NIO2") [1] 
<http://tech.puredanger.com/java7/#jsr203> looks like it is going to 
be added to Java 7, and is going
to include some new File system APIs -- for bulk retrieval of 
attributes, asynchronous access, and
change notifications. We might want to prepare EFS2 for those 
additional capabilities.
Although this looks (to me) like an interesting/useful addition to 
JSR-51 (i.e. the nio stuff in JRE 1.4), it looks like it might be a 
little while before it's widespread.  Further...I'm not sure of the E4 
project's target JRE/OSGi runtime version...has there been any 
discussion about such constraints?  But, in any event it does look 
useful as an addition to the new io stuff (at least partially because I 
think the nio is so hard to use).
Just for everyone's information...we (ECF) have been/are starting work 
on an ECF filetransfer provider based httpcore (i.e. httpclient 4.0) 
...which uses the nio APIs.
 
An important question for me, at this point, is how much of these 
extensions is necessary NOW
in the context of E4, and what could probably be deferred.
 
*Addition of asynchronous APIs* seems to be a rock big enough to not 
allow it in a
minor release, since it tends to bubble up all across the system as I 
have mentioned
before. *I'd like to see somebody claim ownership* of that particular 
area. To say it
bluntly, I don't think that this owner is going to be myself, since I 
envision the
Wind River usage of Eclipse mostly remain on the local file system 
("IDE" kind
of use) in the forseeable future, so our interest in asynchronous APIs 
is likely not as
high as for other contributors.
ECF is/has been/will continue to be focused on delivering both async and 
sync APIs, and does expect to be a significant contributor to E4.  At 
least that's what we've got in our plan [1].  We are able to offer 
contributions (of both existing and new work)...but only if they will be 
accepted rather than reproduced and/or reimplemented.  And although I 
would like to offer ownership, and believe we have plenty to offer, I 
don't know how much such a commitment would entail...as we have our own 
project commitments to satisfy, and relatively few resources next to E4, 
Platform, or other projects.
 
We'll need to look at other potential features 1 by 1. The Eclipse
strategy of not adding features without an existing client or use case
has proven well so far, or would anyone argue in favor of adding API
now for E4, just because "we might need it eventually"?
 
[1] http://tech.puredanger.com/java7/#jsr203
I'm of the opinion that async APIs are needed already (not only 
eventually)...otherwise what's driving the 'be more asynchronous' item 
for E4?   (I don't really know the history of that architectural 
requirement for E4).  Plus Mike's very simple local vs. distributed 
workspace use case(s).  But I do agree that a clear understanding of use 
cases for asynchrony is desirable. 
Scott
[1] http://www.eclipse.org/projects/project-plan.php?projectid=rt.ecf