func Starter(s stream.Stream) (err error) { if err = s.Write(entity.Open(s.Server()).Produce()); err == nil { s.Ring(func(b *bytes.Buffer) (done bool) { _e, e := entity.ConsumeStatic(b) if _e != nil { switch e := _e.(type) { case *entity.Stream: s.Id(e.Id) done = true default: log.Println(reflect.TypeOf(e)) } } else if e == nil { err = errors.New(fmt.Sprint("unknown entity ", string(b.Bytes()))) } else { err = e } return }, 0) } return }