Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions block/internal/cache/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,14 @@ type PendingManager interface {
GetPendingData(ctx context.Context) ([]*types.SignedData, [][]byte, error)
SetLastSubmittedHeaderHeight(ctx context.Context, height uint64)
GetLastSubmittedHeaderHeight() uint64
ResetInFlightHeaderRange(start, end uint64)
SetLastSubmittedDataHeight(ctx context.Context, height uint64)
GetLastSubmittedDataHeight() uint64
ResetInFlightDataRange(start, end uint64)
NumPendingHeaders() uint64
NumPendingData() uint64
NumPendingHeadersTotal() uint64
NumPendingDataTotal() uint64
}

// Manager combines CacheManager and PendingManager.
Expand Down Expand Up @@ -311,6 +315,10 @@ func (m *implementation) SetLastSubmittedHeaderHeight(ctx context.Context, heigh
m.pendingHeaders.SetLastSubmittedHeaderHeight(ctx, height)
}

func (m *implementation) ResetInFlightHeaderRange(start, end uint64) {
m.pendingHeaders.ResetInFlightHeaderRange(start, end)
}

func (m *implementation) GetLastSubmittedDataHeight() uint64 {
return m.pendingData.GetLastSubmittedDataHeight()
}
Expand All @@ -319,6 +327,10 @@ func (m *implementation) SetLastSubmittedDataHeight(ctx context.Context, height
m.pendingData.SetLastSubmittedDataHeight(ctx, height)
}

func (m *implementation) ResetInFlightDataRange(start, end uint64) {
m.pendingData.ResetInFlightDataRange(start, end)
}

func (m *implementation) NumPendingHeaders() uint64 {
return m.pendingHeaders.NumPendingHeaders()
}
Expand All @@ -327,6 +339,14 @@ func (m *implementation) NumPendingData() uint64 {
return m.pendingData.NumPendingData()
}

func (m *implementation) NumPendingHeadersTotal() uint64 {
return m.pendingHeaders.NumPendingHeadersTotal()
}

func (m *implementation) NumPendingDataTotal() uint64 {
return m.pendingData.NumPendingDataTotal()
}

// SetPendingEvent sets the event at the specified height.
func (m *implementation) SetPendingEvent(height uint64, event *common.DAHeightEvent) {
m.pendingMu.Lock()
Expand Down
10 changes: 6 additions & 4 deletions block/internal/cache/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,12 @@ func TestPendingHeadersAndData_Flow(t *testing.T) {
// update last submitted heights and re-check
cm.SetLastSubmittedHeaderHeight(ctx, 1)
cm.SetLastSubmittedDataHeight(ctx, 2)
cm.ResetInFlightHeaderRange(1, 3)
cm.ResetInFlightDataRange(2, 3)

// numPending views (before getPending claims items)
assert.Equal(t, uint64(2), cm.NumPendingHeaders())
assert.Equal(t, uint64(1), cm.NumPendingData())

headers, _, err = cm.GetPendingHeaders(ctx)
require.NoError(t, err)
Expand All @@ -231,10 +237,6 @@ func TestPendingHeadersAndData_Flow(t *testing.T) {
require.NoError(t, err)
require.Len(t, signedData, 1)
assert.Equal(t, uint64(3), signedData[0].Height())

// numPending views
assert.Equal(t, uint64(2), cm.NumPendingHeaders())
assert.Equal(t, uint64(1), cm.NumPendingData())
}

func TestManager_TxOperations(t *testing.T) {
Expand Down
Loading
Loading