func (s *stream) Downstream(i int) Hub {
	if s.base != nil && s.base.DstNode(i) != nil {
		return s.base.DstNode(i).Owner.(Hub)
	}
	return nil
}
Downstream returns upstream hub by index
package flowgraph
import (
	"github.com/vectaport/fgbase"
)
import ()
type Stream interface {
	Name() string
	SetName(name string)
	Upstream(i int) Hub
	Downstream(i int) Hub
	NumUpstream() int
	NumDownstream() int
	Init(v interface{}) Stream
	Const(v interface{}) Stream
	Sink() Stream
	IsConst() bool
	IsSink() bool
	Same(Stream) bool
	Empty() bool
	Flowgraph() Flowgraph
	Base() interface{}
}
type stream struct {
	base *fgbase.Edge
	fg   *flowgraph
}
func (s *stream) Name() string {
	return s.base.Name
}
func (s *stream) SetName(name string) {
	s.base.SetName(name)
}
func (s *stream) Upstream(i int) Hub {
	if s.base != nil && s.base.SrcNode(i) != nil {
		return s.base.SrcNode(i).Owner.(Hub)
	}
	return nil
}