Check out the new USENIX Web site. next up previous
Next: Towards a unified language Up: Discussion Previous: Discussion

Application-defined filters

We promote the expression of subscription patterns as a combination of instances of our predefined condition classes. An alternative to this consists in allowing the application to provide directly its own static filter objects (byte code). Patterns expressed this way are however opaque and not necessarily correct nor safe, and make optimizations difficult.

Nevertheless, we have opted for an open design, i.e., separation of interfaces and classes (e.g., Accessor/Invoke) vs conditions and accessors as final classes. This enables the extension of our subscription API with application-defined accessors and conditions. Our proposed optimizations can still be enforced by following certain design guidelines.

Patrick Eugster