storageminer: separate sectorstore types
This commit is contained in:
parent
3c271db802
commit
21629d005b
107
storage/sector_types.go
Normal file
107
storage/sector_types.go
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
package storage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"github.com/ipfs/go-cid"
|
||||||
|
|
||||||
|
"github.com/filecoin-project/lotus/api"
|
||||||
|
"github.com/filecoin-project/lotus/lib/sectorbuilder"
|
||||||
|
)
|
||||||
|
|
||||||
|
type TicketFn func(context.Context) (*sectorbuilder.SealTicket, error)
|
||||||
|
|
||||||
|
type SealTicket struct {
|
||||||
|
BlockHeight uint64
|
||||||
|
TicketBytes []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *SealTicket) SB() sectorbuilder.SealTicket {
|
||||||
|
out := sectorbuilder.SealTicket{BlockHeight: t.BlockHeight}
|
||||||
|
copy(out.TicketBytes[:], t.TicketBytes)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
type SealSeed struct {
|
||||||
|
BlockHeight uint64
|
||||||
|
TicketBytes []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *SealSeed) SB() sectorbuilder.SealSeed {
|
||||||
|
out := sectorbuilder.SealSeed{BlockHeight: t.BlockHeight}
|
||||||
|
copy(out.TicketBytes[:], t.TicketBytes)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
type Piece struct {
|
||||||
|
DealID uint64
|
||||||
|
|
||||||
|
Size uint64
|
||||||
|
CommP []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Piece) ppi() (out sectorbuilder.PublicPieceInfo) {
|
||||||
|
out.Size = p.Size
|
||||||
|
copy(out.CommP[:], p.CommP)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
type SectorInfo struct {
|
||||||
|
State api.SectorState
|
||||||
|
SectorID uint64
|
||||||
|
|
||||||
|
// Packing
|
||||||
|
|
||||||
|
Pieces []Piece
|
||||||
|
|
||||||
|
// PreCommit
|
||||||
|
CommC []byte
|
||||||
|
CommD []byte
|
||||||
|
CommR []byte
|
||||||
|
CommRLast []byte
|
||||||
|
Proof []byte
|
||||||
|
Ticket SealTicket
|
||||||
|
|
||||||
|
PreCommitMessage *cid.Cid
|
||||||
|
|
||||||
|
// PreCommitted
|
||||||
|
Seed SealSeed
|
||||||
|
|
||||||
|
// Committing
|
||||||
|
CommitMessage *cid.Cid
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *SectorInfo) pieceInfos() []sectorbuilder.PublicPieceInfo {
|
||||||
|
out := make([]sectorbuilder.PublicPieceInfo, len(t.Pieces))
|
||||||
|
for i, piece := range t.Pieces {
|
||||||
|
out[i] = piece.ppi()
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *SectorInfo) deals() []uint64 {
|
||||||
|
out := make([]uint64, len(t.Pieces))
|
||||||
|
for i, piece := range t.Pieces {
|
||||||
|
out[i] = piece.DealID
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *SectorInfo) existingPieces() []uint64 {
|
||||||
|
out := make([]uint64, len(t.Pieces))
|
||||||
|
for i, piece := range t.Pieces {
|
||||||
|
out[i] = piece.Size
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *SectorInfo) rspco() sectorbuilder.RawSealPreCommitOutput {
|
||||||
|
var out sectorbuilder.RawSealPreCommitOutput
|
||||||
|
|
||||||
|
copy(out.CommC[:], t.CommC)
|
||||||
|
copy(out.CommD[:], t.CommD)
|
||||||
|
copy(out.CommR[:], t.CommR)
|
||||||
|
copy(out.CommRLast[:], t.CommRLast)
|
||||||
|
|
||||||
|
return out
|
||||||
|
}
|
@ -4,7 +4,6 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
cid "github.com/ipfs/go-cid"
|
|
||||||
xerrors "golang.org/x/xerrors"
|
xerrors "golang.org/x/xerrors"
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/api"
|
"github.com/filecoin-project/lotus/api"
|
||||||
@ -12,68 +11,6 @@ import (
|
|||||||
"github.com/filecoin-project/lotus/lib/sectorbuilder"
|
"github.com/filecoin-project/lotus/lib/sectorbuilder"
|
||||||
)
|
)
|
||||||
|
|
||||||
type TicketFn func(context.Context) (*sectorbuilder.SealTicket, error)
|
|
||||||
|
|
||||||
type SealTicket struct {
|
|
||||||
BlockHeight uint64
|
|
||||||
TicketBytes []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *SealTicket) SB() sectorbuilder.SealTicket {
|
|
||||||
out := sectorbuilder.SealTicket{BlockHeight: t.BlockHeight}
|
|
||||||
copy(out.TicketBytes[:], t.TicketBytes)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
type SealSeed struct {
|
|
||||||
BlockHeight uint64
|
|
||||||
TicketBytes []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *SealSeed) SB() sectorbuilder.SealSeed {
|
|
||||||
out := sectorbuilder.SealSeed{BlockHeight: t.BlockHeight}
|
|
||||||
copy(out.TicketBytes[:], t.TicketBytes)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
type Piece struct {
|
|
||||||
DealID uint64
|
|
||||||
|
|
||||||
Size uint64
|
|
||||||
CommP []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *Piece) ppi() (out sectorbuilder.PublicPieceInfo) {
|
|
||||||
out.Size = p.Size
|
|
||||||
copy(out.CommP[:], p.CommP)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
type SectorInfo struct {
|
|
||||||
State api.SectorState
|
|
||||||
SectorID uint64
|
|
||||||
|
|
||||||
// Packing
|
|
||||||
|
|
||||||
Pieces []Piece
|
|
||||||
|
|
||||||
// PreCommit
|
|
||||||
CommC []byte
|
|
||||||
CommD []byte
|
|
||||||
CommR []byte
|
|
||||||
CommRLast []byte
|
|
||||||
Proof []byte
|
|
||||||
Ticket SealTicket
|
|
||||||
|
|
||||||
PreCommitMessage *cid.Cid
|
|
||||||
|
|
||||||
// PreCommitted
|
|
||||||
Seed SealSeed
|
|
||||||
|
|
||||||
// Committing
|
|
||||||
CommitMessage *cid.Cid
|
|
||||||
}
|
|
||||||
|
|
||||||
type sectorUpdate struct {
|
type sectorUpdate struct {
|
||||||
newState api.SectorState
|
newState api.SectorState
|
||||||
id uint64
|
id uint64
|
||||||
@ -81,41 +18,6 @@ type sectorUpdate struct {
|
|||||||
mut func(*SectorInfo)
|
mut func(*SectorInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *SectorInfo) pieceInfos() []sectorbuilder.PublicPieceInfo {
|
|
||||||
out := make([]sectorbuilder.PublicPieceInfo, len(t.Pieces))
|
|
||||||
for i, piece := range t.Pieces {
|
|
||||||
out[i] = piece.ppi()
|
|
||||||
}
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *SectorInfo) deals() []uint64 {
|
|
||||||
out := make([]uint64, len(t.Pieces))
|
|
||||||
for i, piece := range t.Pieces {
|
|
||||||
out[i] = piece.DealID
|
|
||||||
}
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *SectorInfo) existingPieces() []uint64 {
|
|
||||||
out := make([]uint64, len(t.Pieces))
|
|
||||||
for i, piece := range t.Pieces {
|
|
||||||
out[i] = piece.Size
|
|
||||||
}
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *SectorInfo) rspco() sectorbuilder.RawSealPreCommitOutput {
|
|
||||||
var out sectorbuilder.RawSealPreCommitOutput
|
|
||||||
|
|
||||||
copy(out.CommC[:], t.CommC)
|
|
||||||
copy(out.CommD[:], t.CommD)
|
|
||||||
copy(out.CommR[:], t.CommR)
|
|
||||||
copy(out.CommRLast[:], t.CommRLast)
|
|
||||||
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Miner) sectorStateLoop(ctx context.Context) error {
|
func (m *Miner) sectorStateLoop(ctx context.Context) error {
|
||||||
trackedSectors, err := m.ListSectors()
|
trackedSectors, err := m.ListSectors()
|
||||||
if err != nil {
|
if err != nil {
|
Loading…
Reference in New Issue
Block a user