MCPcopy Create free account
hub / github.com/ethstorage/es-node / writeHeader

Method writeHeader

ethstorage/data_file.go:230–283  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

228}
229
230func (df *DataFile) writeHeader() error {
231 header := DataFileHeader{
232 magic: MAGIC,
233 version: VERSION,
234 chunkIdxStart: df.chunkIdxStart,
235 chunkIdxLen: df.chunkIdxLen,
236 encodeType: df.encodeType,
237 maxKvSize: df.maxKvSize,
238 chunkSize: df.chunkSize,
239 metaSize: df.metaSize,
240 miner: df.miner,
241 status: 0,
242 }
243
244 buf := new(bytes.Buffer)
245 if err := binary.Write(buf, binary.BigEndian, header.magic); err != nil {
246 return err
247 }
248 if err := binary.Write(buf, binary.BigEndian, header.version); err != nil {
249 return err
250 }
251 if err := binary.Write(buf, binary.BigEndian, header.chunkIdxStart); err != nil {
252 return err
253 }
254 if err := binary.Write(buf, binary.BigEndian, header.chunkIdxLen); err != nil {
255 return err
256 }
257 if err := binary.Write(buf, binary.BigEndian, header.encodeType); err != nil {
258 return err
259 }
260 if err := binary.Write(buf, binary.BigEndian, header.maxKvSize); err != nil {
261 return err
262 }
263 if err := binary.Write(buf, binary.BigEndian, header.chunkSize); err != nil {
264 return err
265 }
266 if err := binary.Write(buf, binary.BigEndian, header.metaSize); err != nil {
267 return err
268 }
269 n, err := buf.Write(header.miner[:])
270 if err != nil {
271 return err
272 }
273 if n != len(header.miner) {
274 return fmt.Errorf("short write for header.miner, n=%d", n)
275 }
276 if err := binary.Write(buf, binary.BigEndian, header.status); err != nil {
277 return err
278 }
279 if _, err := df.file.WriteAt(buf.Bytes(), 0); err != nil {
280 return err
281 }
282 return nil
283}
284
285func (df *DataFile) readHeader() error {
286 header := DataFileHeader{}

Callers 1

CreateFunction · 0.95

Calls 1

WriteMethod · 0.45

Tested by

no test coverage detected