MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / UnmarshalDocumentFromFeed

Function UnmarshalDocumentFromFeed

db/document.go:603–616  ·  view source on GitHub ↗
(ctx context.Context, docid string, cas uint64, data []byte, dataType uint8, userXattrKey string)

Source from the content-addressed store, hash-verified

601}
602
603func UnmarshalDocumentFromFeed(ctx context.Context, docid string, cas uint64, data []byte, dataType uint8, userXattrKey string) (doc *Document, err error) {
604 if dataType&base.MemcachedDataTypeXattr == 0 {
605 return unmarshalDocument(docid, data)
606 }
607 xattrKeys := []string{base.SyncXattrName}
608 if userXattrKey != "" {
609 xattrKeys = append(xattrKeys, userXattrKey)
610 }
611 body, xattrs, err := sgbucket.DecodeValueWithXattrs(xattrKeys, data)
612 if err != nil {
613 return nil, err
614 }
615 return unmarshalDocumentWithXattrs(ctx, docid, body, xattrs[base.SyncXattrName], xattrs[base.VvXattrName], xattrs[base.MouXattrName], xattrs[userXattrKey], xattrs[base.VirtualXattrRevSeqNo], nil, cas, DocUnmarshalAll)
616}
617
618func (doc *SyncData) HasValidSyncData() bool {
619

Callers

nothing calls this directly

Calls 2

unmarshalDocumentFunction · 0.85

Tested by

no test coverage detected