Skip to content

Latest commit

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

1. To start a new data manager, need parameters
data_dir: the dir to store the data and metadata
format_version: the version of index and data file
size_per_index: size in byte per index
index_num_per_file: number of index per index file
max_size_data_file: maximum size per data file
data_blk_size: block size for data file
data_dir +
+ metadata [bin file] #generated by data manager
+ transid [dir] #transid for every backend
+ 0...n [dir]
+ index.0
+ data.0
metadata structrue: [format_version, size_per_index, index_num_per_file, index_file_num_per_dir,max_size_data_file, data_blk_size, need_compress], size: 2+4+4+4+8+4+2 = 28 bytes
index structrue: [transid, type_no, dir_no, file_no, data_blk_no, data_len, checksum], size: 8+4+4+4+8+4+4 = 36
data structure: [transid, checksum, raw_datapack]
format_version: 16-bits unsigned integer (S)
size_per_index: 32-bits unsigned integer (L)
index_num_per_file: 32-bits unsigned integer (L)
index_file_num_per_dir: 32-bits unsigned integer (L)
max_size_data_file: 64-bits unsigned integer (Q)
data_blk_size: 32-bits unsigned integer (L)
need_compress: 16-bits unsigned integer (S)
transid: 64-bits unsigned integer (Q)
type_no: 32-bits unsigned integer (L)
dir_no: 32-bits unsigned integer (L)
file_no: 32-bits unsigned integer (L)
data_blk_no: 64-bits unsigned integer (Q)
data_len: 32-bits unsigned integer(L)
check_sum: 32-bits unsigned integer(L) CRC check sum
NOTICE:
1. transid start from 1, 0 stands for nil

About

cm-transfer in ruby

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages