Commit 8465ef1b authored by laser's avatar laser
Browse files

refactor(eliminate bool parameter and facade with additional method)

parent 79a4a1d8
...@@ -382,28 +382,26 @@ func GetAllStagedSectors(sectorBuilderPtr unsafe.Pointer) ([]StagedSectorMetadat ...@@ -382,28 +382,26 @@ func GetAllStagedSectors(sectorBuilderPtr unsafe.Pointer) ([]StagedSectorMetadat
return meta, nil return meta, nil
} }
// GetAllSealedSectors returns a slice of all sealed sector metadata for the sector builder. // GetAllSealedSectors returns a slice of all sealed sector metadata, excluding
func GetAllSealedSectors(sectorBuilderPtr unsafe.Pointer, performHealthchecks bool) ([]SealedSectorMetadata, error) { // sector health.
func GetAllSealedSectors(sectorBuilderPtr unsafe.Pointer) ([]SealedSectorMetadata, error) {
defer elapsed("GetAllSealedSectors")() defer elapsed("GetAllSealedSectors")()
resPtr := C.sector_builder_ffi_get_sealed_sectors((*C.sector_builder_ffi_SectorBuilder)(sectorBuilderPtr), true == performHealthchecks) return getAllSealedSectors(sectorBuilderPtr, false)
defer C.sector_builder_ffi_destroy_get_sealed_sectors_response(resPtr) }
if resPtr.status_code != 0 { // GetAllSealedSectorsWithHealth returns a slice of all sealed sector metadata
return nil, errors.New(C.GoString(resPtr.error_msg)) // for the sector builder, including sector health info (which can be expensive
} // to compute).
func GetAllSealedSectorsWithHealth(sectorBuilderPtr unsafe.Pointer) ([]SealedSectorMetadata, error) {
defer elapsed("GetAllSealedSectorsWithHealth")()
meta, err := goSealedSectorMetadata(resPtr.sectors_ptr, resPtr.sectors_len) return getAllSealedSectors(sectorBuilderPtr, true)
if err != nil {
return nil, err
}
return meta, nil
} }
// GetSectorSealingStatusByID produces sector sealing status (staged, sealinG in // GetSectorSealingStatusByID produces sector sealing status (staged, sealing in
// progress, sealed, failed) for the provided sector id if it exists, otherwise // progress, sealed, failed) for the provided sector id. If no sector
// an error. // corresponding to the provided id exists, this function returns an error.
func GetSectorSealingStatusByID(sectorBuilderPtr unsafe.Pointer, sectorID uint64) (SectorSealingStatus, error) { func GetSectorSealingStatusByID(sectorBuilderPtr unsafe.Pointer, sectorID uint64) (SectorSealingStatus, error) {
defer elapsed("GetSectorSealingStatusByID")() defer elapsed("GetSectorSealingStatusByID")()
...@@ -555,3 +553,19 @@ func GeneratePieceCommitment(piecePath string, pieceSize uint64) (commP [Commitm ...@@ -555,3 +553,19 @@ func GeneratePieceCommitment(piecePath string, pieceSize uint64) (commP [Commitm
return commitment, nil return commitment, nil
} }
func getAllSealedSectors(sectorBuilderPtr unsafe.Pointer, performHealthchecks bool) ([]SealedSectorMetadata, error) {
resPtr := C.sector_builder_ffi_get_sealed_sectors((*C.sector_builder_ffi_SectorBuilder)(sectorBuilderPtr), C.bool(performHealthchecks))
defer C.sector_builder_ffi_destroy_get_sealed_sectors_response(resPtr)
if resPtr.status_code != 0 {
return nil, errors.New(C.GoString(resPtr.error_msg))
}
meta, err := goSealedSectorMetadata(resPtr.sectors_ptr, resPtr.sectors_len)
if err != nil {
return nil, err
}
return meta, nil
}
...@@ -30,6 +30,11 @@ func TestSectorBuilderLifecycle(t *testing.T) { ...@@ -30,6 +30,11 @@ func TestSectorBuilderLifecycle(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
defer sb.DestroySectorBuilder(ptr) defer sb.DestroySectorBuilder(ptr)
// verify that we've not yet sealed a sector
sealedSectors, err := sb.GetAllSealedSectorsWithHealth(ptr)
require.NoError(t, err)
require.Equal(t, 0, len(sealedSectors), "expected to see zero sealed sectors")
// compute the max user-bytes that can fit into a staged sector such that // compute the max user-bytes that can fit into a staged sector such that
// bit-padding ("preprocessing") expands the file to $SECTOR_SIZE // bit-padding ("preprocessing") expands the file to $SECTOR_SIZE
maxPieceSize := sb.GetMaxUserBytesPerStagedSector(1024) maxPieceSize := sb.GetMaxUserBytesPerStagedSector(1024)
...@@ -87,7 +92,7 @@ func TestSectorBuilderLifecycle(t *testing.T) { ...@@ -87,7 +92,7 @@ func TestSectorBuilderLifecycle(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.True(t, isValid) require.True(t, isValid)
sealedSectors, err := sb.GetAllSealedSectors(ptr, true) sealedSectors, err = sb.GetAllSealedSectorsWithHealth(ptr)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 1, len(sealedSectors), "expected to see one sealed sector") require.Equal(t, 1, len(sealedSectors), "expected to see one sealed sector")
sealedSector := sealedSectors[0] sealedSector := sealedSectors[0]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment