MCPcopy Create free account
hub / github.com/astercloud/aster / forwardProgress

Method forwardProgress

pkg/agent/subagent.go:599–618  ·  view source on GitHub ↗

forwardProgress 转发进度事件

(ctx context.Context, handle *SubAgentHandle, eventCh <-chan types.AgentEventEnvelope, progressChan chan<- *types.SubAgentProgressEvent)

Source from the content-addressed store, hash-verified

597
598// forwardProgress 转发进度事件
599func (m *SubAgentManager) forwardProgress(ctx context.Context, handle *SubAgentHandle, eventCh <-chan types.AgentEventEnvelope, progressChan chan<- *types.SubAgentProgressEvent) {
600 for {
601 select {
602 case <-ctx.Done():
603 return
604 case env, ok := <-eventCh:
605 if !ok {
606 return
607 }
608 progressEvent := m.convertToProgressEvent(handle, env)
609 if progressEvent != nil {
610 select {
611 case progressChan <- progressEvent:
612 case <-ctx.Done():
613 return
614 }
615 }
616 }
617 }
618}
619
620// convertToProgressEvent 转换事件为进度事件
621func (m *SubAgentManager) convertToProgressEvent(handle *SubAgentHandle, env types.AgentEventEnvelope) *types.SubAgentProgressEvent {

Callers 1

ExecuteAsyncMethod · 0.95

Calls 1

Tested by

no test coverage detected