MCPcopy
hub / github.com/benbjohnson/litestream / WriteLTXFile

Method WriteLTXFile

store_compaction_remote_test.go:186–217  ·  view source on GitHub ↗
(_ context.Context, level int, minTXID, maxTXID ltx.TXID, r io.Reader)

Source from the content-addressed store, hash-verified

184}
185
186func (c *delayedReplicaClient) WriteLTXFile(_ context.Context, level int, minTXID, maxTXID ltx.TXID, r io.Reader) (*ltx.FileInfo, error) {
187 data, err := io.ReadAll(r)
188 if err != nil {
189 return nil, err
190 }
191 partial, err := buildPartialSnapshot(data)
192 if err != nil {
193 return nil, err
194 }
195
196 info := &ltx.FileInfo{
197 Level: level,
198 MinTXID: minTXID,
199 MaxTXID: maxTXID,
200 Size: int64(len(data)),
201 CreatedAt: time.Now().UTC(),
202 }
203
204 c.mu.Lock()
205 c.files[c.key(level, minTXID, maxTXID)] = &delayedFile{
206 level: level,
207 min: minTXID,
208 max: maxTXID,
209 data: data,
210 partial: partial,
211 createdAt: info.CreatedAt,
212 availableAt: time.Now().Add(c.delay),
213 }
214 c.mu.Unlock()
215
216 return info, nil
217}
218
219func (c *delayedReplicaClient) DeleteLTXFiles(_ context.Context, a []*ltx.FileInfo) error {
220 c.mu.Lock()

Callers

nothing calls this directly

Calls 4

keyMethod · 0.95
buildPartialSnapshotFunction · 0.85
LockMethod · 0.45
UnlockMethod · 0.45

Tested by

no test coverage detected