MeshFlow Core API / MeshScheduler
Class: MeshScheduler<T, P, B, NM>
Defined in: engine/useScheduler.ts:24
[BOT] MeshScheduler — 引擎核心调度器
职责:
- 节点注册中心 — Path→UID 映射 / UID→Node 索引
- 拓扑推演入口 —
notify/_batchNotify/_notifyAll三种点火方式 - UI 刷新协调 — 收集脏节点 → rAF 批量触发
signalTrigger/emit - 子系统编排 — 组装
useMeshTask/useSetEntangle/transactionScheduler
子系统:
_meshTaskSystem— 拓扑执行循环 (TaskRunner + flushQueue)_entangleSystem— 纠缠预言与幽灵提案 (Turnstile)_taskSchduler— 事务链调度器 (串行异步任务)_timeScheduler— 时间切片管理器 (帧预算与 yield)
Type Parameters
T
T
P
P extends MeshPath
B
B extends Record<string, any> = StandardUITrigger<T>
NM
NM = any
Constructors
Constructor
new MeshScheduler<
T,P,B,NM>(config,dependency,history,hooks,UITrigger):MeshScheduler<T,P,B,NM>
Defined in: engine/useScheduler.ts:79
Parameters
config
BACKPRESSURE_LIMIT
number
MAX_CONCURRENT_TASKS
number
NODE_QUOTA_PER_FRAME
number
useEntangleStep
number
useGreedy
boolean
dependency
_GetAllNextDependency
(targetUid) => number[]
_GetAllPrevDependency
(targetUid) => number[]
_GetNextDependency
(targetUid) => number[]
_GetPrevDependency
(targetUid) => number[]
_GetUidToLevelMap
() => Map<number, number>
GetDependencyOrder
() => number[][]
history
InternalMeshFlowHistory
hooks
callOnError
any
callOnStart
any
callOnSuccess
any
emit
MeshEmit
UITrigger
B
Returns
MeshScheduler<T, P, B, NM>
Methods
_batchNotify()
_batchNotify(
updates,source?):void
Defined in: engine/useScheduler.ts:411
Parameters
updates
object[]
source?
number = 0
Returns
void
_requestUpdate()
_requestUpdate():
void
Defined in: engine/useScheduler.ts:201
Returns
void
flushUpdate()
flushUpdate():
Promise<void>
Defined in: engine/useScheduler.ts:177
Returns
Promise<void>
GetBucket()
GetBucket(
bucketId):SchemaBucket<P>
Defined in: engine/useScheduler.ts:347
Parameters
bucketId
number
Returns
SchemaBucket<P>
GetGroupByPath()
GetGroupByPath(
path):MeshFlowGroupNode<MeshPath>
Defined in: engine/useScheduler.ts:336
Parameters
path
Returns
GetMaxUid()
GetMaxUid():
number
Defined in: engine/useScheduler.ts:353
Returns
number
GetNodeByPath()
GetNodeByPath(
path):MeshFlowTaskNode<P,any,NM>
Defined in: engine/useScheduler.ts:314
Parameters
path
P
Returns
MeshFlowTaskNode<P, any, NM>
GetNodeByUid()
GetNodeByUid(
uid):MeshFlowTaskNode<P,any,NM>
Defined in: engine/useScheduler.ts:326
Parameters
uid
number
Returns
MeshFlowTaskNode<P, any, NM>
GetPathByUid()
GetPathByUid(
uid):P
Defined in: engine/useScheduler.ts:332
Parameters
uid
number
Returns
P
notify()
notify(
path,key):void
Defined in: engine/useScheduler.ts:357
Parameters
path
P
key
SuggestKey<NM>
Returns
void
registerGroupNode()
registerGroupNode(
groupMeta):MeshFlowGroupNode<P>
Defined in: engine/useScheduler.ts:292
Parameters
groupMeta
Omit<MeshFlowGroupNode<P>, "createView" | "calledBy" | "uid" | "dirtySignal">
Returns
registerNode()
registerNode(
nodeMeta):MeshFlowTaskNode<P,any,NM>
Defined in: engine/useScheduler.ts:261
Parameters
nodeMeta
Omit<MeshFlowTaskNode<P>, "createView" | "proxy" | "dependOn" | "calledBy" | "uid" | "dirtySignal" | "nodeBucket" | "_syncCache">
Returns
MeshFlowTaskNode<P, any, NM>
SetBucket()
SetBucket(
newBucket):number
Defined in: engine/useScheduler.ts:343
Parameters
newBucket
SchemaBucket<P>
Returns
number
Internal
SilentSet()
SilentSet(
path,key,value):boolean
Defined in: engine/useScheduler.ts:490
Parameters
path
P
key
SuggestKey<NM>
value
any
Returns
boolean
Properties
_flushPathPendingMap
_flushPathPendingMap:
number[] =[]
Defined in: engine/useScheduler.ts:47
_timeScheduler
_timeScheduler:
object
Defined in: engine/useScheduler.ts:64
_getIsFirstFrame
_getIsFirstFrame: () =>
boolean
Returns
boolean
_shouldYield()
_shouldYield():
boolean
Returns
boolean
_yieldToMain()
_yieldToMain():
Promise<void>
Returns
Promise<void>
reset()
reset():
void
Returns
void
config
config:
object
Defined in: engine/useScheduler.ts:80
BACKPRESSURE_LIMIT
BACKPRESSURE_LIMIT:
number
MAX_CONCURRENT_TASKS
MAX_CONCURRENT_TASKS:
number
NODE_QUOTA_PER_FRAME
NODE_QUOTA_PER_FRAME:
number
useEntangleStep
useEntangleStep:
number
useGreedy
useGreedy:
boolean
dependency
dependency:
object
Defined in: engine/useScheduler.ts:81
_GetAllNextDependency
_GetAllNextDependency: (
targetUid) =>number[]
Parameters
targetUid
number
Returns
number[]
_GetAllPrevDependency
_GetAllPrevDependency: (
targetUid) =>number[]
Parameters
targetUid
number
Returns
number[]
_GetNextDependency
_GetNextDependency: (
targetUid) =>number[]
Parameters
targetUid
number
Returns
number[]
_GetPrevDependency
_GetPrevDependency: (
targetUid) =>number[]
Parameters
targetUid
number
Returns
number[]
_GetUidToLevelMap
_GetUidToLevelMap: () =>
Map<number,number>
Returns
Map<number, number>
GetDependencyOrder
GetDependencyOrder: () =>
number[][]
Returns
number[][]
dispose
dispose: () =>
void
Defined in: engine/useScheduler.ts:56
Returns
void
history
history:
InternalMeshFlowHistory
Defined in: engine/useScheduler.ts:89
hooks
hooks:
object
Defined in: engine/useScheduler.ts:90
callOnError
callOnError:
any
callOnStart
callOnStart:
any
callOnSuccess
callOnSuccess:
any
emit
emit:
MeshEmit
SettleTasks
SettleTasks: (
array) =>void
Defined in: engine/useScheduler.ts:61
Parameters
array
TransactionArray<P, NM>
Returns
void
uid
uid:
number=0
Defined in: engine/useScheduler.ts:30
UITrigger
UITrigger:
B
Defined in: engine/useScheduler.ts:91