39 lines
1.3 KiB
Go
39 lines
1.3 KiB
Go
package api
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
|
|
"github.com/ipfs/go-cid"
|
|
|
|
"github.com/filecoin-project/sector-storage/sealtasks"
|
|
"github.com/filecoin-project/sector-storage/stores"
|
|
"github.com/filecoin-project/sector-storage/storiface"
|
|
"github.com/filecoin-project/specs-actors/actors/abi"
|
|
"github.com/filecoin-project/specs-storage/storage"
|
|
|
|
"github.com/filecoin-project/lotus/build"
|
|
)
|
|
|
|
type WorkerAPI interface {
|
|
Version(context.Context) (build.Version, error)
|
|
// TODO: Info() (name, ...) ?
|
|
|
|
TaskTypes(context.Context) (map[sealtasks.TaskType]struct{}, error) // TaskType -> Weight
|
|
Paths(context.Context) ([]stores.StoragePath, error)
|
|
Info(context.Context) (storiface.WorkerInfo, error)
|
|
|
|
AddPiece(ctx context.Context, sector abi.SectorID, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (abi.PieceInfo, error)
|
|
|
|
storage.Sealer
|
|
|
|
MoveStorage(ctx context.Context, sector abi.SectorID) error
|
|
|
|
UnsealPiece(context.Context, abi.SectorID, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize, abi.SealRandomness, cid.Cid) error
|
|
ReadPiece(context.Context, io.Writer, abi.SectorID, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize) (bool, error)
|
|
|
|
Fetch(context.Context, abi.SectorID, stores.SectorFileType, stores.PathType, stores.AcquireMode) error
|
|
|
|
Closing(context.Context) (<-chan struct{}, error)
|
|
}
|