MCPcopy Index your code
hub / github.com/WICG/webpackage / writeSectionOffsets

Function writeSectionOffsets

go/bundle/encoder.go:515–535  ·  view source on GitHub ↗

https://wicg.github.io/webpackage/draft-yasskin-dispatch-bundled-exchanges.html#load-metadata Steps 3-7.

(w io.Writer, sections []section)

Source from the content-addressed store, hash-verified

513// https://wicg.github.io/webpackage/draft-yasskin-dispatch-bundled-exchanges.html#load-metadata
514// Steps 3-7.
515func writeSectionOffsets(w io.Writer, sections []section) error {
516 var b bytes.Buffer
517 nenc := cbor.NewEncoder(&b)
518 if err := nenc.EncodeArrayHeader(len(sections) * 2); err != nil {
519 return err
520 }
521 for _, s := range sections {
522 if err := nenc.EncodeTextString(s.Name()); err != nil {
523 return err
524 }
525 if err := nenc.EncodeUint(uint64(s.Len())); err != nil {
526 return err
527 }
528 }
529
530 enc := cbor.NewEncoder(w)
531 if err := enc.EncodeByteString(b.Bytes()); err != nil {
532 return err
533 }
534 return nil
535}
536
537func writeSectionHeader(w io.Writer, numSections int) error {
538 enc := cbor.NewEncoder(w)

Callers 1

WriteToMethod · 0.85

Calls 7

EncodeArrayHeaderMethod · 0.95
EncodeTextStringMethod · 0.95
EncodeUintMethod · 0.95
EncodeByteStringMethod · 0.95
NewEncoderFunction · 0.92
NameMethod · 0.65
LenMethod · 0.65

Tested by

no test coverage detected