(depth int)
| 78 | } |
| 79 | |
| 80 | func (m *TaskSequential) Setup(depth int) error { |
| 81 | // We don't need to setup the First(source) Input channel |
| 82 | m.depth = depth |
| 83 | m.setup = true |
| 84 | for i := 0; i < len(m.runners); i++ { |
| 85 | //u.Debugf("%d i:%d Setup: %T p:%p", depth, i, m.runners[i], m.runners[i]) |
| 86 | if err := m.runners[i].Setup(depth + 1); err != nil { |
| 87 | return err |
| 88 | } |
| 89 | } |
| 90 | //u.Infof("%d TaskSequential Setup tasks len=%d", depth, len(m.tasks)) |
| 91 | for i := 1; i < len(m.runners); i++ { |
| 92 | m.runners[i].MessageInSet(m.runners[i-1].MessageOut()) |
| 93 | //u.Infof("%d-%d setup msgin: %T %p", depth, i, m.runners[i], m.runners[i].MessageIn()) |
| 94 | } |
| 95 | if depth > 0 { |
| 96 | m.TaskBase.MessageOutSet(m.runners[len(m.tasks)-1].MessageOut()) |
| 97 | m.runners[0].MessageInSet(m.TaskBase.MessageIn()) |
| 98 | } |
| 99 | //u.Debugf("setup() %T in:%p out:%p", m, m.msgInCh, m.msgOutCh) |
| 100 | return nil |
| 101 | } |
| 102 | |
| 103 | func (m *TaskSequential) Add(task Task) error { |
| 104 | if m.setup { |
nothing calls this directly
no test coverage detected