MCPcopy Create free account
hub / github.com/1a1a11a/libCacheSim / binary_read_one_req

Function binary_read_one_req

libCacheSim/traceReader/generalReader/binary.c:209–249  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

207}
208
209int binary_read_one_req(reader_t *reader, request_t *req) {
210 binary_params_t *params = (binary_params_t *)reader->reader_params;
211
212 char *start = (reader->mapped_file + reader->mmap_offset);
213
214 /* read object id */
215 req->obj_id = read_data(start + params->obj_id_offset, params->obj_id_format);
216
217 /* read time */
218 if (params->time_field_idx > 0) {
219 req->clock_time =
220 read_data(start + params->time_offset, params->time_format);
221 }
222
223 /* read object size */
224 if (params->obj_size_field_idx > 0) {
225 req->obj_size =
226 read_data(start + params->obj_size_offset, params->obj_size_format);
227 }
228
229 /* read operation */
230 if (params->op_field_idx > 0) {
231 req->op = read_data(start + params->op_offset, params->op_format);
232 }
233
234#ifdef ENABLE_TTL
235 /* read ttl */
236 if (params->ttl_field_idx > 0) {
237 req->ttl = read_data(start + params->ttl_offset, params->ttl_format);
238 }
239#endif
240
241 /* read next access vtime */
242 if (params->next_access_vtime_field_idx > 0) {
243 req->next_access_vtime = read_data(start + params->next_access_vtime_offset,
244 params->next_access_vtime_format);
245 }
246
247 (reader->mmap_offset) += reader->item_size;
248 return 0;
249}
250
251#ifdef __cplusplus
252}

Callers 1

read_one_reqFunction · 0.85

Calls 1

read_dataFunction · 0.70

Tested by

no test coverage detected