Libdap refactor: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
No edit summary
Line 12: Line 12:
* XDRFileMarshaller - We can remove this  
* XDRFileMarshaller - We can remove this  
* XDRFileUnMarshaller - We can remove this once we have an XDRStreamUnMarshaller and...
* XDRFileUnMarshaller - We can remove this once we have an XDRStreamUnMarshaller and...
* Look at Response, HTTPResponse, and see how they use FILE*. Can this be changes to an ostream easily. More of a refactor...
* Look at Response, HTTPResponse, and see how they use FILE*. Can this be changed to an ostream easily? More of a refactor... <font color="red">Well, no, not easily. Teh problem is that the flex-based scanners all use FILE*s to read data and those buffer their reads. This complicates things a bit. Instead of a single thing to change, look below at the ''libcurl'' section</font>


== libdap code/features to refactor ==
== libdap code/features to refactor ==

Revision as of 22:34, 22 September 2009

libdap code/features to remove

  • In DODSFilter
    • Remove 'COMPRESSION_FOR_SERVER3' code
    • Remove the FILE* methods - this will break some of the older 'cgi handlers' but those should be removed anyway
    • CGI processing code in general - how much of this is being used at all?
    • read_ancillary_das() methods - replace with direct calls to Ancillary?
    • Look at the DODSFilter unit tests to make sure that some of the CGI code is not used there.
  • cgi-util.cc
    • Remove the FILE* functions and/or replace with ostream ones if those are not already there.
  • AIS - remove completely Done
  • XDRFileMarshaller - We can remove this
  • XDRFileUnMarshaller - We can remove this once we have an XDRStreamUnMarshaller and...
  • Look at Response, HTTPResponse, and see how they use FILE*. Can this be changed to an ostream easily? More of a refactor... Well, no, not easily. Teh problem is that the flex-based scanners all use FILE*s to read data and those buffer their reads. This complicates things a bit. Instead of a single thing to change, look below at the libcurl section

libdap code/features to refactor

  • We need a XDRStreamUnMarshaller - this will let me remove lots of the FILE* code.
  • Change HTTPConnect so that it works with data in memory when possible