File: server_struct.h

package info (click to toggle)
aces3 3.0.6-7
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 82,460 kB
  • sloc: fortran: 225,647; ansic: 20,413; cpp: 4,349; makefile: 953; sh: 137
file content (260 lines) | stat: -rw-r--r-- 9,842 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260

c------------------------------------------------------------------------------
c   Description of server_table.
c-----------------------------------------------------------------------------

      integer c_server_memloc
      integer c_server_diskloc
      integer c_server_size
      integer c_server_array
      integer c_server_nind
      integer c_server_flags
      integer c_server_busy_node
      integer c_server_file
      integer c_server_iblk
      integer c_server_bsegs
      integer c_server_esegs
      integer lserver_table_entry
      parameter (c_server_memloc    = 1)
      parameter (c_server_diskloc   = 2)
      parameter (c_server_size      = 3)
      parameter (c_server_array     = 4)
      parameter (c_server_nind      = 5)
      parameter (c_server_flags     = 6)
      parameter (c_server_busy_node = 7)
      parameter (c_server_file      = 8)
      parameter (c_server_iblk      = 9)
      parameter (c_server_bsegs     = 10)
      parameter (c_server_esegs  = c_server_bsegs + mx_array_index)
      parameter (lserver_table_entry =
     *            c_server_esegs + mx_array_index-1)

c---------------------------------------------------------------------------
c   Flags used in server data.
c---------------------------------------------------------------------------

      integer server_busy_flag
      parameter (server_busy_flag = 1)
      integer server_dirty_flag
      parameter (server_dirty_flag = 2)
      integer server_deleted_flag
      parameter (server_deleted_flag = 4)
      integer preparesum_copy_flag
      parameter (preparesum_copy_flag = 8)
      integer integral_calculation_flag
      parameter (integral_calculation_flag = 16)
      integer restore_flag
      parameter (restore_flag = 64)
      integer readonly_flag
      parameter (readonly_flag = 10101)
      integer writeonly_flag
      parameter (writeonly_flag = 20202)

c---------------------------------------------------------------------------
c   Common block used in server routines.
c---------------------------------------------------------------------------

      integer mx_server_blocksizes
      parameter (mx_server_blocksizes = 10)
      integer mx_served_arrays
      parameter (mx_served_arrays = 500)

      integer*8 base_mem_addr
      integer*8 server_table_base_addr
      integer nserver_table_entries
      integer nmessage_buffers
      integer nserver_blocksizes
      integer server_blocksizes(mx_server_blocksizes)
      integer server_unit(mx_server_blocksizes)
      integer next_server_diskloc(mx_server_blocksizes)
      integer server_mem_blocksize
      integer served_array_table, nserved_arrays
      integer served_array_status
      integer served_numblocks
      integer served_array_entry
      integer barrier_seqno
      integer barrier_count
      integer barrier_msg_count
      integer nbarrier_msgs
      integer request_buffer
      logical barrier_in_progress
      character*500 server_filename(mx_server_blocksizes)
      common /server/base_mem_addr, server_table_base_addr,
     *               nserver_table_entries, nserver_blocksizes,
     *               server_blocksizes, nmessage_buffers,
     *               server_unit, next_server_diskloc,
     *               server_mem_blocksize, server_filename,
     *               served_array_table(mx_served_arrays), 
     *               served_array_status(mx_served_arrays),
     *               served_numblocks(mx_served_arrays),
     *               served_array_entry(mx_served_arrays),
     *               nserved_arrays, barrier_seqno, barrier_count,
     *               barrier_msg_count, nbarrier_msgs,
     *               barrier_in_progress, request_buffer

