A fork of the Cocoon PDS but being made more distributed.
11

Configure Feed

Select the types of activity you want to include in your feed.

fix logging blockstore for reads

Hailey (Jul 19, 2025, 10:53 AM -0700) cb89ee23 125b864f

+12 -6
+10 -4
recording_blockstore/recording_blockstore.go
··· 13 13 base blockstore.Blockstore 14 14 15 15 inserts map[cid.Cid]blockformat.Block 16 + reads map[cid.Cid]blockformat.Block 16 17 } 17 18 18 19 func New(base blockstore.Blockstore) *RecordingBlockstore { ··· 27 28 } 28 29 29 30 func (bs *RecordingBlockstore) Get(ctx context.Context, c cid.Cid) (blockformat.Block, error) { 30 - return bs.base.Get(ctx, c) 31 + b, err := bs.base.Get(ctx, c) 32 + if err != nil { 33 + return nil, err 34 + } 35 + bs.reads[c] = b 36 + return b, nil 31 37 } 32 38 33 39 func (bs *RecordingBlockstore) GetSize(ctx context.Context, c cid.Cid) (int, error) { ··· 65 71 func (bs *RecordingBlockstore) HashOnRead(enabled bool) { 66 72 } 67 73 68 - func (bs *RecordingBlockstore) GetLogMap() map[cid.Cid]blockformat.Block { 74 + func (bs *RecordingBlockstore) GetWriteLog() map[cid.Cid]blockformat.Block { 69 75 return bs.inserts 70 76 } 71 77 72 - func (bs *RecordingBlockstore) GetLogArray() []blockformat.Block { 78 + func (bs *RecordingBlockstore) GetReadLog() []blockformat.Block { 73 79 var blocks []blockformat.Block 74 - for _, b := range bs.inserts { 80 + for _, b := range bs.reads { 75 81 blocks = append(blocks, b) 76 82 } 77 83 return blocks
+2 -2
server/repo.go
··· 274 274 } 275 275 } 276 276 277 - for _, op := range bs.GetLogMap() { 277 + for _, op := range bs.GetWriteLog() { 278 278 if _, err := carstore.LdWrite(buf, op.Cid().Bytes(), op.RawData()); err != nil { 279 279 return nil, err 280 280 } ··· 358 358 return cid.Undef, nil, err 359 359 } 360 360 361 - return c, bs.GetLogArray(), nil 361 + return c, bs.GetReadLog(), nil 362 362 } 363 363 364 364 func (rm *RepoMan) incrementBlobRefs(urepo models.Repo, cbor []byte) ([]cid.Cid, error) {