RZ

01: // DemandReconstituter.hh # the actual synthesize algorithm
02: 
03: #ifndef _DemandReconstituter_HH
04: #define _DemandReconstituter_HH 1
05: 
06: #include <vector>
07: 
08: #include "DemandMediator.hh"
09: 
10: // ######## ######## ######## ######## ######## ######## ######## ########
11: 
12: // public package variables (read or write once)
13: //   $rzwrapper  - everything you need to know about the concentrated file
14: //   @rzbuf      - remote block stream
15: //   @scbuf      - local block stream
16: 
17: // public filehandles
18: //   RECONSTITUTED  - tempfile holds ultimate output
19: //   WORKER         - (for private and select loop use only) |- opened subproc
20: 
21: // public subroutines (other than select loop routines)
22: //   workerclose()
23: //   isneed()
24: //   advancepointer()
25: //   assurefinished()
26: 
27: namespace DemandReconstituter {
28:     extern struct RZ::Worker WORKER;
29: 
30:     extern std::vector< char > rz_wrapper_buf;
31:     extern std::vector< std::vector< char > >::iterator rz_buf, sc_buf;
32: 
33:     bool is_need(void);
34:     void advance_pointer(void);
35: 
36:     void worker_close(void);
37:     void assure_finished(void);
38: 
39:     bool is_pending(void);
40:     void select_processing(void);
41: 
42:     void require(void);
43: }
44: 
45: // DemandReconstituter.hh # the actual synthesize algorithm
46: 
47: #endif