c41777dcd2
* mostly working api proxy gen * api: Consistent api names * fix docsgen * regenerate api struct * api: expand external interfaces * Add missing gen files * apigen: fix perm detection * api: Move perm tags to the interface * gofmt * worker perms * docsgen * docsgen: ignore tag comments * apigen: add codegen warning * gofmt * missing actor type * docsgen * make linter happy * fix lint * apigen: use directives for tags * docsgen * regen openrpc docs
64 lines
4.0 KiB
Go
64 lines
4.0 KiB
Go
package api
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/ipfs/go-cid"
|
|
|
|
"github.com/filecoin-project/go-state-types/abi"
|
|
"github.com/filecoin-project/lotus/extern/sector-storage/sealtasks"
|
|
"github.com/filecoin-project/lotus/extern/sector-storage/stores"
|
|
"github.com/filecoin-project/lotus/extern/sector-storage/storiface"
|
|
"github.com/filecoin-project/specs-storage/storage"
|
|
)
|
|
|
|
type Worker interface {
|
|
Version(context.Context) (Version, error) //perm:admin
|
|
|
|
// TaskType -> Weight
|
|
TaskTypes(context.Context) (map[sealtasks.TaskType]struct{}, error) //perm:admin
|
|
Paths(context.Context) ([]stores.StoragePath, error) //perm:admin
|
|
Info(context.Context) (storiface.WorkerInfo, error) //perm:admin
|
|
|
|
// storiface.WorkerCalls
|
|
AddPiece(ctx context.Context, sector storage.SectorRef, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) //perm:admin
|
|
SealPreCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, pieces []abi.PieceInfo) (storiface.CallID, error) //perm:admin
|
|
SealPreCommit2(ctx context.Context, sector storage.SectorRef, pc1o storage.PreCommit1Out) (storiface.CallID, error) //perm:admin
|
|
SealCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, seed abi.InteractiveSealRandomness, pieces []abi.PieceInfo, cids storage.SectorCids) (storiface.CallID, error) //perm:admin
|
|
SealCommit2(ctx context.Context, sector storage.SectorRef, c1o storage.Commit1Out) (storiface.CallID, error) //perm:admin
|
|
FinalizeSector(ctx context.Context, sector storage.SectorRef, keepUnsealed []storage.Range) (storiface.CallID, error) //perm:admin
|
|
ReleaseUnsealed(ctx context.Context, sector storage.SectorRef, safeToFree []storage.Range) (storiface.CallID, error) //perm:admin
|
|
MoveStorage(ctx context.Context, sector storage.SectorRef, types storiface.SectorFileType) (storiface.CallID, error) //perm:admin
|
|
UnsealPiece(context.Context, storage.SectorRef, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize, abi.SealRandomness, cid.Cid) (storiface.CallID, error) //perm:admin
|
|
ReadPiece(context.Context, io.Writer, storage.SectorRef, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize) (storiface.CallID, error) //perm:admin
|
|
Fetch(context.Context, storage.SectorRef, storiface.SectorFileType, storiface.PathType, storiface.AcquireMode) (storiface.CallID, error) //perm:admin
|
|
|
|
TaskDisable(ctx context.Context, tt sealtasks.TaskType) error //perm:admin
|
|
TaskEnable(ctx context.Context, tt sealtasks.TaskType) error //perm:admin
|
|
|
|
// Storage / Other
|
|
Remove(ctx context.Context, sector abi.SectorID) error //perm:admin
|
|
|
|
StorageAddLocal(ctx context.Context, path string) error //perm:admin
|
|
|
|
// SetEnabled marks the worker as enabled/disabled. Not that this setting
|
|
// may take a few seconds to propagate to task scheduler
|
|
SetEnabled(ctx context.Context, enabled bool) error //perm:admin
|
|
|
|
Enabled(ctx context.Context) (bool, error) //perm:admin
|
|
|
|
// WaitQuiet blocks until there are no tasks running
|
|
WaitQuiet(ctx context.Context) error //perm:admin
|
|
|
|
// returns a random UUID of worker session, generated randomly when worker
|
|
// process starts
|
|
ProcessSession(context.Context) (uuid.UUID, error) //perm:admin
|
|
|
|
// Like ProcessSession, but returns an error when worker is disabled
|
|
Session(context.Context) (uuid.UUID, error) //perm:admin
|
|
}
|
|
|
|
var _ storiface.WorkerCalls = *new(Worker)
|