| Summary: | Re-implement user region using framework hooks instead of nested framework | ||
|---|---|---|---|
| Product: | [RT] Virgo | Reporter: | Glyn Normington <glyn.normington> |
| Component: | unknown | Assignee: | Glyn Normington <glyn.normington> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | tjwatson |
| Version: | 2.1.0.RELEASE | ||
| Target Milestone: | 3.0.0.M01 | ||
| Hardware: | PC | ||
| OS: | Mac OS X - Carbon (unsup.) | ||
| Whiteboard: | |||
| Bug Depends on: | 330236, 332650, 332771, 333071, 333189, 333193, 333667 | ||
| Bug Blocks: | 333646 | ||
|
Description
Glyn Normington
Note that the surrogate bundle will disappear. This is referenced, e.g. in AbstractDeployerIntegrationTest.setUp and these references will need fixing. See bug 169603 for the possibility of moving the Equinox console out of the framework which could then allow Virgo to install it in the user region. The current prototype is on kernel branch bug330776-framework-hooks. A proper "connected regions" API in draft form is now pushed and described in the regions design document available in the documentation repository in the design-docs/regions directory. Notes on manageing shrinkable collections The following ideas may be implemented if and when performance requires it. * Track the allowed candidates as we traverse the digraph. * Keep a working set of candidates primed from the input shrinkable collection. * Remove allowed candidates from the working set of candidates as these are never going to be removed from the shrinkable collection. * If the working set of candidates becomes empty, we can stop the search and return from the hook as the whole shrinkable collection is allowed by the hook. This will favour intra-region finds etc. which should be commonplace. * On the last edge at depth 0 (e.g. the last edge from the starting region of the search in the case of find hooks), if a candidate is removed from the working set of candidates, it can also be removed from the shrinkable collection. This will favour the commonly expected types of digraph with most regions connected to one other region, except for the kernel. Note that the region support will need to recompiled when the implementation of bug 334574 is picked up in an Equinox driver. |