(data T)
| 21 | } |
| 22 | |
| 23 | func (dt *Data[T]) Push(data T) { |
| 24 | if dt.Locker != nil { |
| 25 | dt.Lock() |
| 26 | defer dt.Unlock() |
| 27 | } |
| 28 | curValue := dt.Value |
| 29 | if log.Trace { |
| 30 | dt.Trace("push data", zap.Uint32("sequence", curValue.Sequence)) |
| 31 | } |
| 32 | curValue.Data = data |
| 33 | dt.Step() |
| 34 | } |
| 35 | |
| 36 | func (d *Data[T]) Play(ctx context.Context, onData func(*DataFrame[T]) error) (err error) { |
| 37 | d.Debug("play data track") |