lotus/extern/sector-storage/sealtasks/task.go

104 lines
2.3 KiB
Go
Raw Normal View History

2020-03-23 11:40:02 +00:00
package sealtasks
type TaskType string
const (
TTAddPiece TaskType = "seal/v0/addpiece"
TTPreCommit1 TaskType = "seal/v0/precommit/1"
TTPreCommit2 TaskType = "seal/v0/precommit/2"
TTCommit1 TaskType = "seal/v0/commit/1"
2020-03-23 11:40:02 +00:00
TTCommit2 TaskType = "seal/v0/commit/2"
TTFinalize TaskType = "seal/v0/finalize"
2020-04-27 12:55:37 +00:00
TTFetch TaskType = "seal/v0/fetch"
TTUnseal TaskType = "seal/v0/unseal"
2022-02-02 20:23:35 +00:00
TTReplicaUpdate TaskType = "seal/v0/replicaupdate"
TTProveReplicaUpdate1 TaskType = "seal/v0/provereplicaupdate/1"
TTProveReplicaUpdate2 TaskType = "seal/v0/provereplicaupdate/2"
TTRegenSectorKey TaskType = "seal/v0/regensectorkey"
TTFinalizeReplicaUpdate TaskType = "seal/v0/finalize/replicaupdate"
TTGenerateWindowPoSt TaskType = "post/v0/windowproof"
TTGenerateWinningPoSt TaskType = "post/v0/winningproof"
2020-03-23 11:40:02 +00:00
)
2020-05-07 23:38:05 +00:00
var order = map[TaskType]int{
TTRegenSectorKey: 10, // least priority
TTAddPiece: 9,
TTReplicaUpdate: 8,
TTProveReplicaUpdate2: 7,
TTProveReplicaUpdate1: 6,
TTPreCommit1: 5,
TTPreCommit2: 4,
TTCommit2: 3,
TTCommit1: 2,
TTUnseal: 1,
2022-01-14 13:11:04 +00:00
TTFetch: -1,
TTFinalize: -2,
TTGenerateWindowPoSt: -3,
2022-01-14 13:11:04 +00:00
TTGenerateWinningPoSt: -4, // most priority
2020-05-07 23:38:05 +00:00
}
2020-07-21 18:01:25 +00:00
var shortNames = map[TaskType]string{
2020-12-09 11:22:21 +00:00
TTAddPiece: "AP",
2020-07-21 18:01:25 +00:00
TTPreCommit1: "PC1",
TTPreCommit2: "PC2",
2020-12-09 11:22:21 +00:00
TTCommit1: "C1",
TTCommit2: "C2",
2020-07-21 18:01:25 +00:00
TTFinalize: "FIN",
TTFetch: "GET",
TTUnseal: "UNS",
2022-02-02 20:23:35 +00:00
TTReplicaUpdate: "RU",
TTProveReplicaUpdate1: "PR1",
TTProveReplicaUpdate2: "PR2",
TTRegenSectorKey: "GSK",
TTFinalizeReplicaUpdate: "FRU",
TTGenerateWindowPoSt: "WDP",
TTGenerateWinningPoSt: "WNP",
2020-07-21 18:01:25 +00:00
}
2022-03-24 22:28:45 +00:00
const (
WorkerSealing = "Sealing"
WorkerWinningPoSt = "WinPost"
WorkerWindowPoSt = "WdPoSt"
)
func (a TaskType) WorkerType() string {
switch a {
2022-03-25 22:54:59 +00:00
case TTGenerateWinningPoSt:
2022-03-24 22:28:45 +00:00
return WorkerWinningPoSt
2022-03-25 22:54:59 +00:00
case TTGenerateWindowPoSt:
2022-03-24 22:28:45 +00:00
return WorkerWindowPoSt
default:
return WorkerSealing
}
}
func (a TaskType) MuchLess(b TaskType) (bool, bool) {
oa, ob := order[a], order[b]
oneNegative := oa^ob < 0
return oneNegative, oa < ob
}
2020-05-07 23:38:05 +00:00
func (a TaskType) Less(b TaskType) bool {
return order[a] < order[b]
}
2020-07-21 18:01:25 +00:00
func (a TaskType) Short() string {
n, ok := shortNames[a]
if !ok {
return "UNK"
}
return n
}