MCPcopy Create free account
hub / github.com/dagger/dagger / DecodePersistedObject

Method DecodePersistedObject

core/client_filesync_mirror.go:135–162  ·  view source on GitHub ↗
(ctx context.Context, dag *dagql.Server, resultID uint64, _ *dagql.ResultCall, payload json.RawMessage)

Source from the content-addressed store, hash-verified

133}
134
135func (*ClientFilesyncMirror) DecodePersistedObject(ctx context.Context, dag *dagql.Server, resultID uint64, _ *dagql.ResultCall, payload json.RawMessage) (dagql.Typed, error) {
136 var persisted persistedClientFilesyncMirrorPayload
137 if err := json.Unmarshal(payload, &persisted); err != nil {
138 return nil, fmt.Errorf("decode persisted client filesync mirror payload: %w", err)
139 }
140 mirror := &ClientFilesyncMirror{
141 StableClientID: persisted.StableClientID,
142 Drive: persisted.Drive,
143 }
144 if resultID == 0 {
145 return mirror, nil
146 }
147
148 link, err := loadPersistedSnapshotLinkByResultID(ctx, dag, resultID, "client filesync mirror", "snapshot")
149 if err != nil {
150 return nil, err
151 }
152 query, err := persistedDecodeQuery(dag)
153 if err != nil {
154 return nil, err
155 }
156 ref, err := query.SnapshotManager().GetMutableBySnapshotID(ctx, link.RefKey, bkcache.NoUpdateLastUsed)
157 if err != nil {
158 return nil, fmt.Errorf("reopen persisted client filesync mirror snapshot %q: %w", link.RefKey, err)
159 }
160 mirror.snapshot = ref
161 return mirror, nil
162}
163
164func (m *ClientFilesyncMirror) OnRelease(ctx context.Context) error {
165 if m == nil {

Callers

nothing calls this directly

Calls 5

persistedDecodeQueryFunction · 0.85
UnmarshalMethod · 0.65
SnapshotManagerMethod · 0.65

Tested by

no test coverage detected