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