c---------------------------------------------------------------------------
c   Message buffer stack
c---------------------------------------------------------------------------

      integer mx_server_msg
      parameter (mx_server_msg = 100)
      
      integer c_msg_type
      parameter (c_msg_type = 1)
      integer c_msg_array
      parameter (c_msg_array = 2)
      integer c_msg_source 
      parameter (c_msg_source = 3)
      integer c_msg_tag
      parameter (c_msg_tag = 4)
      integer c_msg_nind
      parameter (c_msg_nind = 5)
      integer c_msg_size
      parameter (c_msg_size = 6)
      integer c_msg_memptr
      parameter (c_msg_memptr = 7)
      integer c_msg_msgbuffer
      parameter (c_msg_msgbuffer = 8)
      integer c_msg_state
      parameter (c_msg_state = 9)
      integer c_msg_cause
      parameter (c_msg_cause = 10)
      integer c_msg_request
      parameter (c_msg_request = 11)
      integer c_msg_flag
      parameter (c_msg_flag = 12)
      integer c_server_list_ptr
      parameter (c_server_list_ptr = 13)
      integer c_msg_seqno
      parameter (c_msg_seqno = 14)
      integer c_msg_current_line 
      parameter (c_msg_current_line = 15)
      integer c_msg_stat_key
      parameter (c_msg_stat_key = 16)
      integer c_msg_stptr
      parameter (c_msg_stptr = 17)
      integer c_msg_iblk
      parameter (c_msg_iblk = 18)  
      integer c_msg_bsegs
      parameter (c_msg_bsegs = 19)
      integer c_msg_esegs
      parameter (c_msg_esegs = c_msg_bsegs+mx_array_index)
      integer c_msg_bsegs2
      parameter (c_msg_bsegs2 = c_msg_esegs + mx_array_index)
      integer c_msg_esegs2
      parameter (c_msg_esegs2 = c_msg_bsegs2 + mx_array_index)
      integer lserver_msg_entry
      parameter (lserver_msg_entry = c_msg_esegs2+mx_array_index-1) 

      integer server_node_ptr
      integer server_msg_node
      integer server_msg
      integer server_seqno
      integer*8 blk_to_list_offset
      integer server_work_list_head, server_work_list_tail
      common /server_messages/server_msg_node(mx_server_msg),
     *         server_node_ptr, server_seqno,
     *         server_work_list_head, server_work_list_tail,
     *         server_msg(lserver_msg_entry,mx_server_msg),
     *         blk_to_list_offset(2,mx_server_msg)

c---------------------------------------------------------------------------
c   Server memory block table
c---------------------------------------------------------------------------

      integer mx_server_memblocks
      parameter (mx_server_memblocks = 50000)
      
      integer nserver_memblocks
      integer nclean_blocks
      integer server_table_ptr
      integer ndirty, dirty_threshold, max_backup
      integer dirty_list_ptr,dirty_list_head, dirty_list_tail
      integer clean_blocks, clean_block_ptr

      common /server_memblock/nserver_memblocks, nclean_blocks,
     *      server_table_ptr(mx_server_memblocks), 
     *      dirty_list_ptr(mx_server_memblocks), dirty_list_head, 
     *      dirty_list_tail, ndirty, dirty_threshold, max_backup,
     *      clean_blocks(mx_server_memblocks), clean_block_ptr

c---------------------------------------------------------------------------
c   Server processing states
c---------------------------------------------------------------------------

      integer begin_state
      parameter (begin_state = 101)
      integer null_state
      parameter (null_state = 102)
      integer quit_state
      parameter (quit_state = 103)
      integer recv_block_state
      parameter (recv_block_state = 104)
      integer wait_for_backup_state
      parameter (wait_for_backup_state = 105)
      integer wait_for_restore_state
      parameter (wait_for_restore_state = 106)
      integer wait_for_block_state
      parameter (wait_for_block_state = 107)
      integer wait_for_send_state
      parameter (wait_for_send_state = 108)
      integer enter_backup_state
      parameter (enter_backup_state = 109)
      integer enter_restore_state
      parameter (enter_restore_state = 110)
      integer enter_backup_and_restore_state
      parameter (enter_backup_and_restore_state = 111)
      integer request_cleanup_state
      parameter (request_cleanup_state = 112)
      integer prequest_intermediate_state
      parameter (prequest_intermediate_state = 113)

      integer null_cause
      parameter (null_cause = 201)
      integer backup_agent_cause
      parameter (backup_agent_cause = 202)
      integer restore_cause
      parameter (restore_cause = 203)
      integer busy_cause
      parameter (busy_cause = 204)

      integer blocks_list_done
      parameter (blocks_list_done = 90909)
      integer list_to_blocks_done
      parameter (list_to_blocks_done = 80808)

c----------------------------------------------------------------------------
c  Tags and message types
c---------------------------------------------------------------------------

      integer server_readytag
      parameter (server_readytag = 3336)
      integer server_prepare_msgtype
      parameter (server_prepare_msgtype = 3333)
      integer server_request_msgtype
      parameter (server_request_msgtype = 3334)
      integer server_prepare_increment
      parameter (server_prepare_increment = 3340)
      integer server_quit_msgtype
      parameter (server_quit_msgtype = 3338)
      integer server_barrier_signal
      parameter (server_barrier_signal = 3341)
      integer server_stat_data_tag 
      parameter (server_stat_data_tag = 3342)
      integer server_copy_msg
      parameter (server_copy_msg = 3343)
      integer server_delete_msg
      parameter (server_delete_msg = 3344)
      integer server_prequest_msg
      parameter (server_prequest_msg = 3345)
      integer server_blocks_to_list_msg
      parameter (server_blocks_to_list_msg = 3346)
      integer server_checkpoint_msg 
      parameter (server_checkpoint_msg = 3347)
      integer server_restart_msg
      parameter (server_restart_msg = 3348)
      integer server_commit_msg
      parameter (server_commit_msg = 3349)
      integer server_list_to_blocks_msg 
      parameter (server_list_to_blocks_msg = 3350)