Documentation
¶
Index ¶
- Constants
- Variables
- func ErrorIsIn(err error, errorTypes []error) bool
- func GetInternalStructs(in interface{}) []interface{}
- func HasPerm(ctx context.Context, defaultPerm auth.Permission, perms auth.Permission) bool
- func PermissionedProxy(validPerms []auth.Permission, defaultPerms auth.Permission, in interface{}, ...)
- func WithPerm(ctx context.Context, perms []auth.Permission) context.Context
- type APIVersion
- type AccessPoint
- type Asset
- type AssetStruct
- func (s *AssetStruct) DeleteAsset(p0 context.Context, p1 string) error
- func (s *AssetStruct) GetAssetProgresses(p0 context.Context, p1 []string) (*types.PullResult, error)
- func (s *AssetStruct) GetAssetStats(p0 context.Context) (*types.AssetStats, error)
- func (s *AssetStruct) GetPullingAssetInfo(p0 context.Context) (*types.InProgressAsset, error)
- func (s *AssetStruct) PullAsset(p0 context.Context, p1 string, p2 []*types.CandidateDownloadInfo) error
- type AssetStub
- func (s *AssetStub) DeleteAsset(p0 context.Context, p1 string) error
- func (s *AssetStub) GetAssetProgresses(p0 context.Context, p1 []string) (*types.PullResult, error)
- func (s *AssetStub) GetAssetStats(p0 context.Context) (*types.AssetStats, error)
- func (s *AssetStub) GetPullingAssetInfo(p0 context.Context) (*types.InProgressAsset, error)
- func (s *AssetStub) PullAsset(p0 context.Context, p1 string, p2 []*types.CandidateDownloadInfo) error
- type Candidate
- type CandidateStruct
- func (s *CandidateStruct) CheckNetworkConnectivity(p0 context.Context, p1 string, p2 string) error
- func (s *CandidateStruct) GetBlocksWithAssetCID(p0 context.Context, p1 string, p2 int64, p3 int) ([]string, error)
- func (s *CandidateStruct) GetExternalAddress(p0 context.Context) (string, error)
- func (s *CandidateStruct) WaitQuiet(p0 context.Context) error
- type CandidateStub
- func (s *CandidateStub) CheckNetworkConnectivity(p0 context.Context, p1 string, p2 string) error
- func (s *CandidateStub) GetBlocksWithAssetCID(p0 context.Context, p1 string, p2 int64, p3 int) ([]string, error)
- func (s *CandidateStub) GetExternalAddress(p0 context.Context) (string, error)
- func (s *CandidateStub) WaitQuiet(p0 context.Context) error
- type Common
- type CommonStruct
- func (s *CommonStruct) AuthNew(p0 context.Context, p1 []auth.Permission) (string, error)
- func (s *CommonStruct) AuthVerify(p0 context.Context, p1 string) ([]auth.Permission, error)
- func (s *CommonStruct) Closing(p0 context.Context) (<-chan struct{}, error)
- func (s *CommonStruct) Discover(p0 context.Context) (types.OpenRPCDocument, error)
- func (s *CommonStruct) LogAlerts(p0 context.Context) ([]alerting.Alert, error)
- func (s *CommonStruct) LogList(p0 context.Context) ([]string, error)
- func (s *CommonStruct) LogSetLevel(p0 context.Context, p1 string, p2 string) error
- func (s *CommonStruct) Session(p0 context.Context) (uuid.UUID, error)
- func (s *CommonStruct) Shutdown(p0 context.Context) error
- func (s *CommonStruct) Version(p0 context.Context) (APIVersion, error)
- type CommonStub
- func (s *CommonStub) AuthNew(p0 context.Context, p1 []auth.Permission) (string, error)
- func (s *CommonStub) AuthVerify(p0 context.Context, p1 string) ([]auth.Permission, error)
- func (s *CommonStub) Closing(p0 context.Context) (<-chan struct{}, error)
- func (s *CommonStub) Discover(p0 context.Context) (types.OpenRPCDocument, error)
- func (s *CommonStub) LogAlerts(p0 context.Context) ([]alerting.Alert, error)
- func (s *CommonStub) LogList(p0 context.Context) ([]string, error)
- func (s *CommonStub) LogSetLevel(p0 context.Context, p1 string, p2 string) error
- func (s *CommonStub) Session(p0 context.Context) (uuid.UUID, error)
- func (s *CommonStub) Shutdown(p0 context.Context) error
- func (s *CommonStub) Version(p0 context.Context) (APIVersion, error)
- type DataSync
- type DataSyncStruct
- type DataSyncStub
- type Device
- type DeviceStruct
- type DeviceStub
- type Edge
- type EdgeStruct
- type EdgeStub
- type EdgeUpdateConfig
- type ErrUnknown
- type Locator
- type LocatorStruct
- func (s *LocatorStruct) EdgeDownloadInfos(p0 context.Context, p1 string) ([]*types.EdgeDownloadInfoList, error)
- func (s *LocatorStruct) GetAccessPoints(p0 context.Context, p1 string, p2 string) ([]string, error)
- func (s *LocatorStruct) GetUserAccessPoint(p0 context.Context, p1 string) (*AccessPoint, error)
- type LocatorStub
- func (s *LocatorStub) EdgeDownloadInfos(p0 context.Context, p1 string) ([]*types.EdgeDownloadInfoList, error)
- func (s *LocatorStub) GetAccessPoints(p0 context.Context, p1 string, p2 string) ([]string, error)
- func (s *LocatorStub) GetUserAccessPoint(p0 context.Context, p1 string) (*AccessPoint, error)
- type LogFile
- type Scheduler
- type SchedulerStruct
- func (s *SchedulerStruct) CandidateConnect(p0 context.Context, p1 *types.ConnectOptions) error
- func (s *SchedulerStruct) DeleteEdgeUpdateConfig(p0 context.Context, p1 int) error
- func (s *SchedulerStruct) EdgeConnect(p0 context.Context, p1 *types.ConnectOptions) error
- func (s *SchedulerStruct) GetAssetListForBucket(p0 context.Context, p1 uint32) ([]string, error)
- func (s *SchedulerStruct) GetAssetRecord(p0 context.Context, p1 string) (*types.AssetRecord, error)
- func (s *SchedulerStruct) GetAssetRecords(p0 context.Context, p1 int, p2 int, p3 []string, p4 dtypes.ServerID) ([]*types.AssetRecord, error)
- func (s *SchedulerStruct) GetAssetReplicaInfos(p0 context.Context, p1 types.ListReplicaInfosReq) (*types.ListReplicaInfosRsp, error)
- func (s *SchedulerStruct) GetAssetStatistics(p0 context.Context) (*types.AssetStatistics, error)
- func (s *SchedulerStruct) GetCandidateDownloadInfos(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error)
- func (s *SchedulerStruct) GetCandidateURLsForDetectNat(p0 context.Context) ([]string, error)
- func (s *SchedulerStruct) GetEdgeDownloadInfos(p0 context.Context, p1 string) (*types.EdgeDownloadInfoList, error)
- func (s *SchedulerStruct) GetEdgeExternalServiceAddress(p0 context.Context, p1 string, p2 string) (string, error)
- func (s *SchedulerStruct) GetEdgeUpdateConfigs(p0 context.Context) (map[int]*EdgeUpdateConfig, error)
- func (s *SchedulerStruct) GetExternalAddress(p0 context.Context) (string, error)
- func (s *SchedulerStruct) GetNodeInfo(p0 context.Context, p1 string) (types.NodeInfo, error)
- func (s *SchedulerStruct) GetNodeList(p0 context.Context, p1 int, p2 int) (*types.ListNodesRsp, error)
- func (s *SchedulerStruct) GetOnlineNodeCount(p0 context.Context, p1 types.NodeType) (int, error)
- func (s *SchedulerStruct) GetSchedulerPublicKey(p0 context.Context) (string, error)
- func (s *SchedulerStruct) GetValidationInfo(p0 context.Context) (*types.ValidationInfo, error)
- func (s *SchedulerStruct) GetValidationResults(p0 context.Context, p1 time.Time, p2 time.Time, p3 int, p4 int) (*types.ListValidationResultRsp, error)
- func (s *SchedulerStruct) NatPunch(p0 context.Context, p1 *types.NatPunchReq) error
- func (s *SchedulerStruct) NodeExists(p0 context.Context, p1 string) error
- func (s *SchedulerStruct) NodeKeepalive(p0 context.Context) (uuid.UUID, error)
- func (s *SchedulerStruct) NodeLogin(p0 context.Context, p1 string, p2 string) (string, error)
- func (s *SchedulerStruct) NodeRemoveAssetResult(p0 context.Context, p1 types.RemoveAssetResult) error
- func (s *SchedulerStruct) NodeValidationResult(p0 context.Context, p1 ValidationResult, p2 string) error
- func (s *SchedulerStruct) PullAsset(p0 context.Context, p1 *types.PullAssetReq) error
- func (s *SchedulerStruct) RePullFailedAssets(p0 context.Context, p1 []types.AssetHash) error
- func (s *SchedulerStruct) RegisterNode(p0 context.Context, p1 string, p2 types.NodeType) (string, error)
- func (s *SchedulerStruct) RemoveAssetRecord(p0 context.Context, p1 string) error
- func (s *SchedulerStruct) RemoveAssetReplica(p0 context.Context, p1 string, p2 string) error
- func (s *SchedulerStruct) SetEdgeUpdateConfig(p0 context.Context, p1 *EdgeUpdateConfig) error
- func (s *SchedulerStruct) SubmitNodeWorkloadReport(p0 context.Context, p1 io.Reader) error
- func (s *SchedulerStruct) SubmitUserWorkloadReport(p0 context.Context, p1 io.Reader) error
- func (s *SchedulerStruct) TriggerElection(p0 context.Context) error
- func (s *SchedulerStruct) UnregisterNode(p0 context.Context, p1 string) error
- func (s *SchedulerStruct) UpdateAssetExpiration(p0 context.Context, p1 string, p2 time.Time) error
- func (s *SchedulerStruct) UpdateNodePort(p0 context.Context, p1 string, p2 string) error
- func (s *SchedulerStruct) VerifyNodeAuthToken(p0 context.Context, p1 string) ([]auth.Permission, error)
- type SchedulerStub
- func (s *SchedulerStub) CandidateConnect(p0 context.Context, p1 *types.ConnectOptions) error
- func (s *SchedulerStub) DeleteEdgeUpdateConfig(p0 context.Context, p1 int) error
- func (s *SchedulerStub) EdgeConnect(p0 context.Context, p1 *types.ConnectOptions) error
- func (s *SchedulerStub) GetAssetListForBucket(p0 context.Context, p1 uint32) ([]string, error)
- func (s *SchedulerStub) GetAssetRecord(p0 context.Context, p1 string) (*types.AssetRecord, error)
- func (s *SchedulerStub) GetAssetRecords(p0 context.Context, p1 int, p2 int, p3 []string, p4 dtypes.ServerID) ([]*types.AssetRecord, error)
- func (s *SchedulerStub) GetAssetReplicaInfos(p0 context.Context, p1 types.ListReplicaInfosReq) (*types.ListReplicaInfosRsp, error)
- func (s *SchedulerStub) GetAssetStatistics(p0 context.Context) (*types.AssetStatistics, error)
- func (s *SchedulerStub) GetCandidateDownloadInfos(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error)
- func (s *SchedulerStub) GetCandidateURLsForDetectNat(p0 context.Context) ([]string, error)
- func (s *SchedulerStub) GetEdgeDownloadInfos(p0 context.Context, p1 string) (*types.EdgeDownloadInfoList, error)
- func (s *SchedulerStub) GetEdgeExternalServiceAddress(p0 context.Context, p1 string, p2 string) (string, error)
- func (s *SchedulerStub) GetEdgeUpdateConfigs(p0 context.Context) (map[int]*EdgeUpdateConfig, error)
- func (s *SchedulerStub) GetExternalAddress(p0 context.Context) (string, error)
- func (s *SchedulerStub) GetNodeInfo(p0 context.Context, p1 string) (types.NodeInfo, error)
- func (s *SchedulerStub) GetNodeList(p0 context.Context, p1 int, p2 int) (*types.ListNodesRsp, error)
- func (s *SchedulerStub) GetOnlineNodeCount(p0 context.Context, p1 types.NodeType) (int, error)
- func (s *SchedulerStub) GetSchedulerPublicKey(p0 context.Context) (string, error)
- func (s *SchedulerStub) GetValidationInfo(p0 context.Context) (*types.ValidationInfo, error)
- func (s *SchedulerStub) GetValidationResults(p0 context.Context, p1 time.Time, p2 time.Time, p3 int, p4 int) (*types.ListValidationResultRsp, error)
- func (s *SchedulerStub) NatPunch(p0 context.Context, p1 *types.NatPunchReq) error
- func (s *SchedulerStub) NodeExists(p0 context.Context, p1 string) error
- func (s *SchedulerStub) NodeKeepalive(p0 context.Context) (uuid.UUID, error)
- func (s *SchedulerStub) NodeLogin(p0 context.Context, p1 string, p2 string) (string, error)
- func (s *SchedulerStub) NodeRemoveAssetResult(p0 context.Context, p1 types.RemoveAssetResult) error
- func (s *SchedulerStub) NodeValidationResult(p0 context.Context, p1 ValidationResult, p2 string) error
- func (s *SchedulerStub) PullAsset(p0 context.Context, p1 *types.PullAssetReq) error
- func (s *SchedulerStub) RePullFailedAssets(p0 context.Context, p1 []types.AssetHash) error
- func (s *SchedulerStub) RegisterNode(p0 context.Context, p1 string, p2 types.NodeType) (string, error)
- func (s *SchedulerStub) RemoveAssetRecord(p0 context.Context, p1 string) error
- func (s *SchedulerStub) RemoveAssetReplica(p0 context.Context, p1 string, p2 string) error
- func (s *SchedulerStub) SetEdgeUpdateConfig(p0 context.Context, p1 *EdgeUpdateConfig) error
- func (s *SchedulerStub) SubmitNodeWorkloadReport(p0 context.Context, p1 io.Reader) error
- func (s *SchedulerStub) SubmitUserWorkloadReport(p0 context.Context, p1 io.Reader) error
- func (s *SchedulerStub) TriggerElection(p0 context.Context) error
- func (s *SchedulerStub) UnregisterNode(p0 context.Context, p1 string) error
- func (s *SchedulerStub) UpdateAssetExpiration(p0 context.Context, p1 string, p2 time.Time) error
- func (s *SchedulerStub) UpdateNodePort(p0 context.Context, p1 string, p2 string) error
- func (s *SchedulerStub) VerifyNodeAuthToken(p0 context.Context, p1 string) ([]auth.Permission, error)
- type TCPMsgType
- type ValidateReq
- type Validation
- type ValidationResult
- type ValidationStruct
- type ValidationStub
- type Version
Constants ¶
const ( RoleWeb auth.Permission = "web" RoleCandidate auth.Permission = "candidate" RoleEdge auth.Permission = "edge" RoleLocator auth.Permission = "locator" RoleAdmin auth.Permission = "admin" // Manage permissions RoleDefault auth.Permission = "default" )
const (
EUnknown = iota + jsonrpc.FirstUserCode
)
Variables ¶
var ( SchedulerAPIVersion0 = newVer(1, 0, 0) CandidateAPIVersion0 = newVer(1, 0, 0) EdgeAPIVersion0 = newVer(1, 0, 0) LocationAPIVersion0 = newVer(1, 0, 0) )
semver versions of the rpc api exposed
var AllPermissions = []auth.Permission{RoleWeb, RoleCandidate, RoleEdge, RoleLocator, RoleAdmin, RoleDefault}
var ErrNotSupported = xerrors.New("method not supported")
var RPCErrors = jsonrpc.NewErrors()
Functions ¶
func GetInternalStructs ¶
func GetInternalStructs(in interface{}) []interface{}
GetInternalStructs extracts all pointers to 'Internal' sub-structs from the provided pointer to a proxy struct
func HasPerm ¶
func HasPerm(ctx context.Context, defaultPerm auth.Permission, perms auth.Permission) bool
func PermissionedProxy ¶
func PermissionedProxy(validPerms []auth.Permission, defaultPerms auth.Permission, in interface{}, out interface{})
Types ¶
type APIVersion ¶
type APIVersion struct {
Version string
// APIVersion is a binary encoded semver version of the remote implementing
// this api
//
// See APIVersion in build/version.go
APIVersion Version
// Seconds
BlockDelay uint64
}
APIVersion provides various build-time information
func (APIVersion) String ¶
func (v APIVersion) String() string
type AccessPoint ¶
AccessPoint represents an access point within an area, containing scheduler information.
type Asset ¶
type Asset interface {
// PullAsset pull the asset with given assetCID from specified sources
PullAsset(ctx context.Context, assetCID string, sources []*types.CandidateDownloadInfo) error //perm:admin
// DeleteAsset deletes the asset with given assetCID
DeleteAsset(ctx context.Context, assetCID string) error //perm:admin
// GetAssetStats retrieves the statistics of assets
GetAssetStats(ctx context.Context) (*types.AssetStats, error) //perm:admin
// GetCachingAssetInfo retrieves the information of assets that are currently being pulled
GetPullingAssetInfo(ctx context.Context) (*types.InProgressAsset, error) //perm:admin
// GetAssetProgresses retrieves the progress of assets with specified assetCIDs
GetAssetProgresses(ctx context.Context, assetCIDs []string) (*types.PullResult, error) //perm:admin
}
Asset is an interface for asset manager
type AssetStruct ¶
type AssetStruct struct {
Internal struct {
DeleteAsset func(p0 context.Context, p1 string) error `perm:"admin"`
GetAssetProgresses func(p0 context.Context, p1 []string) (*types.PullResult, error) `perm:"admin"`
GetAssetStats func(p0 context.Context) (*types.AssetStats, error) `perm:"admin"`
GetPullingAssetInfo func(p0 context.Context) (*types.InProgressAsset, error) `perm:"admin"`
PullAsset func(p0 context.Context, p1 string, p2 []*types.CandidateDownloadInfo) error `perm:"admin"`
}
}
func (*AssetStruct) DeleteAsset ¶
func (s *AssetStruct) DeleteAsset(p0 context.Context, p1 string) error
func (*AssetStruct) GetAssetProgresses ¶
func (s *AssetStruct) GetAssetProgresses(p0 context.Context, p1 []string) (*types.PullResult, error)
func (*AssetStruct) GetAssetStats ¶
func (s *AssetStruct) GetAssetStats(p0 context.Context) (*types.AssetStats, error)
func (*AssetStruct) GetPullingAssetInfo ¶
func (s *AssetStruct) GetPullingAssetInfo(p0 context.Context) (*types.InProgressAsset, error)
func (*AssetStruct) PullAsset ¶
func (s *AssetStruct) PullAsset(p0 context.Context, p1 string, p2 []*types.CandidateDownloadInfo) error
type AssetStub ¶
type AssetStub struct {
}
func (*AssetStub) DeleteAsset ¶
func (*AssetStub) GetAssetProgresses ¶
func (*AssetStub) GetAssetStats ¶
func (*AssetStub) GetPullingAssetInfo ¶
type Candidate ¶
type Candidate interface {
Common
Device
Validation
DataSync
Asset
WaitQuiet(ctx context.Context) error //perm:admin
GetBlocksWithAssetCID(ctx context.Context, assetCID string, randomSeed int64, randomCount int) ([]string, error) //perm:admin
// GetExternalAddress retrieves the external address of the caller.
GetExternalAddress(ctx context.Context) (string, error) //perm:default
CheckNetworkConnectivity(ctx context.Context, network, targetURL string) error //perm:default
}
Candidate is an interface for candidate node
type CandidateStruct ¶
type CandidateStruct struct {
CommonStruct
DeviceStruct
ValidationStruct
DataSyncStruct
AssetStruct
Internal struct {
CheckNetworkConnectivity func(p0 context.Context, p1 string, p2 string) error `perm:"default"`
GetBlocksWithAssetCID func(p0 context.Context, p1 string, p2 int64, p3 int) ([]string, error) `perm:"admin"`
GetExternalAddress func(p0 context.Context) (string, error) `perm:"default"`
WaitQuiet func(p0 context.Context) error `perm:"admin"`
}
}
func (*CandidateStruct) CheckNetworkConnectivity ¶
func (*CandidateStruct) GetBlocksWithAssetCID ¶
func (*CandidateStruct) GetExternalAddress ¶
func (s *CandidateStruct) GetExternalAddress(p0 context.Context) (string, error)
type CandidateStub ¶
type CandidateStub struct {
CommonStub
DeviceStub
ValidationStub
DataSyncStub
AssetStub
}
func (*CandidateStub) CheckNetworkConnectivity ¶
func (*CandidateStub) GetBlocksWithAssetCID ¶
func (*CandidateStub) GetExternalAddress ¶
func (s *CandidateStub) GetExternalAddress(p0 context.Context) (string, error)
type Common ¶
type Common interface {
// AuthVerify checks whether the specified token is valid and returns the list of permissions associated with it.
AuthVerify(ctx context.Context, token string) ([]auth.Permission, error) //perm:default
// AuthNew creates a new token with the specified list of permissions.
AuthNew(ctx context.Context, perms []auth.Permission) (string, error) //perm:admin
// LogList returns a list of all logs in the system.
LogList(context.Context) ([]string, error) //perm:admin
// LogSetLevel sets the log level of the specified logger.
LogSetLevel(context.Context, string, string) error //perm:admin
// LogAlerts returns list of all, active and inactive alerts tracked by the
LogAlerts(ctx context.Context) ([]alerting.Alert, error) //perm:admin
// Version provides information about API provider
Version(context.Context) (APIVersion, error) //perm:default
// Discover returns an OpenRPC document describing an RPC API.
Discover(ctx context.Context) (types.OpenRPCDocument, error) //perm:admin
// Shutdown trigger graceful shutdown
Shutdown(context.Context) error //perm:admin
// Session returns a UUID of api provider session
Session(ctx context.Context) (uuid.UUID, error) //perm:edge,candidate
// Closing jsonrpc closing
Closing(context.Context) (<-chan struct{}, error) //perm:admin
}
Common is an interface for titan network
type CommonStruct ¶
type CommonStruct struct {
Internal struct {
AuthNew func(p0 context.Context, p1 []auth.Permission) (string, error) `perm:"admin"`
AuthVerify func(p0 context.Context, p1 string) ([]auth.Permission, error) `perm:"default"`
Closing func(p0 context.Context) (<-chan struct{}, error) `perm:"admin"`
Discover func(p0 context.Context) (types.OpenRPCDocument, error) `perm:"admin"`
LogAlerts func(p0 context.Context) ([]alerting.Alert, error) `perm:"admin"`
LogList func(p0 context.Context) ([]string, error) `perm:"admin"`
LogSetLevel func(p0 context.Context, p1 string, p2 string) error `perm:"admin"`
Session func(p0 context.Context) (uuid.UUID, error) `perm:"edge,candidate"`
Shutdown func(p0 context.Context) error `perm:"admin"`
Version func(p0 context.Context) (APIVersion, error) `perm:"default"`
}
}
func (*CommonStruct) AuthNew ¶
func (s *CommonStruct) AuthNew(p0 context.Context, p1 []auth.Permission) (string, error)
func (*CommonStruct) AuthVerify ¶
func (s *CommonStruct) AuthVerify(p0 context.Context, p1 string) ([]auth.Permission, error)
func (*CommonStruct) Closing ¶
func (s *CommonStruct) Closing(p0 context.Context) (<-chan struct{}, error)
func (*CommonStruct) Discover ¶
func (s *CommonStruct) Discover(p0 context.Context) (types.OpenRPCDocument, error)
func (*CommonStruct) LogSetLevel ¶
func (*CommonStruct) Version ¶
func (s *CommonStruct) Version(p0 context.Context) (APIVersion, error)
type CommonStub ¶
type CommonStub struct {
}
func (*CommonStub) AuthNew ¶
func (s *CommonStub) AuthNew(p0 context.Context, p1 []auth.Permission) (string, error)
func (*CommonStub) AuthVerify ¶
func (s *CommonStub) AuthVerify(p0 context.Context, p1 string) ([]auth.Permission, error)
func (*CommonStub) Closing ¶
func (s *CommonStub) Closing(p0 context.Context) (<-chan struct{}, error)
func (*CommonStub) Discover ¶
func (s *CommonStub) Discover(p0 context.Context) (types.OpenRPCDocument, error)
func (*CommonStub) LogSetLevel ¶
func (*CommonStub) Version ¶
func (s *CommonStub) Version(p0 context.Context) (APIVersion, error)
type DataSync ¶
type DataSync interface {
// CompareTopHash check asset if same as scheduler.
// topHash is hash of all buckets
CompareTopHash(ctx context.Context, topHash string) (bool, error) //perm:admin
// CompareBucketHashes group asset in bucket, and compare single bucket hash
// hashes are map of bucket, key is number of bucket, value is hash
// return mismatch bucket number
CompareBucketHashes(ctx context.Context, hashes map[uint32]string) ([]uint32, error) //perm:admin
}
DataSync sync scheduler asset to node
type DataSyncStruct ¶
type DataSyncStruct struct {
Internal struct {
CompareBucketHashes func(p0 context.Context, p1 map[uint32]string) ([]uint32, error) `perm:"admin"`
CompareTopHash func(p0 context.Context, p1 string) (bool, error) `perm:"admin"`
}
}
func (*DataSyncStruct) CompareBucketHashes ¶
func (*DataSyncStruct) CompareTopHash ¶
type DataSyncStub ¶
type DataSyncStub struct {
}
func (*DataSyncStub) CompareBucketHashes ¶
func (*DataSyncStub) CompareTopHash ¶
type Device ¶
type Device interface {
GetNodeInfo(ctx context.Context) (types.NodeInfo, error) //perm:admin
GetNodeID(ctx context.Context) (string, error) //perm:admin
}
Device is an interface for node
type DeviceStruct ¶
type DeviceStruct struct {
Internal struct {
GetNodeID func(p0 context.Context) (string, error) `perm:"admin"`
GetNodeInfo func(p0 context.Context) (types.NodeInfo, error) `perm:"admin"`
}
}
func (*DeviceStruct) GetNodeID ¶
func (s *DeviceStruct) GetNodeID(p0 context.Context) (string, error)
func (*DeviceStruct) GetNodeInfo ¶
type Edge ¶
type Edge interface {
Common
Device
Validation
DataSync
Asset
WaitQuiet(ctx context.Context) error //perm:admin
// ExternalServiceAddress check service address with different candidate
// if behind nat, service address maybe different
ExternalServiceAddress(ctx context.Context, candidateURL string) (string, error) //perm:admin
// UserNATTravel build connection for user
UserNATPunch(ctx context.Context, userServiceAddress string, req *types.NatPunchReq) error //perm:admin
}
Edge is an interface for edge node
func PermissionedEdgeAPI ¶
type EdgeStruct ¶
type EdgeStruct struct {
CommonStruct
DeviceStruct
ValidationStruct
DataSyncStruct
AssetStruct
Internal struct {
ExternalServiceAddress func(p0 context.Context, p1 string) (string, error) `perm:"admin"`
UserNATPunch func(p0 context.Context, p1 string, p2 *types.NatPunchReq) error `perm:"admin"`
WaitQuiet func(p0 context.Context) error `perm:"admin"`
}
}
func (*EdgeStruct) ExternalServiceAddress ¶
func (*EdgeStruct) UserNATPunch ¶
func (s *EdgeStruct) UserNATPunch(p0 context.Context, p1 string, p2 *types.NatPunchReq) error
type EdgeStub ¶
type EdgeStub struct {
CommonStub
DeviceStub
ValidationStub
DataSyncStub
AssetStub
}
func (*EdgeStub) ExternalServiceAddress ¶
func (*EdgeStub) UserNATPunch ¶
type EdgeUpdateConfig ¶
type EdgeUpdateConfig struct {
NodeType int `db:"node_type"`
AppName string `db:"app_name"`
Version Version `db:"version"`
DownloadURL string `db:"download_url"`
Hash string `db:"hash"`
UpdateTime time.Time `db:"update_time"`
}
EdgeUpdateInfo just update edge node NodeType include edge-updater and titan-edge
type ErrUnknown ¶
type ErrUnknown struct{}
func (*ErrUnknown) Error ¶
func (e *ErrUnknown) Error() string
type Locator ¶
type Locator interface {
Common
// GetAccessPoints retrieves all access points associated with a node.
GetAccessPoints(ctx context.Context, nodeID, areaID string) ([]string, error) //perm:default
// user api
// EdgeDownloadInfos retrieves download information for a content identifier (CID).
EdgeDownloadInfos(ctx context.Context, cid string) ([]*types.EdgeDownloadInfoList, error) //perm:default
// GetUserAccessPoint retrieves an access point for a user with a specified IP address.
GetUserAccessPoint(ctx context.Context, userIP string) (*AccessPoint, error) //perm:default
}
Locator is an interface for locator services
func PermissionedLocationAPI ¶
type LocatorStruct ¶
type LocatorStruct struct {
CommonStruct
Internal struct {
EdgeDownloadInfos func(p0 context.Context, p1 string) ([]*types.EdgeDownloadInfoList, error) `perm:"default"`
GetAccessPoints func(p0 context.Context, p1 string, p2 string) ([]string, error) `perm:"default"`
GetUserAccessPoint func(p0 context.Context, p1 string) (*AccessPoint, error) `perm:"default"`
}
}
func (*LocatorStruct) EdgeDownloadInfos ¶
func (s *LocatorStruct) EdgeDownloadInfos(p0 context.Context, p1 string) ([]*types.EdgeDownloadInfoList, error)
func (*LocatorStruct) GetAccessPoints ¶
func (*LocatorStruct) GetUserAccessPoint ¶
func (s *LocatorStruct) GetUserAccessPoint(p0 context.Context, p1 string) (*AccessPoint, error)
type LocatorStub ¶
type LocatorStub struct {
CommonStub
}
func (*LocatorStub) EdgeDownloadInfos ¶
func (s *LocatorStub) EdgeDownloadInfos(p0 context.Context, p1 string) ([]*types.EdgeDownloadInfoList, error)
func (*LocatorStub) GetAccessPoints ¶
func (*LocatorStub) GetUserAccessPoint ¶
func (s *LocatorStub) GetUserAccessPoint(p0 context.Context, p1 string) (*AccessPoint, error)
type Scheduler ¶
type Scheduler interface {
Common
// Node-related methods
// GetOnlineNodeCount returns the count of online nodes for a given node type
GetOnlineNodeCount(ctx context.Context, nodeType types.NodeType) (int, error) //perm:web,admin
// RegisterNode adds a new node to the scheduler with the specified public key, and node type , and returns node id
RegisterNode(ctx context.Context, publicKey string, nodeType types.NodeType) (string, error) //perm:web,admin
// UnregisterNode removes a node from the scheduler with the specified node ID
UnregisterNode(ctx context.Context, nodeID string) error //perm:web,admin
// UpdateNodePort updates the port for the node with the specified node
UpdateNodePort(ctx context.Context, nodeID, port string) error //perm:web,admin
// EdgeConnect edge node login to the scheduler
EdgeConnect(ctx context.Context, opts *types.ConnectOptions) error //perm:edge
// NodeValidationResult processes the validation result for a node
NodeValidationResult(ctx context.Context, vr ValidationResult, sign string) error //perm:candidate
// CandidateConnect candidate node login to the scheduler
CandidateConnect(ctx context.Context, opts *types.ConnectOptions) error //perm:candidate
// NodeRemoveAssetResult the result of an asset removal operation
NodeRemoveAssetResult(ctx context.Context, resultInfo types.RemoveAssetResult) error //perm:edge,candidate
// GetExternalAddress retrieves the external address of the caller.
GetExternalAddress(ctx context.Context) (string, error) //perm:default
// VerifyNodeAuthToken checks the authenticity of a node's authentication token and returns the associated permissions
VerifyNodeAuthToken(ctx context.Context, token string) ([]auth.Permission, error) //perm:default
// NodeLogin generates an authentication token for a node with the specified node ID and signature
NodeLogin(ctx context.Context, nodeID, sign string) (string, error) //perm:default
// GetNodeInfo get information for node
GetNodeInfo(ctx context.Context, nodeID string) (types.NodeInfo, error) //perm:web,admin
// GetNodeList retrieves a list of nodes with pagination using the specified cursor and count
GetNodeList(ctx context.Context, cursor int, count int) (*types.ListNodesRsp, error) //perm:web,admin
// GetAssetListForBucket retrieves a list of asset hashes for a bucket associated with the specified bucket ID (bucketID is hash code)
GetAssetListForBucket(ctx context.Context, bucketID uint32) ([]string, error) //perm:edge,candidate
// GetCandidateURLsForDetectNat Get the rpc url of the specified number of candidate nodes
GetCandidateURLsForDetectNat(ctx context.Context) ([]string, error) //perm:default
// GetEdgeExternalServiceAddress nat travel, get edge external addr with different candidate
GetEdgeExternalServiceAddress(ctx context.Context, nodeID, candidateURL string) (string, error) //perm:edge
// NatPunch nat punch between user and node
NatPunch(ctx context.Context, target *types.NatPunchReq) error //perm:default
// GetEdgeDownloadInfos retrieves download information for the edge with the asset with the specified CID.
GetEdgeDownloadInfos(ctx context.Context, cid string) (*types.EdgeDownloadInfoList, error) //perm:default
// GetCandidateDownloadInfos retrieves download information for the candidate with the asset with the specified CID.
GetCandidateDownloadInfos(ctx context.Context, cid string) ([]*types.CandidateDownloadInfo, error) //perm:edge,candidate
// NodeExists checks if the node with the specified ID exists.
NodeExists(ctx context.Context, nodeID string) error //perm:web
// NodeKeepalive
NodeKeepalive(ctx context.Context) (uuid.UUID, error) //perm:edge,candidate
// Asset-related methods
// PullAsset Pull an asset based on the provided PullAssetReq structure.
PullAsset(ctx context.Context, info *types.PullAssetReq) error //perm:admin
// RemoveAssetRecord removes the asset record with the specified CID from the scheduler
RemoveAssetRecord(ctx context.Context, cid string) error //perm:admin
// RemoveAssetReplica deletes an asset replica with the specified CID and node from the scheduler
RemoveAssetReplica(ctx context.Context, cid, nodeID string) error //perm:admin
// GetAssetRecord retrieves the asset record with the specified CID
GetAssetRecord(ctx context.Context, cid string) (*types.AssetRecord, error) //perm:web,admin
// GetAssetRecords retrieves a list of asset records with pagination using the specified limit, offset, and states
GetAssetRecords(ctx context.Context, limit, offset int, states []string, serverID dtypes.ServerID) ([]*types.AssetRecord, error) //perm:web,admin
// RePullFailedAssets retries the pull process for a list of failed assets
RePullFailedAssets(ctx context.Context, hashes []types.AssetHash) error //perm:admin
// UpdateAssetExpiration updates the expiration time for an asset with the specified CID
UpdateAssetExpiration(ctx context.Context, cid string, time time.Time) error //perm:admin
// GetAssetReplicaInfos retrieves a list of asset replica information using the specified request parameters
GetAssetReplicaInfos(ctx context.Context, req types.ListReplicaInfosReq) (*types.ListReplicaInfosRsp, error) //perm:web,admin
// GetValidationResults retrieves a list of validation results with pagination using the specified time range, page number, and page size
GetValidationResults(ctx context.Context, startTime, endTime time.Time, pageNumber, pageSize int) (*types.ListValidationResultRsp, error) //perm:web,admin
// SubmitUserWorkloadReport submits report of workload for User Download asset
SubmitUserWorkloadReport(ctx context.Context, r io.Reader) error //perm:default
// SubmitNodeWorkloadReport submits report of workload for node provide Asset Download
SubmitNodeWorkloadReport(ctx context.Context, r io.Reader) error //perm:edge,candidate
// Server-related methods
// GetSchedulerPublicKey retrieves the scheduler's public key in PEM format
GetSchedulerPublicKey(ctx context.Context) (string, error) //perm:edge,candidate
// TriggerElection starts a new election process
TriggerElection(ctx context.Context) error //perm:admin
// GetEdgeUpdateConfigs retrieves edge update configurations for different node types
GetEdgeUpdateConfigs(ctx context.Context) (map[int]*EdgeUpdateConfig, error) //perm:edge
// SetEdgeUpdateConfig updates the edge update configuration for a specific node type with the provided information
SetEdgeUpdateConfig(ctx context.Context, info *EdgeUpdateConfig) error //perm:admin
// DeleteEdgeUpdateConfig deletes the edge update configuration for the specified node type
DeleteEdgeUpdateConfig(ctx context.Context, nodeType int) error //perm:admin
// GetValidationInfo get information related to validation and election
GetValidationInfo(ctx context.Context) (*types.ValidationInfo, error) //perm:web,admin
// GetAssetStatistics get asset related statistics information
GetAssetStatistics(ctx context.Context) (*types.AssetStatistics, error) //perm:web,admin
}
Scheduler is an interface for scheduler
type SchedulerStruct ¶
type SchedulerStruct struct {
CommonStruct
Internal struct {
CandidateConnect func(p0 context.Context, p1 *types.ConnectOptions) error `perm:"candidate"`
DeleteEdgeUpdateConfig func(p0 context.Context, p1 int) error `perm:"admin"`
EdgeConnect func(p0 context.Context, p1 *types.ConnectOptions) error `perm:"edge"`
GetAssetListForBucket func(p0 context.Context, p1 uint32) ([]string, error) `perm:"edge,candidate"`
GetAssetRecord func(p0 context.Context, p1 string) (*types.AssetRecord, error) `perm:"web,admin"`
GetAssetRecords func(p0 context.Context, p1 int, p2 int, p3 []string, p4 dtypes.ServerID) ([]*types.AssetRecord, error) `perm:"web,admin"`
GetAssetReplicaInfos func(p0 context.Context, p1 types.ListReplicaInfosReq) (*types.ListReplicaInfosRsp, error) `perm:"web,admin"`
GetAssetStatistics func(p0 context.Context) (*types.AssetStatistics, error) `perm:"web,admin"`
GetCandidateDownloadInfos func(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error) `perm:"edge,candidate"`
GetCandidateURLsForDetectNat func(p0 context.Context) ([]string, error) `perm:"default"`
GetEdgeDownloadInfos func(p0 context.Context, p1 string) (*types.EdgeDownloadInfoList, error) `perm:"default"`
GetEdgeExternalServiceAddress func(p0 context.Context, p1 string, p2 string) (string, error) `perm:"edge"`
GetEdgeUpdateConfigs func(p0 context.Context) (map[int]*EdgeUpdateConfig, error) `perm:"edge"`
GetExternalAddress func(p0 context.Context) (string, error) `perm:"default"`
GetNodeInfo func(p0 context.Context, p1 string) (types.NodeInfo, error) `perm:"web,admin"`
GetNodeList func(p0 context.Context, p1 int, p2 int) (*types.ListNodesRsp, error) `perm:"web,admin"`
GetOnlineNodeCount func(p0 context.Context, p1 types.NodeType) (int, error) `perm:"web,admin"`
GetSchedulerPublicKey func(p0 context.Context) (string, error) `perm:"edge,candidate"`
GetValidationInfo func(p0 context.Context) (*types.ValidationInfo, error) `perm:"web,admin"`
GetValidationResults func(p0 context.Context, p1 time.Time, p2 time.Time, p3 int, p4 int) (*types.ListValidationResultRsp, error) `perm:"web,admin"`
NatPunch func(p0 context.Context, p1 *types.NatPunchReq) error `perm:"default"`
NodeExists func(p0 context.Context, p1 string) error `perm:"web"`
NodeKeepalive func(p0 context.Context) (uuid.UUID, error) `perm:"edge,candidate"`
NodeLogin func(p0 context.Context, p1 string, p2 string) (string, error) `perm:"default"`
NodeRemoveAssetResult func(p0 context.Context, p1 types.RemoveAssetResult) error `perm:"edge,candidate"`
NodeValidationResult func(p0 context.Context, p1 ValidationResult, p2 string) error `perm:"candidate"`
PullAsset func(p0 context.Context, p1 *types.PullAssetReq) error `perm:"admin"`
RePullFailedAssets func(p0 context.Context, p1 []types.AssetHash) error `perm:"admin"`
RegisterNode func(p0 context.Context, p1 string, p2 types.NodeType) (string, error) `perm:"web,admin"`
RemoveAssetRecord func(p0 context.Context, p1 string) error `perm:"admin"`
RemoveAssetReplica func(p0 context.Context, p1 string, p2 string) error `perm:"admin"`
SetEdgeUpdateConfig func(p0 context.Context, p1 *EdgeUpdateConfig) error `perm:"admin"`
SubmitNodeWorkloadReport func(p0 context.Context, p1 io.Reader) error `perm:"edge,candidate"`
SubmitUserWorkloadReport func(p0 context.Context, p1 io.Reader) error `perm:"default"`
TriggerElection func(p0 context.Context) error `perm:"admin"`
UnregisterNode func(p0 context.Context, p1 string) error `perm:"web,admin"`
UpdateAssetExpiration func(p0 context.Context, p1 string, p2 time.Time) error `perm:"admin"`
UpdateNodePort func(p0 context.Context, p1 string, p2 string) error `perm:"web,admin"`
VerifyNodeAuthToken func(p0 context.Context, p1 string) ([]auth.Permission, error) `perm:"default"`
}
}
func (*SchedulerStruct) CandidateConnect ¶
func (s *SchedulerStruct) CandidateConnect(p0 context.Context, p1 *types.ConnectOptions) error
func (*SchedulerStruct) DeleteEdgeUpdateConfig ¶
func (s *SchedulerStruct) DeleteEdgeUpdateConfig(p0 context.Context, p1 int) error
func (*SchedulerStruct) EdgeConnect ¶
func (s *SchedulerStruct) EdgeConnect(p0 context.Context, p1 *types.ConnectOptions) error
func (*SchedulerStruct) GetAssetListForBucket ¶
func (*SchedulerStruct) GetAssetRecord ¶
func (s *SchedulerStruct) GetAssetRecord(p0 context.Context, p1 string) (*types.AssetRecord, error)
func (*SchedulerStruct) GetAssetRecords ¶
func (*SchedulerStruct) GetAssetReplicaInfos ¶
func (s *SchedulerStruct) GetAssetReplicaInfos(p0 context.Context, p1 types.ListReplicaInfosReq) (*types.ListReplicaInfosRsp, error)
func (*SchedulerStruct) GetAssetStatistics ¶
func (s *SchedulerStruct) GetAssetStatistics(p0 context.Context) (*types.AssetStatistics, error)
func (*SchedulerStruct) GetCandidateDownloadInfos ¶
func (s *SchedulerStruct) GetCandidateDownloadInfos(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error)
func (*SchedulerStruct) GetCandidateURLsForDetectNat ¶
func (s *SchedulerStruct) GetCandidateURLsForDetectNat(p0 context.Context) ([]string, error)
func (*SchedulerStruct) GetEdgeDownloadInfos ¶
func (s *SchedulerStruct) GetEdgeDownloadInfos(p0 context.Context, p1 string) (*types.EdgeDownloadInfoList, error)
func (*SchedulerStruct) GetEdgeExternalServiceAddress ¶
func (*SchedulerStruct) GetEdgeUpdateConfigs ¶
func (s *SchedulerStruct) GetEdgeUpdateConfigs(p0 context.Context) (map[int]*EdgeUpdateConfig, error)
func (*SchedulerStruct) GetExternalAddress ¶
func (s *SchedulerStruct) GetExternalAddress(p0 context.Context) (string, error)
func (*SchedulerStruct) GetNodeInfo ¶
func (*SchedulerStruct) GetNodeList ¶
func (s *SchedulerStruct) GetNodeList(p0 context.Context, p1 int, p2 int) (*types.ListNodesRsp, error)
func (*SchedulerStruct) GetOnlineNodeCount ¶
func (*SchedulerStruct) GetSchedulerPublicKey ¶
func (s *SchedulerStruct) GetSchedulerPublicKey(p0 context.Context) (string, error)
func (*SchedulerStruct) GetValidationInfo ¶
func (s *SchedulerStruct) GetValidationInfo(p0 context.Context) (*types.ValidationInfo, error)
func (*SchedulerStruct) GetValidationResults ¶
func (*SchedulerStruct) NatPunch ¶
func (s *SchedulerStruct) NatPunch(p0 context.Context, p1 *types.NatPunchReq) error
func (*SchedulerStruct) NodeExists ¶
func (s *SchedulerStruct) NodeExists(p0 context.Context, p1 string) error
func (*SchedulerStruct) NodeKeepalive ¶
func (*SchedulerStruct) NodeRemoveAssetResult ¶
func (s *SchedulerStruct) NodeRemoveAssetResult(p0 context.Context, p1 types.RemoveAssetResult) error
func (*SchedulerStruct) NodeValidationResult ¶
func (s *SchedulerStruct) NodeValidationResult(p0 context.Context, p1 ValidationResult, p2 string) error
func (*SchedulerStruct) PullAsset ¶
func (s *SchedulerStruct) PullAsset(p0 context.Context, p1 *types.PullAssetReq) error
func (*SchedulerStruct) RePullFailedAssets ¶
func (*SchedulerStruct) RegisterNode ¶
func (*SchedulerStruct) RemoveAssetRecord ¶
func (s *SchedulerStruct) RemoveAssetRecord(p0 context.Context, p1 string) error
func (*SchedulerStruct) RemoveAssetReplica ¶
func (*SchedulerStruct) SetEdgeUpdateConfig ¶
func (s *SchedulerStruct) SetEdgeUpdateConfig(p0 context.Context, p1 *EdgeUpdateConfig) error
func (*SchedulerStruct) SubmitNodeWorkloadReport ¶
func (*SchedulerStruct) SubmitUserWorkloadReport ¶
func (*SchedulerStruct) TriggerElection ¶
func (s *SchedulerStruct) TriggerElection(p0 context.Context) error
func (*SchedulerStruct) UnregisterNode ¶
func (s *SchedulerStruct) UnregisterNode(p0 context.Context, p1 string) error
func (*SchedulerStruct) UpdateAssetExpiration ¶
func (*SchedulerStruct) UpdateNodePort ¶
func (*SchedulerStruct) VerifyNodeAuthToken ¶
func (s *SchedulerStruct) VerifyNodeAuthToken(p0 context.Context, p1 string) ([]auth.Permission, error)
type SchedulerStub ¶
type SchedulerStub struct {
CommonStub
}
func (*SchedulerStub) CandidateConnect ¶
func (s *SchedulerStub) CandidateConnect(p0 context.Context, p1 *types.ConnectOptions) error
func (*SchedulerStub) DeleteEdgeUpdateConfig ¶
func (s *SchedulerStub) DeleteEdgeUpdateConfig(p0 context.Context, p1 int) error
func (*SchedulerStub) EdgeConnect ¶
func (s *SchedulerStub) EdgeConnect(p0 context.Context, p1 *types.ConnectOptions) error
func (*SchedulerStub) GetAssetListForBucket ¶
func (*SchedulerStub) GetAssetRecord ¶
func (s *SchedulerStub) GetAssetRecord(p0 context.Context, p1 string) (*types.AssetRecord, error)
func (*SchedulerStub) GetAssetRecords ¶
func (*SchedulerStub) GetAssetReplicaInfos ¶
func (s *SchedulerStub) GetAssetReplicaInfos(p0 context.Context, p1 types.ListReplicaInfosReq) (*types.ListReplicaInfosRsp, error)
func (*SchedulerStub) GetAssetStatistics ¶
func (s *SchedulerStub) GetAssetStatistics(p0 context.Context) (*types.AssetStatistics, error)
func (*SchedulerStub) GetCandidateDownloadInfos ¶
func (s *SchedulerStub) GetCandidateDownloadInfos(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error)
func (*SchedulerStub) GetCandidateURLsForDetectNat ¶
func (s *SchedulerStub) GetCandidateURLsForDetectNat(p0 context.Context) ([]string, error)
func (*SchedulerStub) GetEdgeDownloadInfos ¶
func (s *SchedulerStub) GetEdgeDownloadInfos(p0 context.Context, p1 string) (*types.EdgeDownloadInfoList, error)
func (*SchedulerStub) GetEdgeExternalServiceAddress ¶
func (*SchedulerStub) GetEdgeUpdateConfigs ¶
func (s *SchedulerStub) GetEdgeUpdateConfigs(p0 context.Context) (map[int]*EdgeUpdateConfig, error)
func (*SchedulerStub) GetExternalAddress ¶
func (s *SchedulerStub) GetExternalAddress(p0 context.Context) (string, error)
func (*SchedulerStub) GetNodeInfo ¶
func (*SchedulerStub) GetNodeList ¶
func (s *SchedulerStub) GetNodeList(p0 context.Context, p1 int, p2 int) (*types.ListNodesRsp, error)
func (*SchedulerStub) GetOnlineNodeCount ¶
func (*SchedulerStub) GetSchedulerPublicKey ¶
func (s *SchedulerStub) GetSchedulerPublicKey(p0 context.Context) (string, error)
func (*SchedulerStub) GetValidationInfo ¶
func (s *SchedulerStub) GetValidationInfo(p0 context.Context) (*types.ValidationInfo, error)
func (*SchedulerStub) GetValidationResults ¶
func (*SchedulerStub) NatPunch ¶
func (s *SchedulerStub) NatPunch(p0 context.Context, p1 *types.NatPunchReq) error
func (*SchedulerStub) NodeExists ¶
func (s *SchedulerStub) NodeExists(p0 context.Context, p1 string) error
func (*SchedulerStub) NodeKeepalive ¶
func (*SchedulerStub) NodeRemoveAssetResult ¶
func (s *SchedulerStub) NodeRemoveAssetResult(p0 context.Context, p1 types.RemoveAssetResult) error
func (*SchedulerStub) NodeValidationResult ¶
func (s *SchedulerStub) NodeValidationResult(p0 context.Context, p1 ValidationResult, p2 string) error
func (*SchedulerStub) PullAsset ¶
func (s *SchedulerStub) PullAsset(p0 context.Context, p1 *types.PullAssetReq) error
func (*SchedulerStub) RePullFailedAssets ¶
func (*SchedulerStub) RegisterNode ¶
func (*SchedulerStub) RemoveAssetRecord ¶
func (s *SchedulerStub) RemoveAssetRecord(p0 context.Context, p1 string) error
func (*SchedulerStub) RemoveAssetReplica ¶
func (*SchedulerStub) SetEdgeUpdateConfig ¶
func (s *SchedulerStub) SetEdgeUpdateConfig(p0 context.Context, p1 *EdgeUpdateConfig) error
func (*SchedulerStub) SubmitNodeWorkloadReport ¶
func (*SchedulerStub) SubmitUserWorkloadReport ¶
func (*SchedulerStub) TriggerElection ¶
func (s *SchedulerStub) TriggerElection(p0 context.Context) error
func (*SchedulerStub) UnregisterNode ¶
func (s *SchedulerStub) UnregisterNode(p0 context.Context, p1 string) error
func (*SchedulerStub) UpdateAssetExpiration ¶
func (*SchedulerStub) UpdateNodePort ¶
func (*SchedulerStub) VerifyNodeAuthToken ¶
func (s *SchedulerStub) VerifyNodeAuthToken(p0 context.Context, p1 string) ([]auth.Permission, error)
type TCPMsgType ¶
type TCPMsgType int
TODO: new tcp package, add these to tcp package candidate use tcp server to validate edge
const ( TCPMsgTypeNodeID TCPMsgType = iota + 1 TCPMsgTypeBlock TCPMsgTypeCancel )
type ValidateReq ¶
type ValidateReq struct {
// TCPSrvAddr Candidate tcp server address
TCPSrvAddr string
RandomSeed int64
Duration int
}
ValidateReq represents the request parameters for validation
type Validation ¶
type Validation interface {
// ExecuteValidation check node asset and bandwidth
ExecuteValidation(ctx context.Context, req *ValidateReq) error //perm:admin
}
Validation is an interface for validate-related operations
type ValidationResult ¶
type ValidationResult struct {
Validator string
CID string
// verification canceled due to download
IsCancel bool
NodeID string
Bandwidth float64
// seconds duration
CostTime int64
IsTimeout bool
// key is random index
// values is cid
Cids []string
// The number of random for validator
RandomCount int
}
ValidationResult node Validation result
type ValidationStruct ¶
type ValidationStruct struct {
Internal struct {
ExecuteValidation func(p0 context.Context, p1 *ValidateReq) error `perm:"admin"`
}
}
func (*ValidationStruct) ExecuteValidation ¶
func (s *ValidationStruct) ExecuteValidation(p0 context.Context, p1 *ValidateReq) error
type ValidationStub ¶
type ValidationStub struct {
}
func (*ValidationStub) ExecuteValidation ¶
func (s *ValidationStub) ExecuteValidation(p0 context.Context, p1 *ValidateReq) error