OC Library Features and Analysis
From OPeNDAP Documentation
Questions
How do you build the Getdata* structure? That is, wehn you call makegetdata(), how do you build the OCnode* target structure?
How do the startp, countp, stridep parameters fit into the overall pattern of DAP's constraint expressions? For example, lots of DAP things are not arrays.
Once you get a Getdata* structure, how do you get the data out?
Constraint expressions
Data/metadata retrieval
Features
Features likely needed by any general C-language client-side API for DAP
features already implemented in oc
- get variables (primitive types)
- get array varaibles (of primitive types)
- get attributes
features that can be implemented with little effort
little means using the current library's structure and some more code
- make print representations for all responses (DAS, DDS, DataDDS)
- http authentication support
- SSL suport
- cookie support
- .dodsrc support (read and write)
- compression support
- testing - write automated tests
- nightly builds
- automated build (autoconf, make, libtool)
- more typical API (open, read, close all based on an opaque parameter - object - and C's existing data types)
features that will be hard to implement
hard means extending the existing library's structure/implementation
- get structures (flat and nested)
- get sequences (flat and nested)
- get grids
- get arrays of constructor types
- parse XML(DDX, DataDDX*)
- shared dimensions*
- groups*
- allow constraints for the DDS
- allow constraints for the DataDDS (e.g., lat or lon or lat and lon togther)
- DAP 3.x protocol version negotiation